Creating custom bindings for Azure Functions
Tags: azure, dotnet, serverless, cloud
Published: 2019-09-11 01:28:36

> This article is part of [#ServerlessSeptember]( https://dev.to/azure/serverless-september-content-collection-2fhb). You'll find other helpful articles, detailed tutorials, and videos in this all-things-Serverless content collection. New articles are published every day — that's right, every day — from community members and cloud advocates in the month of September. 

> Find out more about how Microsoft Azure enables your Serverless functions at [https://docs.microsoft.com/azure/azure-functions](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=servsept_devto-blog-cxa).

In my opinion, one of the most extraordinary features of [Azure Functions](https://azure.microsoft.com/en-us/services/functions/?WT.mc_id=devto-dotnet-cephilli) is its ability to declaratively connect to an external resource, and consume it within your function code without the needing to know very much about the underlying API. 

This concept is known as *bindings*, and with it you can interact with various external services as inputs or outputs to your serveless function. Of course, bindings are optional, and a function might have one or multiple input and/or output bindings.

Out of the box, Azure Functions provides a variety of [supported bindings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings?WT.mc_id=devto-dotnet-cephilli#supported-bindings). These allow you to easily integrate with services like [Twilio](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-twilio?WT.mc_id=devto-dotnet-cephilli), [Azure Service Bus](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus?WT.mc_id=devto-dotnet-cephilli), [SendGrid](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-sendgrid?WT.mc_id=devto-dotnet-cephilli), [Cosmos DB](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb?WT.mc_id=devto-dotnet-cephilli), or even [HTTP](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?WT.mc_id=devto-dotnet-cephilli).

However, what if you want to create a binding to a service that's not in the list of supported bindings? This might be a 3rd party service that your company relies on or maybe even an internal service you created. 

This is was such a common question that we decided to ask our friend [Matías Quaranta](https://twitter.com/Ealsur) to join us on *On .NET* to show us exactly how we can create our own custom bindings for Azure Functions. Matias was also kind enough to provide a [GitHub repository](https://github.com/ealsur/functions-extension-101) with step-by-step instructions that any of us may follow along with.

{% youtube vKrUn9qiUI8?t=58s %}

If you liked this video and would like to see some more of our .NET content, please subscribe to our [.NET Developers YouTube Channel](https://www.youtube.com/channel/UCvtT19MZW8dq5Wwfu6B0oxw).

## Useful Links
* [Azure Functions triggers and bindings concepts](https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings?WT.mc_id=devto-dotnet-cephilli)
* [Walkthrough and code samples](https://github.com/ealsur/functions-extension-101)