Product guide
Opt-outs and suppression
When somebody replies STOP to one of your numbers, Miss Blue stops messaging them from that project, straight away and without anybody having to notice. It is on for every project from the day it is created.
Words that stop messaging
STOP, STOPALL, STOP ALL, QUIT, END, REVOKE, CANCEL, UNSUBSCRIBE, OPT OUT, OPTOUT. Case and punctuation do not matter.
Words that start it again
START, UNSTOP, OPT IN, OPTIN. Only the person who opted out can undo their own opt-out this way.
Per project
Every number in the project stops, not just the one they replied to. A project is the brand or campaign they answered, so a marketing opt-out does not stop a clinic's appointment reminders.
A list you can edit
Add a number by hand for somebody who asked you on the phone or by email. Open Do not message in the project to see everybody, and why.
Keywords, and requests in words
“STOP”, “Stop.” and “STOP!” all stop the messages. “Stop by around three” does not, and neither does “cancel my 4pm”. This is deliberate: matching a keyword anywhere in the text ends conversations with people who wanted the opposite, and the mistake is invisible until they complain about being ignored.
Plain requests count too: “Stop texting me”, “Please stop texting me, not interested”, “Take me off your list”, “Don’t text me”, “Leave me alone”. The request has to be what a sentence says, so “why did you stop texting me?” opts nobody out.
Anything else you can add yourself: from the conversation, from the Do not message page, with POST /v1/projects/{id}/opt-outs, or with mb opt-out. Any of the project’s API keys can add one, so an integration that reads replies should, whenever somebody asks to stop in any words.
What happens to a send
A suppressed recipient is refused before anything is queued, with 403 and the error code recipient_opted_out. Anything already waiting in the queue for them is cancelled and reported as failed through your webhooks, so an integration finds out rather than assuming delivery.
The refusal is deliberately not the same as contact_blocked, which is your own team blocking somebody and can be undone by your own team. An opt-out is the recipient’s decision.
They can still reach you
Opting out stops what you send, not what they send. Their messages keep arriving in the inbox and keep firing your webhooks, which is what makes START work at all — and a question from somebody who opted out is still a question worth answering.
So when they write back, the conversation opens for replies. Your team can answer them from the inbox, and an integration with the API, one to one from any of the project’s numbers. Automations, announcements, scheduled messages, GoHighLevel and group chats still skip them, and asking to stop again closes it. Texting START puts them back on everything.
Turning detection off
Project settings has a switch for teams whose CRM already owns opt-outs. It stops Miss Blue noticing new STOP replies. It does not let anybody message the people who already opted out: those stay suppressed, and the only thing that lifts one is an owner or admin, or a key one of them made, recording how the recipient asked to come back.
NextSending messagesEvery other reason a send can be refused, and what each error code means.Looking for the list itself? It is in each project as Do not message.