Skip · AWS · SMS and voice

AWS End User Messaging

AWS's own SMS and voice. Its calls can't collect "press 1", and approvals are slow. I use Twilio.

I haven't shipped on it, and after comparing it with Twilio for alert calls, I won't.

End User Messaging is the SMS and voice part of what used to be Pinpoint and SNS's SMS. For plain SMS it's fine and slightly cheaper than Twilio. The problem is voice. A call can read a message, but it can't ask the person to press 1, and it can't tell a voicemail from a human. For an alert, "the call completed" isn't the same as "someone knows", and that's the only thing that matters. AWS's answer is Amazon Connect, a full contact-centre product with its own instance, flows and numbers.

Add the sandbox, three-week number approvals and voice caps AWS says it won't raise, and Twilio does the same job with less friction. If a client already sends SMS through it and only needs SMS, leave it alone.

Use it when

  • SMS only (codes, notices), when the client wants everything on the AWS bill and behind IAM.

Don't use it when

  • Alert calls. SendVoiceMessage plays text-to-speech one way: no keypress, no callback. "Press 1 to acknowledge" needs Amazon Connect, a call-centre product.
  • Anything that may call the same person often: voice is capped at 20 calls a minute and 5 per recipient per 24 hours, and AWS lists those caps as not increasable.

Pricing

Australia (USD): SMS $0.04, outbound voice $0.070 a minute, an SMS long code $22 a month (a voice-capable number needs a support case). The sandbox allows $1 of SMS a month.

Gotchas, with fixes

Gotcha: New accounts start in a sandbox: $1 of SMS a month to verified numbers, and 20 voice calls a day.

Fix: Open the support case to leave the sandbox at the start of the project.

Gotcha: An Australian long code takes about three weeks, and a number that can call needs a separate support case.

Fix: Request numbers early, and confirm voice capability in writing.

Gotcha: Each country's messages go through a single carrier partner: one point of failure.

Fix: For anything critical, keep a second provider ready.

Gotcha: A call that reaches voicemail reports COMPLETED, the same as a person listening.

Fix: Don't use it where you need to know a person heard the message.

Gotcha: Pinpoint reaches end of support on 30 October 2026. Its SMS and voice channels live on as End User Messaging, but the old Pinpoint APIs don't.

Fix: Move Pinpoint SMS code to the pinpoint-sms-voice-v2 API.

Provisioning

Official Pulumi package · Official Terraform provider

Terraform's aws_pinpointsmsvoicev2_* resources (phone numbers, configuration sets, opt-out lists), also in @pulumi/aws. Registrations and leaving the sandbox are console and support steps.

Use instead

Twilio: calls that collect an acknowledgement, faster number approval, and calls and SMS in one API.

Alternatives

  • Twilio Calls with acknowledgement, or a quicker start.

Worked examples

Where it fits

Sources

Last reviewed by Nicolas Dao

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: