The SMS channel lets your VIVI agent send and receive text messages with end-users over a phone number you provision through VIVI. SMS conversations are 1-to-1 (one number ↔ one recipient at a time) and run on Twilio’s messaging network.Documentation Index
Fetch the complete documentation index at: https://docs.vivi.bot/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you create an SMS channel, you must already have explicit consent from every recipient that their phone number can be used to receive automated messages from your VIVI agent. VIVI’s middleware then adds a second confirmation prompt on top of that, but it does not replace the original consent you collected — it’s an extra safety net required by U.S. carrier and CTIA rules. Typical sources of compliant consent:Booking or Reservation Form
A signed form that explicitly authorizes SMS communication on behalf of your brand.
Web or App Opt-in
A checkout or account-creation flow with an opt-in checkbox referencing your brand and SMS messaging.
Written Agreement
A paper or e-signature agreement that lists SMS as an authorized contact channel.
Create an SMS Channel

Choose country and number type
Select a Country, then pick a Number Type:
Local
A regular U.S./CA local number. Lower throughput. Available immediately with no extra verification.
Toll-free
A national toll-free number. Higher throughput. Requires Twilio compliance verification before SMS traffic can flow. Expect 1–5 business days to verify.
When you pick Toll-free, VIVI shows a notice that you’ll need to submit the toll-free verification form from the channel’s settings page once the number is created.
Pick a number

Accept the SMS Channel Usage Agreement

Consent Middleware
Every SMS channel ships with an automated consent layer. You configure the wording once per channel and VIVI handles the rest of the SMS conversation around it. Open the channel and switch to the Consent tab. The tab has three short templates with a live phone preview on the right. The placeholder{brand} is automatically substituted with the channel’s name at send time.
- Opt-in
- Opt-out
- Resubscribe

VIVI validates that your opt-in template includes a STOP instruction when you save the Consent tab — you cannot publish the template without one.
How Opt-in & Opt-out Work
- Opt-in Flow
- Opt-out Flow
When your agent (or you) trigger an outbound SMS to a number that has never opted in:
Queue drained
VIVI flips the recipient’s state to opted-in and delivers every message that was waiting.
If the user never replies, queued messages stay queued until they eventually opt in (or are aged out by the janitor). They are never silently delivered.
Compliance Summary
You collect consent
Paper, web, or checkout opt-in is your responsibility before any number is added to VIVI.
VIVI double-confirms
The opt-in template is sent before any agent message lands, even if you believe consent already exists.
VIVI enforces opt-out
STOP, HELP, and START are handled automatically per CTIA rules — no custom logic required.STOP instruction required
VIVI validates that opt-in and resubscribe templates include a STOP instruction before you can save.
Twilio verifies toll-free
A one-time brand and use-case verification is required for toll-free numbers before any SMS traffic flows.
Transactional use only
The provisioned number may only be used for transactional and customer support messages — no marketing or promotional content.
Troubleshooting
Outbound message never arrived
Outbound message never arrived
Open Channel → Consent state for that recipient. If the status shows
WAITING_OPT_IN, the user hasn’t replied with an opt-in keyword yet. The message is queued and will be delivered once they confirm.Three messages appear on STOP or START
Three messages appear on STOP or START
Two of the messages come from your carrier and from Twilio’s account-level Advanced Opt-Out. The third is VIVI’s own template. To eliminate the duplicate Twilio message, disable Advanced Opt-Out on the underlying Messaging Service in the Twilio Console.
Toll-free verification rejected
Toll-free verification rejected
Check the rejection reason displayed on the channel page. Correct the flagged fields and resubmit the verification form. Common rejection reasons include mismatched brand names, incomplete use-case descriptions, or missing opt-in evidence.
SMS Capabilities
Triggering Outbound Conversations
How to programmatically start an SMS conversation from your agent or an external system.
Campaigns → SMS
Bulk send to many recipients at once with the same consent and compliance guarantees.



