Custom connectors overview

Without writing any code, you can build workflows and apps with Azure Logic Apps, Microsoft Flow, and PowerApps. To help you integrate your data and business processes, these services offer 180+ connectors - for Microsoft services and products, as well as other services, like GitHub, Salesforce, Twitter, and more.

Sometimes though, you might want to call APIs, services, and systems that aren't available as prebuilt connectors. To support more tailored scenarios, you can build custom connectors with their own triggers and actions. These connectors are function-based - data is returned based on calling specific functions in the underlying service. The following diagram shows a custom connector for an API that detects sentiment in text. We'll learn more about this scenario shortly.

Conceptual overview for a Web API, custom connector, and logic app

This topic is the entry point to a set of basic and advanced tutorials on custom connectors. The following diagram shows the high-level tasks involved in creating and using custom connectors:

Custom connector authoring steps

You can read more about these steps later in this topic.

Prerequisites

  • To get started with custom connectors, you need one of the following subscriptions and a basic understanding of how to create logic apps, flows, or apps:
  • To follow the tutorials in this series, you need an API key for the Cognitive Services Text Analytics API we use in our examples
  • Additional prerequisites are listed in subsequent tutorials

API scenario for our basic tutorial series

In this tutorial series, we use the Cognitive Services Text Analytics API in our examples. Microsoft already provides a connector for this API, but we show you how to build a basic version so you can understand the custom connector life-cycle.

The connector you build exposes the Text Analytics Sentiment API, which takes text input and returns the sentiment score (0 to 1) for the text. You then build a logic app, flow, or app that uses this score. The example is pretty basic, but you learn a lot in the process, and it's easy to see how custom connectors can enable complex behaviors.

Get an API key

The Text Analytics API uses an API key to authenticate users. When you create a connection to the API from a custom connector, you specify this key. You can get an API key in one of two ways:

  • Request an API key to try out the API, which doesn't require an Azure subscription.

  • Add the Text Analytics API to your Azure subscription. If you add the API to your subscription, get the API key in the following way: choose Keys then copy one of the keys:

    Get API key

Starting the tutorial series

We recommend reading the rest of this topic for more details on the custom connector life-cycle, but you can jump into the tutorial series if you're ready to build a connector. Where you go next depends on what service you're using:

Overview of the custom connector life-cycle

Alright, you're still with us! In this section, we provide a little more detail on each of the steps in the life-cycle, with links out to more information.

1. Build and secure your API

A custom connector is a wrapper around a REST API (Logic Apps also support SOAP APIs) that lets an underlying service talk to Logic Apps, Microsoft Flow, or PowerApps. So first, you need a fully functioning API before you create a custom connector.

You can use any language and platform for your API, as long as it's made available as a REST API or SOAP API. Here are a few examples:

  • Publicly available APIs like Spotify, Slack, Rackspace, and so on

  • An API that you create and deploy to any cloud hosting provider, such as Azure, Heroku, Google Cloud, and more

  • A custom line-of-business API that's deployed to your network. You can connect to the API if it's available over the public internet, or you can connect to it through a gateway (currently available in Microsoft Flow and PowerApps).

For Microsoft technologies, we recommend one of these platforms:

Use one of these standard authentication methods for your APIs and connectors (Azure Active Directory is recommended):

You can set up Azure AD authentication for your API in the Azure portal so you don't have to implement authentication through code. Or, you can require and enforce authentication through your API's code. For more information about Azure AD for custom connectors, see Secure your API and connector with Azure AD.

2. Describe the API and define the custom connector

If you have an API with some type of authenticated access, the next thing to consider is how you describe your API's interface and operations so that Logic Apps, Microsoft Flow, or PowerApps can communicate with your API. After you decide on how to describe the API, you create the connector, which registers it with the appropriate service(s).

Use one of the following approaches to describe your API:

OpenAPI definitions and Postman collections use different formats, but both are language-agnostic, machine-readable documents that describe your API's operations and parameters. You can generate these documents from various tools, based on the language and platform used by your API. Behind the scenes, Logic Apps, Flow, and PowerApps use OpenAPI to define connectors.

3. Use your connector in a logic app, flow, or PowerApps app

You use your custom connector like you use Microsoft-managed connectors. You create a connection to your API, and call any operations that the API provides in the same way that you call operations for Microsoft-managed connectors.

Connectors you create in Microsoft Flow or PowerApps can be used in both services. Connectors you create in Logic Apps cannot be used directly in the other services. That said, you can easily recreate a connector by using the same OpenAPI definition or Postman collection you used to create the connector.

For more information, see the appropriate tutorial:

4. Share your connector

You can share your connector with users in your organization in the same way that you share resources in Logic Apps, Microsoft Flow, or PowerApps. Although sharing is optional, you might have scenarios where you want to share your connectors with other users.

For more information, see Share custom connectors in your organization.

5. Certify your connector

To optionally share your connector with all users in Logic Apps, Flow, and PowerApps, submit your connector for Microsoft certification. During this process, Microsoft reviews your connector, checks for technical and content compliance, and validates functionality for Logic Apps, Flow, and PowerApps.

For more information, see Submit your connectors for Microsoft certification.

Advanced tutorials

The following tutorials provide more detail for specific custom connector scenarios:

Next steps