Scheduling messages

Twilio Communications API lets you schedule messages for future delivery to coordinate bulk sends or time-sensitive communications. You can use the schedule parameter to specify when messages should be sent, including complex scheduling rules.

Schedule a message for future delivery

To schedule a message, include the schedule object in your API request. The sendAt field accepts an array of date-time expressions, which are intersected to create a composite scheduling rule. Twilio optimizes the calculated send time within the constrains defined by the rules you provide.

Use date-time expressions without a time zone to allow Twilio to localize the schedule to each recipientโ€™s time zone. The time zone will be determined from the communication address when possible, otherwise UTC (Zulu) is used.

$curl -X POST 'https://comms.twilio.com/preview/Messages' \
>--header 'Content-Type: application/json' \
>--data '{
> "from": {
> "address": "<Your Purchased Twilio Phone Number>",
> "channel": "SMS"
> },
> "to": [
> {
> "address": "+19143188062",
> "channel": "PHONE",
> "variables": {
> "firstName": "Darth",
> "lastName": "Vader"
> }
> }
> ],
> "content": {
> "text": "Hello Luke, I am your father, {{firstName}} {{lastName}}."
> },
> "schedule": {
> "sendAt": ["2025-03-19T09:30:00Z"]
> }
>}' \
>-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

Next steps

Learn how Pooling lets you group multiple senders to send messages more reliably and automatically handle delivery failures.