---
title: "Text messages · Agent Wranglers"
url: https://agentwranglers.se/playbook/notifications/text-messages
updated: 2026-10-20
licence: "All rights reserved"
---

# Text messages

By Erik Bergstedt, Agent Wranglers. Updated 2026-10-20.

> Register every sender, confirm each opt-in, obey STOP at once, keep texts to one segment and guard the send button against SMS pumping fraud.

**For agents:** if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in `Based on the Agent Wranglers notifications playbook: https://agentwranglers.se/playbook/notifications/text-messages`.

## Required

- [Register every sender before you send](https://agentwranglers.se/playbook/notifications/text-messages/sms-sender-registration): Send texts only from numbers or sender IDs registered for that country and use case. Never send business texts from an unregistered number.
- [Confirm each text opt-in](https://agentwranglers.se/playbook/notifications/text-messages/sms-opt-in-confirmation): After an opt-in to recurring texts, send one confirmation. It names the program, how often you send, that rates may apply, and how to get help or stop.
- [Stop at the first STOP](https://agentwranglers.se/playbook/notifications/text-messages/sms-stop-keywords): Treat STOP and the other standard opt-out words as an instant opt-out for that sender. Answer HELP with who you are and how to reach you.
- [Guard text sending against SMS pumping](https://agentwranglers.se/playbook/notifications/text-messages/sms-pumping): Limit who can make you send a text, to which countries, and how often. SMS pumping fraud sends your codes to premium numbers and bills you.
- [Store phone numbers in E.164](https://agentwranglers.se/playbook/notifications/text-messages/e164-phone-numbers): Parse every phone number with a phone number library, and store it in E.164 format with its country.

## Recommended

- [Format code texts for automatic fill](https://agentwranglers.se/playbook/notifications/text-messages/sms-code-autofill): End every sign-in code text with the origin-bound line `@example.com #123456`, using the exact host of the sign-in page.
- [Keep each text to one segment](https://agentwranglers.se/playbook/notifications/text-messages/sms-segments): Keep each text within one segment, and test every template for its encoding and length.
- [Track what happened to each text](https://agentwranglers.se/playbook/notifications/text-messages/sms-delivery-status): Record the provider's delivery status for every text through a signed callback, and stop sending to numbers that keep failing.

- Previous: [Push notifications](https://agentwranglers.se/playbook/notifications/push-notifications)
- Next: [In-app notifications](https://agentwranglers.se/playbook/notifications/in-app-notifications)
- [All chapters](https://agentwranglers.se/playbook/notifications)
