# SDK trigger limits
Workato enforces specific limits on SDK triggers to optimize performance and ensure system stability. We apply limits to the following trigger processing functions:
- Consecutive polling in a single poll cycle when no jobs are produced
- The number of events per poll
# Consecutive polls in a single poll cycle without jobs
Without a limit, triggers can poll consecutively to retrieve valid results. The can_poll_more
boolean attribute in the SDK trigger poll response controls this behavior. Workato enforces a limit on consecutive polls in a single poll cycle when no jobs are produced.
# Throttling mechanism
Workato throttles a trigger if it polls consecutively without producing any jobs. Throttling minimizes unnecessary polling and ensures system stability. Triggers are limited to 600 consecutive polls in a single poll cycle without jobs before Workato pauses polling for 5 minutes. This threshold gradually decreases over time to 50 consecutive polls.
Workato pauses polling for 5 minutes when your trigger exceeds this limit. Polling resumes after the pause automatically and the counter continues from where it left off. Workato pauses polling again for another 5 minutes if the next poll also produces no jobs. The counter resets to zero if a poll produces jobs.
This pattern repeats until the poll cycle ends when can_poll_more
equals false. Triggers can only poll once every 5 minutes without producing jobs after reaching the limit.
# Throttling notification
Workato sends email notifications automatically when a recipe is throttled. These notifications provide relevant details and keep you informed about throttled recipes.
# Throttling notification recipients
Workato sends the following notifications about throttled recipes to specific recipients based on their role:
- Workspace admins: notifications are sent directly to the admin of the workspace where the recipe runs.
- Embedded partners: notifications are sent to the Embedded partner’s workspace email. Embedded customers do not receive these notifications.
# Throttling notification details
Workato provides notifications at two key points to keep you informed about throttled recipes. Workato sends an email that contains details about the throttling event when a recipe is throttled for the first time. This ensures you are immediately aware of any issues affecting your recipes.
Additionally, at the end of each month, Workato sends a summary email that lists all recipes throttled during that month. This email provides a comprehensive overview of throttled recipes and serves as a reminder.
# Number of events in a single poll
Without a limit, a single poll can fetch an unbounded number of records, which can result in excessive platform load. Workato limits the number of events generated from a single poll to 1,000 in SDK connector triggers.
# What counts as a poll and an event?
A poll is one request made by the trigger to check for new data from the external system. It is a single invocation of the poll block in your SDK trigger.
An event is one record in the events array returned in the response from the poll. Workato converts each event into a job. Typically, one event creates one job.
# Use pagination in your trigger
If your external API returns more than 1,000 records, you must implement pagination in your poll logic to divide the results across multiple polls.
This is typically done by:
- Setting an appropriate page size. For example,
request_page_size = 100
- Tracking an offset, timestamp, or token with the
next_poll
key - Setting
can_poll_more: true
to poll again immediately instead of waiting the default 5-minute interval
For example:
poll: lambda do |connection, input, closure, _eis, _eos|
updated_since = (closure || input['since']).to_time.utc.iso8601
request_page_size = 100
response = get("/records/endpoint").params(
updated_since: updated_since,
page_size: request_page_size
)
next_updated_since = response['data'].last['updated_at'] unless response['data'].blank?
{
events: response['data'], # Array of jobs
next_poll: next_updated_since, # Pass cursor for next poll
can_poll_more: response['total_records'] >= request_page_size # Trigger next poll immediately
}
end
If there are 10,000 records, this configuration fetches them across 100 polls. Each poll returns up to 100 records, which generate 100 events and 100 jobs. This approach meets the 1,000-event-per-poll limit.
# Limiting mechanism
Workato stops a recipe if the trigger fetches an excessive number of events in a single poll. This prevents system overload and ensures stability. Starting June 9th, 2025, triggers are limited to 1000
events in a single poll. The recipe is stopped if your trigger exceeds this limit.
# Stopped recipe notification
Workato sends email notifications automatically when a recipe is stopped. These notifications provide relevant details and keep you informed about affected recipes.
# Notification recipients
Workato sends the following notifications about stopped recipes to specific recipients based on their role:
- Workspace admins: notifications are sent directly to the admin of the workspace where the recipe runs.
- Embedded partners: notifications are sent to the Embedded partner’s workspace email. Embedded customers do not receive these notifications.
# Notification details
Workato provides notifications at two key points to keep you informed about stopped recipes due to the limit.
Workato sends an email that contains information about the recipe when a recipe is stopped for the first time. This ensures you are immediately aware of issues affecting your recipe.
Additionally, Workato sends a monthly summary email listing all affected recipes. This summary gives a complete view of impacted recipes and serves as a reminder.
# Frequently asked questions
# Does the limit apply to total events over time?
No. The limit applies to each individual poll, not the total number of events processed across time.
# What if my trigger needs to process 100,000 events?
You can process them across multiple polls. For example, use 100 polls with 1,000 events each.
Last updated: 6/4/2025, 4:52:55 PM