Skip to main content
SMS is a text-based communication channel that allows your agent to send and receive messages directly with users on their mobile devices. It’s designed for transactional, high-intent interactions such as booking confirmations, itinerary changes, account updates, and customer support. Because SMS is regulated by mobile carriers, users must provide explicit consent before receiving messages. VIVI supports this through a Conversational Opt-In (Agent-Led) flow, where consent is captured naturally within the chat experience.

How SMS Works

To use the SMS channel, you assign a phone number to your agent and enable SMS messaging. Once configured, your agent can:
  • Send transactional SMS updates (confirmations, changes, reminders)
  • Respond to inbound user messages
  • Continue conversations across chat and SMS when consent is granted
All SMS usage must remain transactional only and cannot include promotional or marketing content.

Conversational Opt-In (Agent-Led)

Conversational Opt-In allows your agent to securely collect SMS consent during a live interaction. Instead of static checkboxes, the agent presents a required disclosure and pauses the flow until the user explicitly replies YES or NO. This approach is ideal for agents handling complex journeys—such as travel booking or account management—where SMS consent is best captured at the moment of highest intent.

Implementation Guide

1. System Instruction (Required)

Add the following directive at the top of your agent’s System Prompt to enforce consent and prevent hallucination:
[System Directive]
At the start of the first conversation (before discussing specific bookings), you must present the SMS consent message and wait for an explicit YES or NO.
  • If the user replies YES: Treat as explicit consent. Proceed with workflows that include transactional SMS.
  • If the user replies NO: Treat as no consent. Do not claim SMS updates will be sent.
Constraint: All SMS messages must be strictly transactional (confirmations, updates) and not promotional.

Your agent must output the following disclosure text verbatim. This script includes all required US carrier (Twilio / 10DLC) compliance elements. Required Agent Output:
“We can send you SMS updates about your travel bookings, itinerary changes, payment status, and customer support. Message frequency varies based on your activity. Message and data rates may apply. Reply YES if you consent to receive these SMS messages from KSG at this number. Reply NO if you do not consent. In any SMS, you can reply HELP for support or STOP at any time to unsubscribe. SMS consent is not a condition of purchase. You can review our Privacy Policy at https://ksgai.com/privacy-policy/ and our Terms of Service at https://vivi.bot/terms-and-conditions/.”

Handling User Responses

The “YES” Path

  • Agent Response:
    “Thanks — I’ve recorded your SMS consent. [Proceed to booking or support flow].”
  • Backend Action:
    Log the timestamp and exact “YES” message as proof of consent.

The “NO” Path

  • Agent Response:
    “Understood. We will not send SMS updates. I can still help you here in the chat.”
  • Backend Action:
    Flag the user profile as sms_opt_out: true.

Phone Number Verification

If the user’s phone number is not already known, the agent must request it before or immediately after the consent step:
“To send these updates, please provide the mobile number you’d like us to use.”
Consent should always be associated with a specific phone number.

Compliance Checklist

The SMS channel satisfies carrier requirements by ensuring:
  • Active Acceptance — Users must manually type “YES” or equivalent
  • Consent Gating — SMS workflows are blocked until approval
  • Full Disclosure — Includes HELP, STOP, message rates, and legal links
  • Transactional-Only Messaging — No promotional content allowed

Best Practices

  • Request SMS consent before discussing actions that imply text updates
  • Never assume consent from prior interactions or silence
  • Store consent logs for auditing and carrier verification
  • Clearly set expectations that SMS is used for transactional updates only