Skip to main content

SMS & MMS

Sequenzy SMS dashboard with a callout showing the SMS setup area
The SMS add-on lets you send text and picture messages to subscribers in the United States, Canada, and 20+ international destinations as steps in your sequences. It is a paid add-on at $16/month, which includes 1,000 message credits every month; larger prepaid bundles lower the per-credit price as volume grows. SMS sends require either a paid plan (from $19/mo) or a positive SMS credit balance. Free workspaces without SMS credits see an upgrade prompt in Settings -> SMS; sending pauses automatically when a workspace has neither a paid plan nor credits.

Enabling The Add-on

Go to Settings -> SMS and subscribe to the add-on. If you are upgrading your plan, you can also add SMS in the same step: the plan upgrade dialog lists it under Add-ons with a volume slider, so you can pick a monthly credit bundle (from 1,000 credits at $16/mo up to 500,000) and buy it together with the plan. SMS is billed monthly even alongside an annual plan. Once payment completes, Sequenzy automatically:
  1. Purchases a dedicated toll-free number for your workspace (no number picker needed - it just works)
  2. Opens the toll-free verification wizard so you can register the number with carriers
You never deal with a telecom provider directly - Sequenzy manages the number and carrier relationships for you.

Adding more numbers

Workspaces can hold up to 5 toll-free numbers. Once your first number is verified, admins can add another from Settings -> SMS (“Add another number”). Each new number goes through its own toll-free verification before it can send, and can carry its own label (shown in campaign sender pickers) and its own brand prefix override - useful when one workspace texts under several sender identities, like marketing and support. Campaigns pick their sending number in the Message step; sequences, one-off sends, and standalone test sends always use your default (oldest verified) number.

Toll-Free Verification

US and Canadian carriers require every toll-free number to be verified before it can send marketing messages. The verification form asks for:
  • Legal business name and address
  • Website
  • Contact information
  • A description of how subscribers opt in to SMS
  • Sample messages you plan to send
  • An estimated monthly volume
Sequenzy prefills most of the form from your workspace - business name, website, address, and your contact details - so you usually just review it, add your business registration number, and submit. Review typically takes 1-5 business days. The SMS settings tab shows a setup checklist with the current state: Action needed (you still have to submit the form), In carrier review, Verified, or Rejected with the carrier’s reason. If your submission is rejected, you can edit the form and resubmit. Until the number is verified, the composer and settings are fully available, but sending is blocked. SMS consent is completely separate from email status. A subscriber can be active for email but not subscribed to SMS, and vice versa. Every subscriber has:
  • A phone field (stored in E.164 format, country derived automatically)
  • An SMS status: not_subscribed (default), subscribed, or unsubscribed
  • A consent source and timestamp when subscribed: import, api, manual, form, checkout, or shopify
Key rules:
  • Consent is never inferred from a phone number. Adding a phone via the UI, CSV import, or API does not subscribe anyone to SMS - you must set consent explicitly, and only when you have express written consent.
  • STOP applies per phone number. When someone replies STOP, every subscriber in your workspace who shares that phone number is unsubscribed from SMS, and the number is suppressed from future sends.
  • START re-subscribes. If a subscriber who opted out via STOP replies START, the suppression is removed and they are subscribed again.
You can set consent when importing a CSV (map a phone column and confirm the contacts gave SMS marketing consent), through the subscriber API with the smsConsent field, or manually on a subscriber’s profile. If you use the Shopify integration, phone numbers and SMS marketing consent your store collects (for example at checkout) sync automatically:
  • The initial customer sync imports each customer’s phone number and SMS marketing state. Customers who opted in at your store arrive as subscribed with consent source shopify and Shopify’s consent timestamp.
  • Customer webhooks keep consent current: when a customer opts in or out on Shopify, the change is applied to the matching subscriber within seconds.
  • Consent stays TCPA-safe: a customer is only subscribed on an explicit Shopify opt-in, an explicit opt-out unsubscribes them, and a phone number without consent is stored as not_subscribed.
Phone numbers are protected customer data on Shopify, so the store must have approved phone field access. If it hasn’t, the sync still runs - it just skips phone and consent.

Sending Rules

The Send SMS sequence step sends only when all of these are true:
  • Your workspace is on a paid plan or has SMS credits available
  • The add-on is enabled and your number is verified
  • The subscriber has a phone number in a supported country (see International destinations)
  • The subscriber’s SMS status is subscribed
  • The phone number is not suppressed (for example by a prior STOP)
If any check fails, the step is skipped with a recorded reason and the subscriber continues through the rest of the sequence - a missing phone number never stalls a journey. You can change what happens to contacts who can’t receive SMS (no phone number, no consent, suppressed, or an unsupported destination) per step: keep the default Skip this step to continue the journey, or choose Exit the sequence to end it for that contact. Workspace-level issues (add-on disabled, no paid plan or credits, no active number) always skip so an account misconfiguration never ends journeys in bulk. To route contacts by SMS reachability instead, use the Has phone number and Subscribed to SMS conditions in if/else and multi-branch steps, or the Phone Number and SMS Status fields in segments.

Quiet Hours

For US and Canadian numbers, the window is evaluated in the recipient’s own local timezone, inferred from the phone number’s area code. US numbers are delivered between 8:00am and 8:00pm local time, every day. This keeps every send inside the TCPA window (8:00am to 9:00pm local) and the stricter Florida and Washington 8:00pm cutoff, while letting sends start as early as legally allowed instead of waiting for a single nationwide window. Texas numbers open at noon local time on Sundays (Texas Sunday law). Canadian numbers follow the CRTC’s Unsolicited Telecommunications Rules instead, since the TCPA does not apply there: 9:00am to 8:00pm local time on weekdays, and 10:00am to 6:00pm local time on Saturdays and Sundays. Area codes that straddle two timezones are evaluated conservatively so recipients on either side stay inside their legal window. When the recipient’s local timezone can’t be determined from the area code, or for destinations outside the US and Canada, messages fall back to a conservative window of 11:00am to 8:00pm in the destination country’s reference timezone (Eastern Time for the US and Canada, London time for the UK, and so on), opening at 2:00pm on Sundays. If a send fires outside the window, the message is deferred until the window opens - it is never dropped.

Message Format

Every message is sent with your brand name as a prefix (for example Acme: Your order shipped!) so recipients always know who is texting them. The very first message a subscriber receives also includes a compliance footer: Msg&data rates may apply. STOP to end, HELP for help.

The Composer

The Send SMS step opens a lightweight composer designed for texting:
  • Text with merge tags for personalization (like {{firstName}}) - type {{ to pick a merge tag inline
  • Emoji via an inline searcher - type : and a few letters (like :fire) to search and insert an emoji without leaving the keyboard
  • Images - up to 2 per message, JPEG/PNG/GIF, 1MB max each. Attaching an image turns the message into an MMS
  • A live counter showing character count, encoding, segment count, and the credit cost of the message
  • A phone-frame preview showing the message exactly as recipients will see it, including the brand prefix, footer, and shortened links
The composer keeps message length, encoding, segment cost, and the recipient preview visible while you write.
SMS campaign composer showing message content, segment and credit counts, and the phone preview

Segments And Encoding

SMS messages are billed in segments, and the segment size depends on the characters you use: A single emoji switches the whole message to Unicode encoding, so a 150 character message with one emoji costs 3 segments instead of 1. The composer’s counter shows the encoding and segment count live so there are no surprises. Sequenzy automatically normalizes typographic characters (smart quotes, dashes, ellipses) to their standard equivalents so pasted text doesn’t accidentally trigger Unicode pricing. MMS (any message with an image) costs a flat 3 credits regardless of text length.

International Destinations

Sending is not limited to the US and Canada: the UK, Ireland, most of Western and Northern Europe, Poland, Czechia, Ukraine, Australia, and New Zealand are supported out of the box. A few things to know:
  • Credits are cost-weighted by country. A US or Canadian SMS segment is always 1 credit; international segments consume a per-country multiplier that reflects what carriers in that country charge (for example a UK segment costs several credits, and Ukraine more still).
  • Settings -> SMS includes a calculator. Pick a destination country and a monthly budget to see how many messages it buys, the effective per-SMS rate, and the credit multiplier. A “View all country rates” table lists every supported destination.
  • International marketing is one-way. Outside the US and Canada, messages are delivered from a sender that can’t receive replies, so keyword STOP is unavailable; opt-outs run through unsubscribe links instead.
  • MMS is US/Canada only. Steps with images are skipped for international recipients with an mms_not_supported reason.
  • Unsupported countries are blocked, never silently billed. If a subscriber’s phone country has no published rate, the step is skipped with an unsupported_country reason and the subscriber continues the sequence.
  • Rates are estimates and international carrier costs can change; some routes may require sender approval before going live.
The subscriber profile shows each contact’s phone country, the credit multiplier that applies to them, and whether they can currently receive SMS (with the exact reason when they can’t).

Credits And Billing

SMS is prepaid:
  • The add-on costs $16/month and includes 1,000 credits each month, and the per-credit price scales down gradually with larger monthly bundles
  • Included credits renew at the start of each billing period and don’t roll over - your balance resets to your bundle amount on renewal. This applies to everything on the balance, including credits granted by support
  • Need more credits? Upgrade your monthly bundle any time with the Upgrade bundle button next to your balance on the SMS page - your billing cycle restarts that day, the full new bundle price is charged, and your balance resets to the new bundle amount
  • 1 credit = 1 US/CA SMS segment; US/CA MMS = 3 credits; international segments use the per-country multiplier shown in the rate table
  • When your balance runs low, you receive an email alert so you can upgrade before sends start skipping
  • If a message can’t be sent because your balance is empty, the step is skipped with a no_credits reason and the subscriber continues the sequence. Sending resumes once credits are available again
Your balance and a transaction ledger are visible in Settings -> SMS.

SMS Campaigns

With the add-on enabled, the Campaigns screen gains a channel switch at the top so you can move between email and SMS campaigns. An SMS campaign uses the same familiar steps as an email campaign - message, recipients, schedule, review - with a phone-style preview alongside every step.
  • Message: write the text and, if your workspace has more than one active number, pick which number the campaign sends from. The default is your workspace’s original number; you can tag each number with a label (for example “Marketing” or “Support”) and give it its own brand prefix override in Settings -> SMS so each number keeps its own sender voice. A test sent from the campaign composer uses the campaign’s current selection; sequences, one-off sends, and standalone test sends use the default number
  • Recipients: you pick lists, segments, or custom filters exactly like an email campaign. Sequenzy then narrows the selection to contacts who can actually receive SMS - subscribed to SMS marketing, phone number on file, and not suppressed - and shows both numbers so nothing is surprising at send time. Email and SMS consent are tracked separately, so a contact who unsubscribed from email still receives your texts if they opted in to SMS
  • Schedule: send immediately or at a scheduled time. Quiet hours are always respected per recipient: messages that would land outside the delivery window are held until it opens, never dropped
  • Review: shows the SMS-ready recipient count, an estimated credit cost based on your message’s segments, and the final message preview including the opt-out footer first-time recipients receive
  • While sending: delivery is throttled to a steady carrier-safe rate. The campaign page shows live progress and you can stop the campaign at any point - unsent messages are skipped and marked accordingly
  • Stats: sent, delivered, clicked (via short links), failed, skipped, and credits used, per campaign and on the campaign list
Before sending, the review step makes SMS eligibility and cost explicit: it separates contacts who can receive the message from those who will be skipped, then shows the final schedule and estimated credits.
SMS campaign review showing eligible and skipped recipients, delivery timing, estimated credits, and the final phone preview
Every recipient re-passes the full sending rules at send time, so contacts who opt out or run into a suppression after you press send are skipped safely. If your credit balance runs out mid-campaign, remaining messages are skipped with a no_credits reason and show up in the campaign’s skipped count. SMS campaigns are currently created and managed from the dashboard; API, CLI, and MCP support is planned. They still appear in the campaign list and detail reads, where a type of sms tells them apart - their subject and blocks are always empty because they have no email behind them. The email campaign endpoints (update, schedule, pause, resume, duplicate, resend to non-openers) reject SMS campaigns with a clear error rather than running them through the email pipeline. Campaign stats and campaign events reject them too, because both read email engagement and would otherwise report a fully zeroed send for a campaign whose texts were delivered - read SMS campaign stats in the dashboard instead.

One-Off Sends

You can text a single contact directly from their subscriber page: when the contact is subscribed to SMS marketing, a Send SMS button appears next to Send email. It opens the same composer used in sequences, shows the estimated credit cost for the contact’s destination country, and queues the message immediately. One-off sends follow all the sending rules above, including quiet hours - a message composed outside the delivery window is deferred until it opens.

Test Sends

You can send a test message to any phone number from the composer or the SMS settings tab. Test sends:
  • Are limited to 5 per hour
  • Are exempt from quiet hours so you can test any time
  • Charge credits like a real send
  • Are excluded from step stats
Your number must be verified before test sends work. Links in your messages are automatically shortened to https://sqzy.io/... (about 24 characters). When a recipient taps a link, the click is recorded and feeds into the same revenue attribution as email clicks, so SMS-driven purchases show up in your reporting.

Replies

When a subscriber texts your number:
  • STOP (and variants) - handled automatically: the carrier-grade auto-responder confirms the opt-out, and Sequenzy unsubscribes every subscriber with that phone number
  • HELP - answered automatically with your help message
  • Anything else - forwarded to your account email as a notification, so you never miss a reply
There is no two-way SMS inbox yet - replies arrive as email notifications.

Step Stats

Each Send SMS step shows its own stats in the sequence builder: sent, delivered, clicked, opted out, and credits spent. Test sends are excluded.

Sent SMS Page

The Sent SMS page (sidebar, under Activity) lists every text your workspace has sent with its delivery status, segment count, and credits charged. Search by phone number or contact email, filter by status or campaign, and open any message to see the full body, delivery timeline, failure reason, and exact credit charge. Header totals sum the messages and credits for whatever filter you have applied, which makes it the fastest way to audit what a campaign actually cost. SMS activity also appears on each subscriber’s timeline (sends, deliveries, failures, clicks, and opt-outs), alongside their email history.

AI Assistant

The sequence builder’s AI assistant can add and edit SMS steps natively. Ask it things like “add a shipping confirmation text after the order email” and it proposes an action_sms step with drafted copy. SMS additions always require your explicit approval before they are applied, because they text real subscribers and spend credits.

API, CLI, And MCP

SMS is a first-class citizen on every agent surface:
  • API - create sequences with SMS steps (type: "sms" with text in Create Sequence steps, branch paths, and insertSteps), edit existing SMS steps with smsSteps in Update Sequence, draft copy with Generate SMS, check readiness with Get SMS Settings, and verify end to end with Send Test SMS
  • CLI - sequenzy sms settings shows add-on status, credits, and numbers (with their labels and prefix overrides), sequenzy sms label sets or clears a label, and sequenzy sms update edits a number’s label and brand prefix override in one call; sequenzy sms send-test sends a real test message; sequenzy generate sms "<prompt>" drafts message variants; SMS steps work in sequenzy sequences create --steps-*, update --insert-steps-*, and update --sms-steps-*
  • MCP - the generate_sms, get_sms_settings, update_sms_number_label, and send_test_sms tools plus SMS steps in create_sequence, insert_sequence_step, and update_sequence.smsSteps let AI agents build and maintain SMS journeys end to end
  • Outbound webhooks - subscribe to sms.sent, sms.delivered, sms.failed, and sms.opted_out events (included in the default event set for new webhooks) to track SMS delivery from your own systems; see Outbound Webhooks
Generated and API-provided messages should never include opt-out text or a brand prefix - Sequenzy adds the brand prefix to every message and the compliance footer to the first message automatically.