Limits and configuration information for Azure Logic Apps
This article describes the limits and configuration details for creating and running automated workflows with Azure Logic Apps. For Microsoft Flow, see Limits and configuration in Microsoft Flow.
Here are the limits for a single logic app definition:
|Actions per workflow||500||To extend this limit, you can add nested workflows as needed.|
|Allowed nesting depth for actions||8||To extend this limit, you can add nested workflows as needed.|
|Workflows per region per subscription||1,000|
|Triggers per workflow||10||When working in code view, not the designer|
|Switch scope cases limit||25|
|Variables per workflow||250|
|Characters per expression||8,192|
|Maximum size for
Run duration and retention limits
Here are the limits for a single logic app run:
|Run duration||90 days||To change this limit, see change run duration.|
|Storage retention||90 days from the run's start time||To change this limit to a value between 7 days and 90 days, see change storage retention.|
|Minimum recurrence interval||1 second|
|Maximum recurrence interval||500 days|
Change run duration and storage retention
To change the default limit to between 7 days and 90 days, follow these steps. If you need to go above the maximum limit, contact the Logic Apps team for help with your requirements.
In the Azure portal, on your logic app's menu, choose Workflow settings.
Under Runtime options, from the Run history retention in days list, choose Custom.
Enter or drag the slider for the number of days you want.
Disabling or deleting logic apps
When you disable a logic app, no new runs are instantiated. All in-progress and pending runs will continue until they finish, which might take time to complete.
When you delete a logic app, no new runs are instantiated. All in-progress and pending runs are canceled. If you have thousands of runs, cancellation might take significant time to complete.
Concurrency, looping, and debatching limits
Here are the limits for a single logic app run:
|Trigger concurrency||50 when you limit concurrency||When you turn on concurrency control for a trigger, the default limit is 25. This limit describes the maximum number of logic app instances that can run at the same time, or in parallel.|
|Maximum waiting runs||100 when you limit concurrency||When you turn on concurrency control for a trigger, the default limit is 10. This limit describes the maximum number of logic app instances that can wait to run when your logic app is already running the maximum concurrent instances.
To change the default limit to a value between 0 and 100 inclusively, see Change waiting runs limit.
|Foreach array items||100,000||This limit describes the maximum number of array items that a "for each" loop can process.
To filter larger arrays, you can use the query action.
|Foreach concurrency||50 when you limit concurrency||When you turn on concurrency control for this loop, the default limit is 20. This limit describes the maximum number of "for each" loop iterations that can run at the same time, or in parallel.|
Here are the limits for a single logic app run:
|Action: Executions per 5 minutes||300,000||The default limit is 100,000. To change the default limit, see Run your logic app in "high throughput" mode, which is in preview. Or, you can distribute the workload across more than one logic app as necessary.|
|Action: Concurrent outgoing calls||~2,500||You can reduce the number of concurrent requests or reduce the duration as necessary.|
|Runtime endpoint: Concurrent incoming calls||~1,000||You can reduce the number of concurrent requests or reduce the duration as necessary.|
|Runtime endpoint: Read calls per 5 minutes||60,000||You can distribute workload across more than one app as necessary.|
|Runtime endpoint: Invoke calls per 5 minutes||45,000||You can distribute workload across more than one app as necessary.|
|Content throughput per 5 minutes||600 MB||You can distribute workload across more than one app as necessary.|
To go above these limits in normal processing, or run load testing that might go above these limits, contact the Logic Apps team for help with your requirements.
FTP, SFTP, and SFTP-SSH limits
|FTP||50 MB||To exceed this limit, see Handle large messages with chunking. However, some connectors and APIs might not support chunking or even the default limit.|
|SFTP||50 MB||To exceed this limit, use the SFTP-SSH connector or see Handle large messages with chunking. However, some connectors and APIs might not support chunking or even the default limit.|
|SFTP-SSH||1 GB||This connector handles up to 1 GB, but transfers that data in 50 MB pieces, not 1 GB pieces.|
Here are the limits for a single HTTP request or synchronous connector call:
Some connector operations make asynchronous calls or listen for webhook requests, so the timeout for these operations might be longer than these limits. For more information, see the technical details for the specific connector and also Workflow triggers and actions.
|Outgoing request||120 seconds||For longer running operations, use an asynchronous polling pattern or an until loop.|
|Synchronous response||120 seconds||For the original request to get the response, all steps in the response must finish within the limit unless you call another logic app as a nested workflow. For more information, see Call, trigger, or nest logic apps.|
|Message size||100 MB||To work around this limit, see Handle large messages with chunking. However, some connectors and APIs might not support chunking or even the default limit.|
|Message size with chunking||1 GB||This limit applies to actions that natively support chunking or let you enable chunking in their runtime configuration. For more information, see Handle large messages with chunking.|
|Expression evaluation limit||131,072 characters||The
|Retry attempts||90||The default is 4. To change the default, use the retry policy parameter.|
|Retry max delay||1 day||To change the default, use the retry policy parameter.|
|Retry min delay||5 seconds||To change the default, use the retry policy parameter.|
Custom connector limits
Here are the limits for custom connectors that you can create from web APIs.
|Number of custom connectors||1,000 per Azure subscription|
|Number of requests per minute for each connection created by a custom connector||500 requests per connection|
|Number of logic apps with system-assigned managed identities per Azure subscription||10|
Integration account limits
Artifact limits per integration account
Here are the limits on the number of artifacts for each integration account. For more information, see Logic Apps pricing.
Use the free tier only for exploratory scenarios, not production scenarios. This tier restricts throughput and usage, and has no service-level agreement (SLA).
|EDI trading partners||25|
|EDI trading agreements||10|
|EDI trading partners||2|
|EDI trading agreements||1|
|EDI trading partners||500|
|EDI trading agreements||500|
Artifact capacity limits
|Schema||8 MB||To upload files larger than 2 MB, use the blob URI.|
|Map (XSLT file)||2 MB|
|Runtime endpoint: Read calls per 5 minutes||60,000||You can distribute the workload across more than one account as necessary.|
|Runtime endpoint: Invoke calls per 5 minutes||45,000||You can distribute the workload across more than one account as necessary.|
|Runtime endpoint: Tracking calls per 5 minutes||45,000||You can distribute the workload across more than one account as necessary.|
|Runtime endpoint: Blocking concurrent calls||~1,000||You can reduce the number of concurrent requests or reduce the duration as necessary.|
B2B protocol (AS2, X12, EDIFACT) message size
Here are the limits that apply to B2B protocols:
|AS2||50 MB||Applies to decode and encode|
|X12||50 MB||Applies to decode and encode|
|EDIFACT||50 MB||Applies to decode and encode|
Firewall configuration: IP addresses
All logic apps in the same region use the same IP address ranges. To support the calls that your logic apps directly make with HTTP, HTTP + Swagger, and other HTTP requests, set up your firewalls with all the inbound and outbound IP addresses used by the Logic Apps service, based on the regions where your logic apps exist. These addresses appear under the Inbound and Outbound headings in this section, and are sorted by region.
To support the calls that Microsoft-managed connectors make, set up your firewall with all the outbound IP addresses used by these connectors, based on the regions where your logic apps exist. These addresses appear under the Outbound heading in this section, and are sorted by region.
If you have existing configurations, please update them as soon as possible before September 1, 2018 so they include and match the IP addresses in these lists for the regions where your logic apps exist.
Logic Apps doesn't support directly connecting to Azure storage accounts through firewalls. To access these storage accounts, use either option here:
Create an integration service environment, which can connect to resources in an Azure virtual network.
If you already use API Management, you can use this service for this scenario. For more info, see Simple enterprise integration architecture.
Inbound IP addresses - Logic Apps service only
|Australia East||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Australia Southeast||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|Brazil South||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|Canada Central||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Canada East||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|Central India||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|Central US||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|East Asia||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|East US||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|East US 2||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Japan East||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|Japan West||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|North Central US||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|North Europe||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|South Central US||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|South India||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Southeast Asia||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West Central US||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|West Europe||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|West India||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West US||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|West US 2||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|UK South||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|UK West||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
Outbound IP addresses - Logic Apps service & managed connectors
|Region||Logic Apps IP||Managed connectors IP|
|Australia East||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52||184.108.40.206 - 220.127.116.11, 18.104.22.168, 22.214.171.124|
|Australia Southeast||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52||184.108.40.206, 220.127.116.11 - 18.104.22.168, 22.214.171.124|
|Brazil South||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52||184.108.40.206, 220.127.116.11, 18.104.22.168 - 22.214.171.124|
|Canada Central||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52||184.108.40.206 - 220.127.116.11, 18.104.22.168 - 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124|
|Canada East||126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52||184.108.40.206 - 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Central India||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199, 188.8.131.52 - 184.108.40.206, 220.127.116.11|
|Central US||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|East Asia||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|East US||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|East US 2||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|Japan East||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199, 188.8.131.52 - 184.108.40.206, 220.127.116.11|
|Japan West||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|North Central US||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|North Europe||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|South Central US||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199, 188.8.131.52 - 184.108.40.206, 220.127.116.11|
|South India||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199, 188.8.131.52 - 184.108.40.206, 220.127.116.11|
|Southeast Asia||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11|
|West Central US||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West Europe||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11||18.104.22.168 - 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West India||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11||18.104.22.168 - 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West US||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11||18.104.22.168 - 22.214.171.124, 126.96.36.199, 188.8.131.52|
|West US 2||184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206||220.127.116.11 - 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168|
|UK South||22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199||188.8.131.52, 184.108.40.206 - 220.127.116.11|
|UK West||18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11, 18.104.22.168, 22.214.171.124||126.96.36.199 - 188.8.131.52, 184.108.40.206|