Place contacts in “Stopped” (and handle opt-ins) in a few steps
If you just need the essentials, follow this:- Understand what Stopped means: no outbound, inbound allowed, groups removed
- Use channel-managed opt-outs when available (provider keywords like STOP/UNSUBSCRIBE)
- If not available, build flow-managed opt-out handling and set Status = Stopped
- Plan re-subscription: inbound messages can reactivate contacts, but groups won’t be restored automatically
- Use an opt-in flow to confirm intent and re-add contacts to the right groups
Step-by-Step Process
Depending on the channel type (for example, Twilio), contacts may be automatically placed in the Stopped folder when they opt out of receiving messages.
Stopped contacts are:
- removed from all groups
- unable to receive outbound messages
- still able to send inbound messages to opt back in
Using the Stopped status is a best practice for managing opt-outs while respecting user choice.
Some channels provide built-in opt-out keywords (such as STOP, NO, UNSUBSCRIBE).
When a contact sends one of these keywords:
- RapidPro automatically sets their status to Stopped
- the contact is removed from all groups
- outbound messaging to that contact is disabled
If your channel does not support automatic opt-out keywords, you should build opt-out handling directly into your flows.
This is considered best practice.
Example: Opt-out from a newsletter flow
- Ask for confirmation: Send a message such as “Do you want to continue receiving our newsletter? Reply YES or NO.”
- Detect the opt-out response: Use Wait for Response with rules to detect an opt-out keyword such as NO.
- Update contact status to Stopped: Use Update Contact to set Status = Stopped.
Once updated, the contact is placed in the Stopped folder, removed from all groups, and will no longer receive messages.
Unlike Blocked contacts, Stopped contacts can opt back in.
If a stopped contact sends an inbound message:
- they are automatically changed back to Active
- they are not automatically re-added to groups
| Status | Can receive messages | Can send messages | Can auto-reactivate | Typical use |
|---|---|---|---|---|
| Stopped | ❌ No | ✅ Yes | ✅ Yes | Opt-outs |
| Blocked | ❌ No | ❌ Ignored | ❌ No | Abuse / spam |
Best practices
- Use Stopped for user opt-outs
- Use Blocked for abuse or spam
- Always confirm re-subscription before re-adding to groups
- Keep opt-out logic explicit in flows when channels don’t support it
