For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SDKsHelp CenterLog inSign up
    • Overview
  • Getting Started
    • API Mechanics
    • Quickstart
  • Guides
    • Communications API
        • Rich Content
        • Scheduling
        • Pooling
        • Sender Pools
        • Channel Fallback
    • Troubleshooting
    • Events
    • Changelog
  • Comms API Reference
LogoLogo
SDKsHelp CenterLog inSign up
On this page
  • Schedule a message for future delivery
  • Next steps
GuidesMessagingAdvanced Concepts

Scheduling messages

Was this page helpful?
Previous

Pooling

Next
Built with

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.