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.