sms_optouts
Read and maintain the SMS suppression list — the numbers this account must never text. action='list' returns every suppressed number with the contact it matches, if any. action='add' records opt-outs that happened somewhere else: before this list existed, on a number no longer owned, or on another platform. Numbers are normalised to E.164 before storing, because the send-time check is an exact string match and a row in any other shape is silently never found. Anything that cannot be read as a phone number is reported back rather than skipped. action='remove' deletes a suppression — only when someone has genuinely opted back in. Twilio suppression is NOT a substitute: it is scoped to the sending number, so the same list sent from a newly purchased number is unblocked. This list is what survives that.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| phone | No | For action='remove', or a single 'add'. | |
| action | Yes | ||
| phones | No | For action='add' — one or more numbers, any format. Max 500. | |
| source | No | Optional label for action='add'. Defaults to 'imported'. 'stop_keyword' is reserved for the inbound webhook so the two can be told apart. |