Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

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

schedule-a-message-for-future-delivery page anchor

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.

1
curl -X POST 'https://comms.twilio.com/preview/Messages' \
2
--header 'Content-Type: application/json' \
3
--data '{
4
"from": {
5
"address": "<Your Purchased Twilio Phone Number>",
6
"channel": "SMS"
7
},
8
"to": [
9
{
10
"address": "+19143188062",
11
"channel": "PHONE",
12
"variables": {
13
"firstName": "Darth",
14
"lastName": "Vader"
15
}
16
}
17
],
18
"content": {
19
"text": "Hello Luke, I am your father, {{firstName}} {{lastName}}."
20
},
21
"schedule": {
22
"sendAt": ["2025-03-19T09:30:00Z"]
23
}
24
}' \
25
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

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