Overview
This article outlines the key limitations and constraints within Twilio Studio.
What You Need To Know
Rate Limits
Studio has default rate limits for creating new Executions:
- Inbound Executions (triggered by Incoming Call, Incoming Message, Incoming Conversation): 100 new Executions per second per account
- Outbound Executions (triggered by Studio's REST API): 20 new Executions per second per account
When you reach the inbound limit, your Flow will generate a 429 Too Many Requests error in the Twilio Debugger, and the Fallback URL set on your phone number will be invoked. If no Fallback URL is set, callers will hear an error message and messaging-based users will receive no reply message from the Flow.
When you reach the outbound limit via the Studio REST API, your code will receive the same 429 Too Many Requests error, in which you can back off and retry your API request.
Contact Twilio Support with your use case and projected traffic to request a rate increase.
Flow Limits
- A Flow is limited to 2,000 Widgets — publishing a Flow larger than this is not possible.
- An Execution will end after 1,000 Steps.
- An active Execution will end after 30 days.
- When creating loops that cycle through the same Widgets within a Flow, note that a loop may repeat until the 1,000 Step limit for an Execution is reached
- A Flow Execution will be stopped if the same Widget is executed 10 times in a row.
- Liquid Template Language loops are restricted to 15 iterations.
- Outbound HTTP requests from the HTTP Request widget and the Run Function widget are limited to 10 seconds.
- Simultaneous Executions, where the same contact is involved in more than one active REST API-triggered Execution, are not possible.
Frequently Asked Question
What limits are present within Studio?
Limits may be encountered when the size of a Flow, Execution rate, or Execution duration increases. Design Flows that take advantage of reusable Subflows to reduce Widget counts. Additionally, ensure that logical behavior within a Flow such as loops and repeated Widget executions conforms to the limitations listed.
Conclusion
Other Things to Watch Out For
- Sometimes Executions become stuck for Inbound Calls. Follow our best practices to avoid stuck Executions.
- Infinite loops are possible! We have a built-in Step limit, so your Execution will end after 1,000 Steps. But be careful when creating loops over a set of Widgets.