This product is in Private Beta and is under active development. Please email email@example.com for access.
The Throttle feature in Automations restricts the number of events that can trigger notification automations. This avoids overwhelming users with messages pertaining to the same event. With throttling, any events that exceed a predefined limit will be dropped for a specific duration of time and will not pass to the next node.
Because Throttle is a part of Automations, it can apply across channels (eg. email, SMS, chat, in-app inbox, push) and providers (eg. Twilio, Sendgrid, email SMTP, Slack, MS Teams, WeChat).
Example Use Cases
When sending alert notifications, you may want to limit the number of notifications sent to a user in a given period to avoid bombarding them with too many alerts.
If you are running an email campaign, you may want to limit the number of emails sent to a customer within a specific timeframe to avoid overwhelming them with too many messages.
In general, a Throttle step can be useful in any situation where you need to control the flow of data or limit the frequency of an action.
Courier will allow you to specify what next steps should be taken when the throttle is triggered, and what steps should be taken when the throttle is not triggered.
Creating A Throttle Step
To create a Throttle, use the "Throttle" action, then fill out details in the step node.
Specify maximum number of events to allow through the throttle, and the time period to throttle by.
You have the options to throttle by:
|Apply throttling by using
user_id coming from
|Let Courier decide the throttle parameter.
|You can use arbitary value available in your
run_context by referencing it like
Note: This is a beta feature, and we are working on adding more options for throttling.
Below is an example of a throttle step that will allow 2 event to pass through for a given user in a 24 hour period before throttling.
In this example, the throttle is set to be applied by
user_id. You have to supply
user_id in the following manner to throttle the user.
curl --request POST \
--url https://api.courier.com/automations/<automation_template_id>/invoke \
--header 'Authorization: Bearer <replace_with_api_key>' \
--header 'Content-Type: application/json' \