> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.pinnacle.sh/v-2/guides/campaigns/opt-in-compliance/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.pinnacle.sh/_mcp/server. # SMS Opt-In Compliance > CTIA-compliant opt-in disclosures, workflows, and message templates for 10DLC and Toll-Free campaigns. This guide helps you create compliant opt-in workflows for your SMS campaigns. All SMS campaigns require explicit user consent before sending messages, per CTIA guidelines and TCPA regulations. --- ## CTIA Disclosure Generator 10DLCToll-Free Fill in the fields below to generate your compliant disclosure. The example values show a typical configuration. > **Checkbox Requirement** > > For web forms, the consent checkbox must **NOT** be pre-checked. Users must > actively check the box to opt in. --- ## Opt-In Methods and Workflow 10DLCToll-Free Choose the method that matches how you collect consent from users. Your workflow description (`messageFlow` for 10DLC, `optIn.workflowDescription` for Toll-Free) should explain the full user journey. #### Digital **Best for:** Websites, apps, online checkout **Requirements:** * Checkbox must NOT be pre-selected * Disclosure must be visible before submission * Store consent timestamp in your database **Documentation needed:** * URL to the opt-in form * Screenshot of the form with disclosure visible #### Paper **Best for:** Retail locations, events, in-person signups **Requirements:** * Full disclosure printed on the form * Signature or checkbox for consent **Documentation needed:** * URL or image of the paper form * Location where forms are collected #### Text-to-Join **Best for:** Signage, advertisements, social media **Requirements:** * Clear keyword and number displayed * Auto-reply with full disclosure * Double opt-in recommended for marketing **Documentation needed:** * The keyword(s) users text * The phone number users text to * Photo of signage or ad showing the call-to-action #### Verbal **Best for:** Phone calls, customer support (non-marketing only) > **Marketing Restriction** > > Verbal opt-in is **NOT allowed** for marketing campaigns, including Mixed campaigns with any marketing component. **Requirements:** * Read full disclosure script * Record call or log consent timestamp * Send confirmation SMS immediately **Documentation needed:** * The script agents read * How consent is recorded (call recording, CRM log) * Confirmation SMS text --- ## Keyword Response Messages 10DLCToll-Free Configure automatic responses for when users text keywords to your number. #### Opt-In Sent when a user texts a predefined opt-in keyword (e.g. START, YES, SUBSCRIBE). **Requirements:** * Must include brand name * Must confirm subscription type * Must include STOP and HELP instructions * Must include data rates and frequency disclosure * Must include links to terms and privacy policy #### Opt-Out Sent when a user texts a predefined opt-out keyword (e.g. STOP, CANCEL, UNSUBSCRIBE). **Requirements:** * Must confirm unsubscription * Must provide alternative support contact * May include resubscribe instructions #### Help Sent when a user texts a predefined help keyword (e.g. HELP, SUPPORT, INFO). **Requirements:** * Must include at least one support contact (phone, email, or URL) * Must include data rates disclosure * Must include opt-out instructions --- ## Sample Messages 10DLC Provide 1-5 sample messages (`sampleMessages` field) that represent the types of messages you'll send. > **Customize Your Messages** > > The examples below are templates. **You must modify the message content** to > accurately reflect the actual messages your campaign will send. Carriers > review these to understand your use case. **Requirements:** * Each message should start with your company name * Include disclosures where applicable (especially for first message or periodic reminders) * Messages should accurately represent your actual campaign content --- ## Production Message Content Toll-Free Provide example messages (`productionMessageContent` field) that users will actually receive. The combined content must not exceed **500 characters**. > **Customize Your Messages** > > These are starting templates. **Replace the placeholder content** (shown in > brackets like `[First Name]`) with descriptions that match your actual > business messages. Reviewers use these to verify your campaign's stated use > case. > **Best Practice** > > Provide up to **5 sample messages** to give reviewers a complete picture of > your messaging. You must include between 1-5 examples, but 5 is strongly > recommended for faster approval. Select the examples that match your use case; > the counter measures the combined length of the selected messages. --- ## Use Case Summary Toll-Free The use case summary (`useCase.summary` field for Toll-Free) explains what your campaign does and how users interact with it. This helps reviewers understand your messaging purpose. **Your summary should include:** 1. **What your business does** and who your users are 2. **What types of messages** users will receive (notifications, alerts, reminders, etc.) 3. **How users interact** with your SMS program (one-way notifications, conversational, etc.) 4. **When messages are triggered** (user actions, scheduled, transactional events) > **Be Detailed** > > Vague summaries like "We send messages to customers" are often rejected. > Explain the specific value your SMS program provides. **Example use case summary:** > Customers who have opted into text messages can interact with our automated SMS chatbot to receive transaction-driven notifications (order status, shipping updates, account alerts), ask support questions, and manage their account details via simple, conversational text flows. All messages are transactional or interactive flows customers opt into. Users can send images (e.g., receipts) and get guided replies. > One API for RCS, iMessage, MMS, and SMS. Build, test, and scale every channel — send your first message in minutes, not weeks.