Connectors for Azure Logic Apps
Connectors provide quick access from Azure Logic Apps to events, data, and actions across other apps, services, systems, protocols, and platforms. By using connectors in your logic apps, you expand the capabilities for your cloud and on-premises apps to perform tasks with the data that you create and already have.
While Logic Apps offers hundreds of connectors, this article describes the popular and more commonly used connectors that are successfully used by thousands of apps and millions of executions for processing data and information. To find the full list of connectors and each connector's reference information, such as triggers, actions, and limits, review the connector reference pages under Connectors overview. Also, learn more about triggers and actions, Logic Apps pricing model, and Logic Apps pricing details.
Tip
To integrate with a service or API that doesn't have connector, you can either directly call the service over a protocol such as HTTP, or create a custom connector.
Connector types
Connectors are available as built-in triggers and actions or as managed connectors.
Built-in: Built-in triggers and actions run natively in Azure Logic Apps so they don't require creating a connection before you use them and help you perform these tasks for your logic apps:
Run on custom and advanced schedules.
Organize and control your logic app's workflow, for example, loops and conditions, and also to work with variables and data operations.
Communicate with other endpoints.
Receive and respond to requests.
Call Azure functions, Azure API Apps (Web Apps), your own APIs managed and published with Azure API Management, and nested logic apps that can receive requests.
Managed connectors: Deployed and managed by Microsoft, these connectors provide triggers and actions for accessing cloud services, on-premises systems, or both, including Office 365, Azure Blob Storage, SQL Server, Dynamics, Salesforce, SharePoint, and more. Some connectors specifically support business-to-business (B2B) communication scenarios and require an integration account that's linked to your logic app. Before using certain connectors, you might have to first create connections, which are managed by Azure Logic Apps.
For example, if you're using Azure BizTalk Server, your logic apps can connect to and communicate with your BizTalk Server by using the BizTalk Server on-premises connector. You can then extend or perform BizTalk-like operations in your logic apps by using the integration account connectors.
Connectors are classified as either Standard or Enterprise. Enterprise connectors provide access to enterprise systems such as SAP, IBM MQ, and IBM 3270 for an additional cost. To determine whether a connector is Standard or Enterprise, see the technical details in each connector's reference page under Connectors overview.
You can also identify connectors by using these categories, although some connectors can exist in multiple categories. For example, SAP is an Enterprise connector and an on-premises connector:
Category Description Managed connectors Create logic apps that use services such as Azure Blob Storage, Office 365, Dynamics, Power BI, OneDrive, Salesforce, SharePoint Online, and many more. On-premises connectors After you install and set up the on-premises data gateway, these connectors help your logic apps access on-premises systems such as SQL Server, SharePoint Server, Oracle DB, file shares, and others. Integration account connectors Available when you create and pay for an integration account, these connectors transform and validate XML, encode and decode flat files, and process business-to-business (B2B) messages with AS2, EDIFACT, and X12 protocols.
Built-in
Logic Apps provides built-in triggers and actions so that you can create schedule-based workflows, help your logic apps communicate with other apps and services, control the workflow through your logic apps, and manage or manipulate data.
Name | Description |
---|---|
![]() Schedule |
- Run a logic app on a specified recurrence, ranging from basic to advanced schedules with the Recurrence trigger. - Run a logic app that needs to handle data in continuous chunks with the Sliding Window trigger. - Pause your logic app for a specified duration with the Delay action. - Pause your logic app until the specified date and time with the Delay until action. |
![]() Batch |
- Process messages in batches with the Batch messages trigger. - Call logic apps that have existing batch triggers with the Send messages to batch action. |
![]() HTTP |
Call HTTP or HTTPS endpoints with triggers and actions for HTTP. Other HTTP built-in triggers and actions include HTTP + Swagger built-in connector and HTTP + Webhook. |
![]() Request |
- Make your logic app callable from other apps or services, trigger on Event Grid resource events, or trigger on responses to Azure Security Center alerts with the Request trigger. - Send responses to an app or service with the Response action. |
![]() Azure API Management |
Call triggers and actions defined by your own APIs that you manage and publish with Azure API Management. |
![]() Azure App Services |
Call Azure API Apps, or Web Apps, hosted on Azure App Service. The triggers and actions defined by these apps appear like any other first-class triggers and actions when Swagger is included. |
![]() Azure Logic Apps |
Call other logic apps that start with the Request trigger. |
Run code from logic apps
Logic Apps provides built-in actions for running your own code in your logic app's workflow:
Name | Description |
---|---|
![]() Azure Functions |
Call Azure functions that run custom code snippets (C# or Node.js) from your logic apps. |
Control workflow
Logic Apps provides built-in actions for structuring and controlling the actions in your logic app's workflow:
Name | Description |
---|---|
![]() Condition |
Evaluate a condition and run different actions based on whether the condition is true or false. |
![]() For each |
Perform the same actions on every item in an array. |
[![]() Scope][scope-doc] |
Group actions into scopes, which get their own status after the actions in the scope finish running. |
![]() Switch |
Group actions into cases, which are assigned unique values except for the default case. Run only that case whose assigned value matches the result from an expression, object, or token. If no matches exist, run the default case. |
![]() Terminate |
Stop an actively running logic app workflow. |
![]() Until |
Repeat actions until the specified condition is true or some state has changed. |
Manage or manipulate data
Logic Apps provides built-in actions for working with data outputs and their formats:
Name | Description |
---|---|
![]() Data Operations |
Perform operations with data: - Compose: Create a single output from multiple inputs with various types. |
![]() Date Time |
Perform operations with timestamps: - Add to time: Add the specified number of units to a timestamp. |
![]() Variables |
Perform operations with variables: - Append to array variable: Insert a value as the last item in an array stored by a variable. |
Managed connectors
Logic Apps provides these popular Standard connectors for automating tasks, processes, and workflows with these services or systems:
Name | Description |
---|---|
![]() Azure Service Bus |
Manage asynchronous messages, sessions, and topic subscriptions with the most commonly used connector in Logic Apps. |
![]() SQL Server |
Connect to your SQL Server on premises or an Azure SQL Database in the cloud so that you can manage records, run stored procedures, or perform queries. |
![]() Azure Blob Storage |
Connect to your storage account so that you can create and manage blob content. |
![]() Office 365 Outlook |
Connect to your work or school email account so that you can create and manage emails, tasks, calendar events and meetings, contacts, requests, and more. |
![]() SFTP-SSH |
Connect to SFTP servers that you can access from the internet by using SSH so that you can work with your files and folders. |
![]() SharePoint Online |
Connect to SharePoint Online so that you can manage files, attachments, folders, and more. |
![]() Azure Queues |
Connect to your Azure Storage account so that you can create and manage queues and messages. |
![]() FTP |
Connect to FTP servers you can access from the internet so that you can work with your files and folders. |
![]() Azure Event Hubs |
Consume and publish events through an Event Hub. For example, get output from your logic app with Event Hubs, and then send that output to a real-time analytics provider. |
![]() Salesforce |
Connect to your Salesforce account so that you can create and manage items such as records, jobs, objects, and more. |
On-premises connectors
Before you can create a connection to an on-premises system, you must first download, install, and set up an on-premises data gateway. This gateway provides a secure communication channel without having to set up the necessary network infrastructure.
Here are some commonly used Standard connectors that Logic Apps provides for accessing data and resources in on-premises systems. For the on-premises connectors list, see Supported data sources.
Integration account connectors
Logic Apps provides Standard connectors for building business-to-business (B2B) solutions with your logic apps when you create and pay for an integration account, which is available through the Enterprise Integration Pack (EIP) in Azure. With this account, you can create and store B2B artifacts such as trading partners, agreements, maps, schemas, certificates, and so on. To use these artifacts, associate your logic apps with your integration account. If you currently use BizTalk Server, these connectors might seem familiar already.
Enterprise connectors
Logic Apps provides these Enterprise connectors for accessing enterprise systems, such as SAP and IBM MQ:
Triggers and action types
Connectors can provide triggers, actions, or both. A trigger is the first step in any logic app, usually specifying the event that fires the trigger and starts running your logic app. For example, the FTP connector has a trigger that starts your logic app "when a file is added or modified". Some triggers regularly check for the specified event or data and then fire when they detect the specified event or data. Other triggers wait but fire instantly when a specific event happens or when new data is available. Triggers also pass along any required data to your logic app. Your logic app can read and use that data throughout the workflow. For example, the Office 365 Outlook connector has a trigger, "When a new email arrives", that can pass the content from that email into your logic app's workflow.
After a trigger fires, Azure Logic Apps creates an instance of your logic app and starts running the actions in your logic app's workflow. Actions are the steps that follow the trigger and perform tasks in your logic app's workflow. For example, you can create a logic app that gets customer data from a SQL database and process that data in later actions.
Here are the general kinds of triggers that Azure Logic Apps provides:
Recurrence trigger: This trigger runs on a specified schedule and isn't tightly associated with a particular service or system.
Polling trigger: This trigger regularly polls a specific service or system based on the specified schedule, checking for new data or whether a specific event happened. If new data is available or the specific event happened, the trigger creates and runs a new instance of your logic app, which can now use the data that's passed as input.
Push trigger: This trigger waits and listens for new data or for an event to happen. When new data is available or when the event happens, the trigger creates and runs new instance of your logic app, which can now use the data that's passed as input.
Connector configuration
Each connector's triggers and actions provide their own properties for you to configure. Many connectors also require that you first create a connection to the target service or system and provide authentication credentials or other configuration details before you can use a trigger or action in your logic app. For example, before you can access and working with your Office 365 Outlook email account, you must authorize a connection to that account.
For connectors that use Azure Active Directory (Azure AD) OAuth, creating a connection means signing into the service, such as Office 365, Salesforce, or GitHub, where your access token is encrypted and securely stored in an Azure secret store. Other connectors, such as FTP and SQL, require a connection that has configuration details, such as the server address, username, and password. These connection configuration details are also encrypted and securely stored. Learn more about encryption in Azure.
Connections can access the target service or system for as long as that service or system allows. For services that use Azure AD OAuth connections, such as Office 365 and Dynamics, Azure Logic Apps refreshes access tokens indefinitely. Other services might have limits on how long Azure Logic Apps can use a token without refreshing. Generally, some actions invalidate all access tokens, such as changing your password.
Recurrence behavior
The behavior for recurring built-in triggers that run natively in Azure Logic Apps, such as the Recurrence trigger, differs from the behavior for recurring connection-based triggers where you need to create a connection first, such as the SQL connector trigger.
However, for both kinds of triggers, if a recurrence doesn't specify a specific start date and time, the first recurrence runs immediately when you save or deploy the logic app, despite your trigger's recurrence setup. To avoid this behavior, provide a start date and time for when you want the first recurrence to run.
Recurrence for built-in triggers
Recurring built-in triggers honor the schedule that you set, including any time zone that you specify. However, if a recurrence doesn't specify any other advanced scheduling options such as specific times to run future recurrences, those recurrences are based on the last trigger execution. As a result, the start times for those recurrences might drift due to factors such as latency during storage calls.
To make sure that your logic app runs at your specified start time and doesn't miss a recurrence, especially when the frequency is in days or longer, try these solutions:
Make sure that you select a time zone so that your logic app runs at your specified start time.
When scheduling jobs, Logic Apps puts the message for processing into the queue and specifies when that message becomes available, based on the UTC time when the last job ran and the UTC time when the next job is scheduled to run. By specifying a time zone, the UTC time for your logic app also shifts to counter the seasonal time change.
Use the Recurrence trigger and provide a start date and time for the recurrence plus the specific times for when to run subsequent recurrences by using the properties named At these hours and At these minutes, which are available only for the Day and Week frequencies.
Use the Sliding Window trigger, rather than the Recurrence trigger.
Recurrence for connection-based triggers
In recurring connection-based triggers, such as SQL or SFTP-SSH, the schedule isn't the only driver that controls execution, and the time zone only determines the initial start time. Subsequent runs depend on the recurrence schedule, the last trigger execution, and other factors that might cause run times to drift or produce unexpected behavior, for example:
Whether the trigger accesses a server that has more data, which the trigger immediately tries to fetch.
Any failures or retries that the trigger incurs.
Latency during storage calls.
- Other factors that can affect when the next run time happens.
To resolve or work around these problems, try these solutions:
Use the Recurrence trigger so that you can specify a time zone, a start date and time, plus the specific times when to run subsequent recurrences by using the properties named At these hours and At these minutes, which are available only for the Day and Week frequencies.
To avoid missed recurrences, use the Sliding Window trigger, rather than the Recurrence trigger.
Custom APIs and connectors
To call APIs that run custom code or aren't available as connectors, you can extend the Logic Apps platform by creating custom API Apps. You can also create custom connectors for any REST or SOAP-based APIs, which make those APIs available to any logic app in your Azure subscription. To make custom API Apps or connectors public for anyone to use in Azure, you can submit connectors for Microsoft certification.
Get ready for deployment
Although you create connections from within a logic app, connections are separate Azure resources with their own resource definitions. To review these connection resource definitions, download your logic app from Azure into Visual Studio, which is the easiest way to create a valid parameterized logic app template that's mostly ready for deployment.
Block creating connections
If your organization doesn't permit connecting to specific resources by using their connectors in Azure Logic Apps, you can block the capability to create those connections for specific connectors in logic app workflows by using Azure Policy. For more information, see Block connections created by specific connectors in Azure Logic Apps.
Known issues
Error: BadGateway. Client request id: '{GUID}'
This error results from updating the tags on a logic app where one or more connections don't support Azure Active Directory (Azure AD) OAuth authentication, such as SFTP ad SQL, breaking those connections. To prevent this behavior, avoid updating those tags.