SMS suppression
A suppression is a standing refusal to contact one person, checked at the send boundary before anything is prepared. On SMS it is created by an opt-out word, by a person adding one by hand, or by a wider do-not-contact directive. It stops outbound work rather than inbound: messages still arrive, are still filed and still answerable by a human, and on the live carrier no SMS could have gone out anyway.
Three ways an entry appears#
| Origin | Scope it usually carries | Who can undo it |
|---|---|---|
| An opt-out word in an inbound message | The channel it arrived on, as block:sms | A person with permission, with the reason recorded |
| A person adds it from the contact panel | Whatever they choose — one channel, or the contact entirely | The same person or a colleague, audited |
| A do-not-contact directive | Every channel, held against the contact | A person only — never the Assistant |
| Compliance screening during outreach | The prospect or contact being screened | Depends on why it was set; the reason travels with the entry |
The distinction between the first row and the third is the one that matters in practice. A channel-scoped block says *not by text*. A do-not-contact entry says *not at all*, and it is deliberately harder to clear, because it is the record of somebody withdrawing consent rather than expressing a preference about a medium.
Where the check happens#
Suppression is evaluated at the send boundary — the one place every outbound message passes through, whether the engine wrote it or a person did. That placement is the whole design. A rule enforced in the drafting code would be a rule the Assistant, a follow-up drain or a bulk action could each go round; a rule enforced where the message meets the provider cannot be.
It is also why a suppression created after work was queued still bites. A follow-up scheduled last week, an approved draft waiting on an allowance, an outreach step due tomorrow: each is re-checked when it is attempted, not when it was planned. The refusal is written to the audit trail with its reason, so the trail reads as a decision rather than as work that quietly evaporated.
What a suppression does not do#
- It does not stop inbound messages. The person can still write, and their message is still filed against them — refusing to contact somebody is not refusing to listen to them.
- It does not delete history. The conversation, the timeline and the memory rows stay, because a block with no evidence behind it is impossible to review later.
- It does not remove the person from the workspace. They remain a Person with a full record; what changes is what Connect may initiate.
- It does not, on SMS, prevent something that could otherwise have happened today — the live carrier carries no SMS, so outbound text is already unavailable for every contact, suppressed or not.
That last point is worth being exact about rather than glossing. Suppression on this channel is doing real work only in the sense that it is stored, audited and portable: the moment a workspace configures a provider that does carry SMS, the entries already recorded are the ones that govern it, with no migration and no second list to keep in step.
Clearing one#
Open the contact and read why the entry exists. The origin travels with it.
Result You can tell a channel preference from a withdrawal of consent before you touch anything.
Decide whether you have grounds. A person asking to be contacted again is grounds; a sales target is not.
Result The decision is yours and is recorded as yours.
Clear the entry, or narrow it — a contact-wide block can become a channel-scoped one if that is what the person actually asked for.
Result The change is audited with the person who made it, and outbound work for that contact resumes under the normal autonomy rules.
Questions#
Is a suppression the same as an unsubscribe?
They end in the same place and start differently. An unsubscribe is a recipient acting on a link or a keyword; a suppression is the entry Connect keeps as a result, or that somebody adds directly. Every unsubscribe becomes a suppression; not every suppression began as one.
Can I see everyone who is suppressed?
Yes — the entries are visible on the contact record and through the relationship views, and each carries its origin. Reviewing them periodically is worth the time, because a block set during an old campaign can outlive the reason it was set.
Does a suppression apply across workspaces?
No. Every record here is scoped to one workspace by the isolation kernel and by row-level security, suppression included. A contact blocked in one workspace is unknown to another, which is the same rule that keeps every other record apart.