Skip to main content
Courier integrates with a range of SMS providers. To send an SMS, the recipient profile must include a phone_number field in E.164 format:
{
  "message": {
    "to": {
      "phone_number": "+12025550156"
    },
    "template": "NOTIFICATION_TEMPLATE_ID"
  }
}
When a notification template includes an SMS channel, Courier selects the configured SMS provider based on your channel priority and routing rules. If the primary provider fails, Courier automatically fails over to backup providers when configured.

Available SMS Providers

ProviderDescription
TwilioFull-featured SMS with Messaging Services, delivery tracking, and MMS support
VonageSMS delivery via the Vonage (formerly Nexmo) API
TelnyxProgrammable SMS with config and body overrides
SinchSMS delivery via the Sinch REST API
PlivoSMS delivery via the Plivo API
MessageBirdSMS delivery via the MessageBird API
MessageMediaSMS with HMAC auth and delivery webhooks
Azure SMSSMS via Azure Communication Services
TextUsBusiness texting via the TextUs API
Africa’s TalkingSMS delivery for African markets via the Africa’s Talking API
SMSCentralSMS delivery via the SMSCentral API

SMS Provider Overrides

Overrides let you modify parts of an SMS at send time without changing your notification template. They are passed in the message payload of a Send request and applied just before Courier hands the message off to the provider. Provider overrides (message.providers.<key>.override) target a single provider and can pass through fields specific to that provider’s API. Most SMS providers support:
  • body overrides to change the message text, recipient number, or other request body fields.
  • config overrides to swap credentials or sender numbers at send time.
Each provider page documents its supported override schema.
Can’t find a provider? Send us a chat or email support@courier.com