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.
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.
Connectors are available as built-in triggers and actions or as managed connectors.
Built-in: Built-in triggers and actions are "native" to Azure Logic Apps 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 Microsoft 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 cross multiple categories. For example, SAP is an Enterprise connector and an on-premises connector:
Connectors 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.
If you want to use the Gmail connector, only G-Suite business accounts can use this connector without restriction in logic apps. If you have a Gmail consumer account, you can use this connector with only specific Google-approved services, or you can create a Google client app to use for authentication with your Gmail connector. For more information, see Data security and privacy policies for Google connectors in Azure Logic Apps.
Connect from an integration service environment
For logic apps that need direct access to resources in an Azure virtual network, you can create an isolated integration service environment (ISE) where you can build, deploy, and run your logic apps on dedicated resources. In the Logic App Designer, when you browse the connectors that you want to use for logic apps in an ISE, a CORE label appears on built-in triggers and actions, while the ISE label appears on some connectors:
CORE: Built-in triggers and actions with this label run in the same ISE as your logic apps, for example:
ISE: Managed connectors with this label run in the same ISE as your logic apps, for example:
If you have an on-premises system that's connected to an Azure virtual network, an ISE lets your logic apps directly access that system without the on-premises data gateway. Instead, you can either use that system's ISE connector if available, an HTTP action, or a custom connector. For on-premises systems that don't have ISE connectors, use on-premises data gateway. To review available ISE connectors, see ISE connectors.
All other connectors without the CORE or ISE label, which you can continue to use, run in the global, multi-tenant Logic Apps service, for example:
Logic apps that run in an ISE and their connectors, regardless where those connectors run, follow a fixed pricing plan versus the consumption-based pricing plan. For more information, see these pages:
- Logic Apps pricing model
- Logic Apps pricing details
- Connect to Azure virtual networks from Azure Logic Apps
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.
- 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.
- Process messages in batches with the Batch messages trigger.
- Call logic apps that have existing batch triggers with the Send messages to batch action.
- 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.
Call triggers and actions defined by your own APIs that you manage and publish with Azure API Management.
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.|
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:
Call Azure functions that run custom code snippets (C# or Node.js) from your logic apps.
Logic Apps provides built-in actions for structuring and controlling the actions in your logic app's workflow:
Evaluate a condition and run different actions based on whether the condition is true or false.
Perform the same actions on every item in an array.
Group actions into scopes, which get their own status after the actions in the scope finish running.
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.
Stop an actively running logic app workflow.
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:
Perform operations with data:
- Compose: Create a single output from multiple inputs with various types.
- Create CSV table: Create a comma-separated-value (CSV) table from an array with JSON objects.
- Create HTML table: Create an HTML table from an array with JSON objects.
- Filter array: Create an array from items in another array that meet your criteria.
- Join: Create a string from all items in an array and separate those items with the specified delimiter.
- Parse JSON: Create user-friendly tokens from properties and their values in JSON content so that you can use those properties in your workflow.
- Select: Create an array with JSON objects by transforming items or values in another array and mapping those items to specified properties.
Perform operations with timestamps:
- Add to time: Add the specified number of units to a timestamp.
- Convert time zone: Convert a timestamp from the source time zone to the target time zone.
- Current time: Return the current timestamp as a string.
- Get future time: Return the current timestamp plus the specified time units.
- Get past time: Return the current timestamp minus the specified time units.
- Subtract from time: Subtract a number of time units from a timestamp.
Perform operations with variables:
- Append to array variable: Insert a value as the last item in an array stored by a variable.
- Append to string variable: Insert a value as the last character in a string stored by a variable.
- Decrement variable: Decrease a variable by a constant value.
- Increment variable: Increase a variable by a constant value.
- Initialize variable: Create a variable and declare its data type and initial value.
- Set variable: Assign a different value to an existing variable.
Logic Apps provides these popular Standard connectors for automating tasks, processes, and workflows with these services or systems:
Manage asynchronous messages, sessions, and topic subscriptions with the most commonly used connector in Logic Apps.
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.
Connect to your storage account so that you can create and manage blob content.
Connect to your Office 365 email account so that you can create and manage emails, tasks, calendar events and meetings, contacts, requests, and more.
Connect to SFTP servers that you can access from the internet by using SSH so that you can work with your files and folders.
Connect to SharePoint Online so that you can manage files, attachments, folders, and more.
Connect to your Dynamics 365 account so that you can create and manage records, items, and more.
Connect to your Azure Storage account so that you can create and manage queues and messages
Connect to FTP servers you can access from the internet so that you can work with your files and folders.
Connect to your on-premises file share so that you can create and manage files.
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.
Monitor events published by an Event Grid, for example, when Azure resources or third-party resources change.
Connect to your Salesforce account so that you can create and manage items such as records, jobs, objects, and more.
Connect to your Twitter account so that you can manage tweets, followers, your timeline, and more. Save your tweets to SQL, Excel, or SharePoint.
Here are some commonly used Standard connectors that Logic Apps provides for accessing data and resources in on-premises systems. 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.
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.
Logic Apps provides these Enterprise connectors for accessing enterprise systems, such as SAP and IBM MQ:
For logic apps that you create and run an isolated integration service environment (ISE), the Logic App Designer identifies built-in triggers and actions that run in your ISE by using the CORE label. Managed connectors that run in an ISE display the ISE label, while connectors that run in the global, multi-tenant Logic Apps service don't display either label. This list shows the connectors that currently have ISE versions:
For more information, see these topics:
- Access to Azure virtual network resources from Azure Logic Apps
- Logic Apps pricing model
- Connect to Azure virtual networks from Azure Logic Apps
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 Twitter connector has a trigger, "When a new tweet is posted", that passes the tweet's content 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.
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, you must authorize a connection to a Twitter account for accessing data or to post on your behalf.
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.
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.
Logic apps that you deploy and run in an integration service environment (ISE) can directly access resources in an Azure virtual network. If you have custom connectors that require the on-premises data gateway, and you created those connectors outside an ISE, logic apps in an ISE can also use those connectors.
Custom connectors created within an ISE don't work with the on-premises data gateway. However, these connectors can directly access on-premises data sources that are connected to an Azure virtual network hosting the ISE. So, logic apps in an ISE most likely don't need the data gateway when communicating with those resources.
For more information about creating ISEs, see Connect to Azure virtual networks from Azure Logic Apps.
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.