Revamp365 knowledge base

SMS & Text Messaging

How-to guides from the Revamp365 Help Center.

What SMS Texting in Revamp365 Is

Revamp365 gives you carrier-compliant SMS texting built into the same CRM where your contacts and deals already live. You can text leads one-on-one, send bulk batches, and stay inside US A2P 10DLC rules without leaving the app.

Where texting lives

SMS access is split across two places:

  • Conversations — your two-way inbox. Open it from the messages icon in the top header, or go to AI Voice & Chat in the left sidebar.
  • Campaigns — bulk sending. Open AI Voice & Chat, then the Campaigns tab, then the SMS Blast sub-tab.

Texting is a paid feature (Pro+ and Dealmaker). Free accounts can explore the Voice AI surface but cannot send texts or run campaigns.

What you can do

Capability What it is
Conversations One-to-one threads with a contact, including replies and MMS media attachments
SMS Blast Send a batch of messages to a tag or to all contacts, with manual or scheduled sending
Templates Reusable message snippets you can drop into a send
Trust Center Register your A2P 10DLC profile and campaign so carriers deliver your traffic

An SMS Drip sub-tab also appears under Campaigns for automated sequences; that builder is still being finished, so use one-off blasts for now.

A2P compliance, briefly

US carriers require A2P 10DLC registration before business texts deliver reliably. In Revamp365 you handle this in the Trust Center (the A2P tab under AI Voice & Chat). You register a Trust Hub profile and a campaign, then The Campaign Registry (TCR) reviews it — usually a few business days. Until your campaign is approved, blasts may fail with Error 30034.

Opt-outs are handled for you. When a recipient replies STOP, UNSUBSCRIBE, END, QUIT, or similar, Revamp365 records the opt-out automatically and blocks future sends to that number. HELP triggers an automatic support reply.

When to use which

  • Use Conversations for follow-up, answering inbound replies, and one-off personal texts.
  • Use SMS Blast to reach a tagged segment or your whole list at once.
  • Finish your Trust Center registration first — nothing sends dependably until your A2P campaign is approved.

Next steps

Your contacts power every send, so a clean CRM matters. See what the Contacts CRM is and use tags, saved views, filters, and lists to build the audiences you'll text.

When you're ready to send, walk through sending your first text, then run an SMS blast campaign. Before any of that, complete the activate texting Trust Center checklist and review how to mark a contact DNC and understand STOP opt-outs.

Send Your First Text Message From the Conversations View

The Conversations view is your two-way SMS inbox inside Revamp365. This walks you through opening a thread and sending your first text to a contact.

Before You Start

Texting needs three things in place:

  • An active purchased phone number to send from.
  • Completed A2P registration with SMS enabled on that number (US carrier requirement). If registration is incomplete, the send is blocked with a prompt to finish it.
  • A current paid plan — the Conversations view is gated to paid accounts.

If you have not added contacts yet, start with adding and importing contacts.

Open the Conversations Inbox

From the top navigation, open Conversations (the SMS area). The screen splits into two panes:

Pane What it shows
Inbox (left) Every thread, newest first, with unread dots and a search box
Conversation (right) The selected thread's messages and the reply box

Use Search prospects... to find someone by name, phone, or last message, and the Newest / Oldest selector to re-sort.

Send a Text to an Existing Thread

  1. Click a contact in the Inbox to open the thread.

  2. Click into the Type a message... box at the bottom.

  3. Write your message. A live counter tracks characters up to 1600.

  4. Press the send button (or hit Enter on desktop — Shift+Enter adds a line break).

You will see a "Message sent!" confirmation, and the new bubble appears on the right side of the thread. Sent messages show a delivery check; if a message fails, the bubble is flagged Not delivered.

Start a Brand-New Conversation

To text someone you have not messaged before:

  1. Click the + button at the top of the Inbox.
  2. Enter the recipient's phone number and select the number to send from.
  3. If the number isn't a saved contact yet, create the contact first, then type your message and send.

Add Media or Emoji

The reply box also supports richer messages:

  • Attachment button — send images as MMS/RCS (up to 10 files). You can also paste an image straight into the box.
  • Emoji button — drop in a quick reaction from the picker.

Who You Cannot Text

Revamp365 protects your sender reputation by blocking sends to:

  • Contacts who replied STOP (opted out)
  • Numbers on your Do Not Text list
  • Numbers on your Spam list

Each blocked attempt returns a clear reason instead of sending. To learn how opt-outs work, see mark a contact DNC and understand STOP opt-outs.

Review the Contact While You Chat

Click Details in the conversation header to slide open the Lead Profile, where you can call or email the contact, check verified phone and email, and jump to the full record with View Full Profile. From there you can work the contact timeline and follow-ups.

Once one-to-one texting feels natural, scale up with an SMS blast campaign or a drip sequence.

Mark a Contact DNC and Understand STOP Opt-Outs

Honoring do-not-contact requests is both good practice and a legal requirement. Revamp365 lets you block a number by channel, and it processes STOP replies automatically so opted-out people stop receiving messages.

Block a number on a contact

Open a contact and click the menu next to a phone number. You can switch on three blocks:

  • DNC (Do-Not-Call) — stops AI voice and campaign calls to that number
  • DNT (Do-Not-Text) — stops SMS to that number
  • Spam — your manual block list

Active blocks show as badges under the phone number. A lock icon means the block was set by the contact's own request and is kept for compliance — those cannot be removed.

What each block stops

Blocks are enforced everywhere Revamp365 sends — manual messages, campaigns, and automations:

Block Stops
DNC AI voice agent and campaign calls
DNT One-off texts, blasts, and drips
Do-not-contact (whole contact) Texts and automated outreach to that person

Switching on the contact-level do-not-contact flag blocks texts and automated outreach for that person. To stop voice calls as well, also turn on DNC for their number.

How STOP opt-outs work automatically

When a contact replies STOP — or UNSUBSCRIBE, END, QUIT, CANCEL, and similar words — Revamp365 immediately:

  • Records the opt-out so no future texts go out
  • Adds a locked Do-Not-Text block to that number
  • Closes any active AI texting session so the bot stops replying

Your messaging numbers also carry carrier-level opt-out handling, so STOP is honored even before the app processes it. Because these opt-outs are contact-initiated, the resulting block is locked and cannot be lifted by hand.

Re-subscribing

A contact can opt back in by texting START, YES, or UNSTOP to the same number. If you placed a block yourself, you can remove it from the contact's phone menu. Blocks created by a contact's STOP request stay locked by design.

Compliance notes

  • Contact-initiated opt-outs are permanent on purpose, so an opt-out you are required to honor cannot be undone by accident. Honoring opt-outs is one part of your compliance obligations, not the whole of them — consent, Do-Not-Call, and calling-hour rules remain yours to meet.
  • Opt-outs are honored across texts and calls, not only the channel the request came in on.
  • A message to an opted-out number will not send. If you are troubleshooting a non-delivery, see Read SMS delivery statuses and fix failed messages.

Read SMS Delivery Statuses and Fix Failed Messages

Every text you send moves through a series of delivery states. Knowing what each one means — and what a failure is telling you — makes it much faster to fix a message that did not get through.

Where to see delivery status

Open any conversation in the SMS area. Each outbound message shows its state:

  • A single check mark — sent to the carrier
  • A double check mark — delivered (or read)
  • Red Not delivered text — the message failed or was undelivered; hover it to see the carrier's error detail

What each status means

  • queued or sending — accepted and on its way out
  • sent — handed off to the carrier network
  • delivered — confirmed delivered to the handset
  • undelivered — the carrier accepted it but could not deliver it
  • failed — the send was rejected before it reached the recipient
  • read — the recipient's app reported the message as read

Why messages fail or go undelivered

Most delivery problems come down to a few causes:

  • A2P registration is not approved. Texting US and Canada numbers requires a registered 10DLC campaign. If your campaign is not VERIFIED, major carriers such as T-Mobile, AT&T, and Verizon may block messages — this commonly appears as error 30034.
  • Missing Privacy or Terms URLs on your campaign — often error 30908.
  • Invalid or non-mobile number — landlines and bad numbers come back as undelivered.
  • The recipient opted out — a message to an opted-out number will not send.

Fix a blocked or failed send

Work through this checklist:

  1. Open the Campaigns tab and confirm your A2P campaign status is VERIFIED, not in progress or failed.
  2. Confirm the sending number is active and attached to that campaign.
  3. Check that the recipient's number is a valid mobile number.
  4. Confirm the recipient has not opted out — see Mark a contact DNC and understand STOP opt-outs.

A2P registration and sending

For US and Canada numbers, Revamp365 requires a registered messaging service before it will send. If you try to send without one, the message is rejected up front rather than failing later. While a campaign is still pending review, carriers may quietly drop messages, so it is worth waiting for the VERIFIED status before launching a large send.

Activate Texting With the Trust Center A2P Checklist

Texting US and Canada numbers from Revamp365 stays blocked until your A2P 10DLC registration is approved. The Trust Center walks you through three carrier-required steps; until they clear, sends return an A2P_MESSAGING_SERVICE_REQUIRED error.

Open the Trust Center

Go to AI Voice → A2P Registration (the /activate-texting link redirects here). This is the Revamp365 Trust Center, your hub for compliance and 10DLC. On first visit, an onboarding journey card lists your three steps with a status pill on each: Not started, In progress, Action needed, or Complete.

Step 1 — Trust Hub profile and brand

Click Register Trust Hub profile (or Resume registration if a draft exists) and complete the questionnaire about your legal business. Revamp365 submits your customer profile, A2P Trust Product, and brand to our telecom carrier. The profile card then shows two pills — Identity Verification and Business Verification — plus a trust score out of 100 and your TCR Brand ID once issued.

Profile review typically takes 1–5 business days. Use Refresh status to pull the latest status. If a pill reads rejected, fix the flagged details and resubmit, or contact support when an A2P Trust Product is rejected (for example, error 30794).

Step 2 — Compliance page and conversational A2P

Carriers require a public page proving how customers opt in. Revamp365 builds one for you:

  1. Add your logo, brand color, and a one-line tagline.
  2. Enter your market (city/state) and a public contact email.
  3. Pick the number shown on your public website from your purchased SMS-enabled numbers.
  4. Click Build compliance page.

Generation runs about 15–30 seconds (generation_status moves from processing to ready). If the status returns needs_review, your page is live but opt-in proof is incomplete. See create a compliant opt-in proof page for the exact evidence required.

Step 3 — Marketing A2P (USA2P) campaign

Once your brand is approved, an Action needed callout appears: "Submit your A2P marketing campaign." Click Review and submit to open the campaign wizard, which has six steps:

Step What you confirm
Opt-in HTTPS opt-in URL, disclosure language, screenshot of the live form
Basics Business and campaign description
Messaging Message flow and opt-in/opt-out keywords
Samples Sample messages carriers review
Number The SMS-capable number to send from
Review Final check and submit

The campaign status drives the rest:

  • IN_PROGRESS — under carrier review.
  • VERIFIED — done; you can now send compliant messages from attached numbers.
  • FAILED — open Edit & resubmit. The fix a rejected A2P campaign article covers the common rejection reasons.

Confirm texting is active

When all three rows show Complete and your campaign is VERIFIED, attach a number to the campaign and send a message. A blocked send returns error 30034 at major carriers — that means the campaign is not yet verified or the number is not attached. From there you are ready to run an SMS blast campaign.

How to Fix a Rejected A2P 10DLC Campaign

When carriers reject your A2P 10DLC campaign, Revamp365 marks it FAILED and shows the carrier's reason so you can fix the copy and resubmit. Here is where the rejection appears and how to correct the most common causes.

Where the rejection shows up

Open the Trust Center at /ai-voice?tab=a2p and scroll to the Text message compliance (A2P 10DLC) section. In the A2P campaigns table, a rejected campaign shows a red FAILED status (the table relabels VERIFIED as ACTIVE and IN_PROGRESS as IN PROGRESS).

Directly under the carrier identifiers, the carrier's rejection_reason is printed in a red box. If you have resubmitted before, expand Previous attempts to see each prior attempt's status and its own rejection text — useful for spotting a recurring issue.

Edit and resubmit

A FAILED campaign shows an Edit & resubmit button. Click it to open the Review A2P campaign wizard, which walks six steps: Opt-in, Basics, Messaging, Samples, Number, and Review.

  1. Fix the offending fields (see the table below).
  2. On the Review step, run Check approval. The Approval Copilot returns a red / amber / green verdict and lists per-field issues tagged blocker, warning, or suggestion.
  3. Clear every blocker. The Submit to carriers button stays disabled on a red verdict or while any blocker remains, and editing after a check marks the verdict stale until you re-check.
  4. Click Submit to carriers. Each resubmission registers a fresh campaign and incurs its own at-cost vetting fee; review then typically takes 5–15 business days.

Common rejection reasons and fixes

Rejection cause What to change in the wizard
Sample-message mismatch On Samples, give at least two messages that match your stated use case; at least one must contain the word STOP.
Missing opt-out / help Include STOP (opt-out) and HELP in your samples and message flow.
Privacy clause missing On Messaging, the Privacy field must contain the exact clause "Mobile information will not be shared…" with third parties for marketing.
Opt-in proof (own website) On Opt-in, choosing My own website requires the opt-in URL, the verbatim consent disclosure, and a screenshot of the unchecked SMS checkbox.
Business identity mismatch The business name in your copy must match your Trust Hub legal/brand name.
Cold or purchased contacts Describe inbound consent only — never reference cold outreach, purchased lists, or skip-traced numbers.
Unfilled placeholders Replace any remaining [bracketed] tokens in the description, flow, consent, or samples.

The simplest opt-in path is the hosted compliance page Revamp365 builds for you (the Recommended option) — carriers review the live page, so no screenshot is needed. To strengthen that page first, see create a compliant opt-in proof page.

When copy edits will not help

A few carrier codes cannot be cleared by regenerating copy. Codes 30882, 30885, and 30955 require a campaign change or support; code 30930 means the brand hit its campaign limit — delete or consolidate unused campaigns first. If your status sits at MANUAL SETUP or the brand itself was rejected, that blocks the campaign upstream; resolve the brand before resubmitting. Once verified, you can run a SMS blast campaign from your enabled number.

Run an SMS Blast Campaign

An SMS Blast sends one or more message waves to a batch of contacts from one of your purchased numbers. Campaigns are built and sent from the AI Voice & Chat area, and a few carrier-compliance gates must be cleared before the blast will go out.

Before you start: A2P registration

You cannot create a blast until you have an approved Trust Hub profile. Until then, the Create Campaign button is disabled and an "A2P Registration Required" banner links you to A2P Registration. The selected profile must also carry its own Privacy Policy and Terms of Service URLs — missing URLs cause TCR rejection (error 30908). If yours was rejected, see fixing a rejected A2P campaign.

Open the SMS Blast tab

  1. In the sidebar, open AI Voice & Chat.
  2. Click the Campaigns tab, then the SMS Blast sub-tab.
  3. Click Create Campaign to open the 3-step builder.

Step 1 — Basic info

Field What to enter
Campaign Name An internal label (e.g. "Q1 Seller Outreach")
Trust Hub Profile An approved A2P brand profile
Phone Number The purchased number used as the sender / caller ID
How do recipients opt in? 40–2000 characters describing the exact consent mechanism

The opt-in description is read manually by TCR reviewers, so be specific — vague answers trigger rejection (error 30896). A ready-to-paste website opt-in checkbox template is shown here for your contact form.

Step 2 — Messages and schedule

Add 1 to 5 message samples. Each must be 20–1600 characters. Note that blast messages are sent as written — there are no merge variables, so the same text goes to every recipient. Always include opt-out language such as "Reply STOP to unsubscribe."

Each message wave has its own Schedule Type:

  • Manual — only sends when you click Start Blast
  • After TCR Approval — auto-sends once TCR status is VERIFIED
  • Scheduled Date & Time — auto-sends at the time you set
  • Immediately (Skip TCR) — auto-sends on the next run (roughly every 15 minutes)

Step 3 — Audience

Choose who receives the blast:

  • Select Contacts By Tags — target a single tag (the count of matching contacts is shown)
  • All Contacts — every contact in your list

Click Create Campaign to save it. Duplicate phone numbers are de-duplicated automatically, so a contact never gets the same wave twice.

Send the blast

On the campaign card, click Start Blast. If the campaign's TCR status is not VERIFIED, a confirmation warns that major carriers (T-Mobile, AT&T, Verizon) may block delivery (error 30034) — you can choose Send Anyway. Cards set to an auto schedule show a disabled "Auto:" button instead; edit the campaign and switch the schedule to Manual to send right away.

When sending, the campaign automatically skips:

  • Numbers that replied STOP (opted out)
  • Numbers blocked as DNT (Do-Not-Text) or Spam

The card's progress bar tracks messages sent against total contacts, and the status flips to Completed when the wave finishes. To review what was delivered, check SMS delivery statuses and errors.

Build an SMS Drip Sequence

Revamp365 has no separate "drip" tool — you build a multi-step text sequence in the Automations engine by chaining Send SMS actions with Wait steps between them. The same builder handles delays, reply branching, and opt-out stops, so one automation drives the whole cadence.

Open the builder and pick the start trigger

The Automations engine is a paid feature on Pro+ and Dealmaker plans, and your phone number must be verified to reach it.

  1. Go to Automations and click + Create automation. A full-screen builder opens on the Trigger tab.
  2. Name it (for example, "Cold lead 4-touch SMS") and pick a Trigger event — Contact created, Lead status changed, Tag added, and List added are common drip starters.
  3. Set a Re-enrollment policy: Once per record (default) so a contact never gets the same drip twice, Every time the trigger fires, or Cooldown with a minimum gap in minutes.
  4. (Optional) On the Filter tab, add conditions like lead_status equals Cold so only matching contacts enter the sequence.

Chain Send SMS and Wait steps

Each step runs in order. Insert a Wait before every follow-up to space the touches out.

  1. On Step 1, choose Send SMS (under Communications). Write the Message — bodies support variables like {{ contact.first_name | default("there") }} and an optional Media URL.
  2. Pick the From phone number, or leave it blank to use your first active number.
  3. Click Add step, choose Wait (under Flow control), and set a Delay value plus Unit (minutes, hours, or days; the default is 1 day).
  4. Repeat: alternate Send SMS and Wait for each touch. You can add up to 25 steps total.

A four-touch drip looks like this:

Step Type Setting
1 Send SMS Intro message
2 Wait 2 days
3 Send SMS Follow-up
4 Wait 3 days
5 Send SMS Final nudge

Handle replies and opt-outs

Every Send SMS step re-checks the contact before it fires, so later touches are skipped automatically when a contact opts out mid-drip:

  • Respect DNC and Respect quiet hours are toggles on the step, both on by default. Quiet hours block sends during the configured overnight window.
  • If the contact replied STOP (or UNSUBSCRIBE / END / QUIT / CANCEL), Revamp365 records the opt-out and the next Send SMS step throws an opt-out block instead of texting. The same happens if the contact is flagged do-not-contact. See mark a contact DNC and understand STOP opt-outs.

A blocked send only stops that one message — to halt the rest of the sequence on a reply, end the enrollment explicitly:

  • Add a Branch if step; its false branch stops the run, or add an Exit automation step under Flow control.
  • Or build a second automation triggered by Inbound SMS received (or SMS opt-out received) whose action is Unenroll from another automation, pointing at your drip.

Go live and monitor

New automations save as Draft. Flip the On / Off switch on the Automations list to activate. Turn on Dry run on the Trigger tab first to log what each step would send without texting anyone. Once live, open the Logs tab to watch enrollments and per-step runs, and confirm Wait steps are delaying as expected. For trigger, condition, and action details, see automation triggers, conditions, and actions.

Campaign Sending Windows, Quiet Hours, and Daily Caps

Controlling when calls and texts go out lets you enforce the contact windows you are responsible for determining, and keeps a campaign moving instead of looking frozen. You decide which hours the law allows for your campaigns; these settings carry out that decision. The settings differ between Voice Campaigns, SMS Blast, and automation-driven SMS, so the right place to set them depends on the channel.

Voice campaign calling windows and timezone

Open Campaigns in the AI Voice area and pick the Voice Campaigns sub-tab. The campaign builder's schedule step (the "Calling Schedule" panel) controls exactly when the dialer is allowed to place calls:

  • Per-day windows — each day of the week is a toggle. Enable a day, then set one or more start–end time windows on it (the default is 09:00–17:00). Disabled days show "Unavailable" and are skipped. If no day is enabled, the cadence will not run.
  • Timezone — all windows are evaluated in the campaign's timezone (Eastern, Central, Mountain, Pacific, Arizona, Alaska, or Hawaii). Calls default to America/New_York if you leave it.
  • Max Calls Per Hour (optional) — a soft throttle. Leave it blank for no hourly limit.

These windows are not just an initial schedule. Every call re-checks the day, the time window, and the hourly cap at the moment it is about to dial. A call that comes due outside an allowed day or window is pushed back to the next valid start time and returned to pending — it is never dropped. If the hourly cap is already hit, the call is rescheduled about five minutes out and retried.

Voice per-number daily caps and rotation

Two campaign fields protect your phone numbers from carrier spam flags by spreading volume:

Setting What it does Default Range
Max calls per number per day Daily cap per sending number before it is rested 200 1–500
Calls before number rotate Calls placed before rotating to the next pool number 5 1–50

When you attach a number pool, the dialer always picks the least-loaded number under its daily cap and increments that number's daily counter; counters reset each day. If every pooled number has hit its cap, no further calls go out until the next day's reset — which is the most common reason an otherwise active voice campaign appears stuck.

SMS Blast send timing

The SMS Blast sub-tab does not use quiet-hour or per-hour controls. Instead, each message in the blast has its own schedule type:

  • Manual — held until you send it.
  • After TCR approval — queued to send once your A2P/TCR campaign registration is approved.
  • Scheduled — sends on the date and time you pick.
  • Immediately — sends as soon as the campaign runs.

Choose Scheduled to land messages inside daytime contact hours. You must complete A2P registration before any SMS blast will send, or messages fail with carrier error 30034.

Quiet hours for automation SMS

Automated texts sent by the Send SMS automation action have a Respect quiet hours toggle (on by default, alongside Respect DNC). When enabled, any send attempt during quiet hours is blocked and the step records a sms_quiet_hours_block. The default quiet window is 9:00 PM to 8:00 AM. Leaving this on keeps drip and trigger-based texts out of late-night and early-morning hours automatically.

How these settings prevent compliance and "stuck" problems

  • Calling windows and quiet hours keep outreach inside lawful contact hours instead of relying on you to start campaigns at the right moment.
  • Per-number daily caps and rotation distribute volume so no single number burns its reputation.
  • Out-of-window calls are rescheduled, not failed, so a paused-looking campaign is usually just waiting for its next window or a daily counter reset — not broken.

If a campaign looks frozen, confirm at least one day is enabled, the current time falls inside a window for the campaign's timezone, and your pool numbers have not all hit the daily cap. To watch progress and tell "waiting" apart from "errored," see pause, resume, and monitor a running campaign.

Pause, Resume, and Monitor a Running Campaign

Once a campaign launches, the Campaigns area is where you watch it work and step in if you need to. The controls and live stats differ between an SMS Blast and a Voice Campaign, so this covers both.

Find your running campaigns

Open the Campaigns area. It splits into three sub-tabs: Voice Campaigns, SMS Blast, and SMS Drip (coming soon). Pick the tab that matches the campaign you launched. The SMS Blast list refreshes itself about every 20 seconds; the Voice Campaigns table refreshes roughly every 10 seconds, and you can hit Refresh to pull the latest immediately (it shows "Updated Xm ago").

SMS Blast: statuses and live stats

An SMS Blast sends in one shot. Each campaign card shows a status badge that moves through:

  • PENDING — created, not sent yet (the action button reads Start Blast)
  • SENDING… — the blast is going out (the card shows a "Sending… Processing Batch" overlay)
  • COMPLETED — every message has been handed off

Because a blast runs straight through to completion, there is no pause button for an SMS Blast — once you click Start Blast it finishes the run. While it sends, watch:

  • The Messages Sent progress bar on each card (sent / total contacts)
  • The four summary cards at the top: Completed Campaigns, Total Audience, Messages Sent, and Pending Campaigns
  • The TCR Status chip (VERIFIED, IN_PROGRESS, FAILED, or Not Synced) — if it is not VERIFIED, carriers may block delivery (error 30034)

For per-message delivery results, see Read SMS delivery statuses and fix failed messages.

Voice Campaign: pause, resume, and stop

A Voice Campaign dials over time, so it has real run controls. Its status is one of: draft, scheduled, active, paused, completed, or cancelled. Use the Filter dropdown to show only one status.

To control one or more campaigns:

  1. Tick the checkbox on each campaign row in the Voice Campaigns table.
  2. Open the Actions menu.
  3. Choose Pause Active to halt dialing, or Start Drafts to launch selected drafts.

Rules the system enforces:

Action Allowed when status is Result
Pause active Dialing stops; campaign becomes paused
Resume paused Dialing continues; campaign returns to active
Stop active or paused Pending calls are cancelled; campaign becomes cancelled

Pausing leaves in-progress calls alone and simply stops new ones from being placed, so you can resume right where you left off. Stopping is permanent — it cancels every pending call.

Voice Campaign: what to watch live

Click a campaign row to open its details, where the stats update as calls complete:

  • Total Recipients, Completed, Pending, Retries Pending, and Failed cards
  • A Completion Rate bar (share of recipients whose calls reached a final state)
  • A Status Breakdown and a Call Dispositions chart covering pickup and outcomes — Qualified - Interested, Callback Requested, No Answer / Voicemail, Wrong Number / Not Owner, Do Not Call (DNC), and more
  • Talk Time and Tasks Completed by your callback automations

A blue retry badge on the status cell shows how many calls are queued for another attempt. Once no calls are still pending, the campaign flips itself to completed.

Quick tip

If a paused or completed voice campaign has enough finished calls, you can generate an AI performance summary from its details view to see what went well and what to change next time.

Create a Compliant Opt-In Proof Page for A2P Review

When you register an A2P 10DLC campaign, carriers and TCR want to see exactly how consumers consent to your texts. Revamp365 generates a hosted opt-in page that shows the unchecked consent checkbox, the disclosure language, sample messages, and your business verification — and captures a real, timestamped consent record every time someone opts in.

Where the opt-in page lives

Each compliance page is published at a top-level slug, https://revamp365.ai/{slug}, with a dedicated SMS opt-in screen at https://revamp365.ai/{slug}/opt-in. Legacy /compliance/{slug} URLs still resolve, so any link you already submitted keeps working. The page only renders once it is published (generation_status is ready or needs_review and published_at is set); an unpublished slug returns 404.

The opt-in screen is server-rendered for crawlers, so a non-JS carrier or TCR bot sees the business name, disclosure, sample messages, and working Privacy/Terms links in the first HTML response — not an empty app shell.

What a carrier reviewer sees on the page

The /opt-in page renders three reviewer-facing blocks:

  1. Business verification — legal name, DBA, state of incorporation, year founded, physical address, and your operating website, pulled from your Trust Hub profile.
  2. Primary consumer opt-in — the lead-capture form with an SMS consent checkbox that is unchecked by default, plus your disclosure text.

  1. SMS messaging disclosure — the full consent language, a line stating your number is not shared with third parties for marketing, Privacy/Terms links, and a phone mockup of your sample messages footed with "Reply STOP to opt out."

Two ways to prove opt-in

In the campaign review wizard you pick where consent is collected:

Option What carriers review What you must supply
The compliance page Revamp365 hosts (Recommended) Your live hosted opt-in page Nothing extra — the checkbox and disclosures are already on the page
My own website Your external lead form Primary opt-in URL (https://), exact consent language, and a screenshot of the unchecked checkbox

If you choose the hosted page, the wizard requires it to be published before you continue. If you choose your own site, all three evidence fields are mandatory, and the URL cannot be a Revamp365-hosted address.

Steps to publish your proof page

  1. Generate the compliance page so it gets a slug and published_at timestamp.
  2. Open the A2P campaign review wizard and, under opt-in source, select The compliance page Revamp365 hosts for me.
  3. Confirm the green banner shows your live page URL, then visit /{slug}/opt-in and verify the consent checkbox is unchecked and the Privacy and Terms links open.
  4. Submit the campaign for carrier review.

For the prerequisites that gate publishing, see the Trust Center activation checklist.

What gets captured as consent proof

When a consumer enters a valid 10-digit US mobile number and checks the box, Revamp365 normalizes the number to E.164 and writes an A2pOptInConsent record. It snapshots the exact disclosure shown (re-derived server-side, never trusted from the browser) plus the IP address, user agent, and consented_at timestamp. Re-opting in with the same number updates the existing record in place instead of creating duplicates, and a submission without the checkbox is rejected with a 422.

The default disclosure includes "recurring SMS/MMS," "Msg & data rates may apply," "Reply STOP to opt out or HELP for assistance," and "Consent is not a condition of purchase."

If carriers reject the campaign over consent evidence, see how to fix a rejected A2P campaign.

Pick Contacts for a Voice or SMS Campaign

Both voice and SMS campaigns in Revamp365 live on the AI Voice & Chat page under the Campaigns tab. How you pick recipients depends on which sub-tab you open — Voice Campaigns gives you a full filter panel, while SMS Blast uses a simpler tag-or-everyone model.

Open the campaign builder

  1. Go to AI Voice & Chat (/ai-voice) and click the Campaigns tab.
  2. Choose a sub-tab: Voice Campaigns, SMS Blast, or SMS Drip (coming soon).
  3. Click Create Campaign.

SMS Blast requires a completed A2P registration first; if you see the A2P Registration Required banner, the Create Campaign button stays disabled until you finish it.

Select recipients for a voice campaign

In the voice builder, audience selection is Step 2: Select Recipients. Each filter narrows the list further, and a live count shows how many contacts qualify.

Filter What it does
Contact View Apply a saved view's filters as the starting set (optional)
Tags Match by tag, with an operator (is, is not, is any of, is none of)
Lead Status Limit to one lead status
Lead Source Limit to how the lead was acquired
Phone Status Valid Phone Only (default) or Any

As you change filters, the blue box updates to read "N contacts will receive this campaign." Turn on Call all phone numbers to dial every valid number on each contact instead of just the primary one — the count then also estimates total phone numbers.

When the audience looks right, continue through Schedule, Call Flow, and Review, then click Create Campaign.

Select an audience for an SMS Blast

The SMS Blast builder is three steps (Basic Info, Messages, Audience). On Step 3: Audience, pick one option:

  • Select Contacts By Tags — choose a single tag from the dropdown. Each tag shows its contact count, e.g. Cash Buyer (142).
  • All Contacts — message every contact in your list. A warning reminds you this sends to every saved phone number.

Save the campaign, then use Start Blast on its card to send. Note that SMS campaigns also pass through TCR review before major carriers will accept the traffic.

Build the tags and views first

Both builders read directly from your CRM, so the cleaner your contact data, the tighter your audience:

  • Tag and segment contacts on the Contacts page — see use tags, saved views, filters, and lists.
  • Set lead status so the Lead Status filter has something to match — see set lead status and temperature.

Tips for a clean audience

  • Keep Phone Status on Valid Phone Only for voice campaigns so you do not waste dials on numbers that failed validation.
  • A saved Contact View plus extra filters stack together (AND) — the view sets the base, the filters trim it down.
  • Watch the recipient count before moving on; a count of 0 means your filters are too strict or no contacts carry that tag.
  • Selecting All Contacts for SMS has no preview count, so confirm your list size on the Contacts page first.

Read SMS Campaign Analytics: Sends, Delivery, Replies, and Outcomes

After you launch an SMS Blast, Revamp365 splits reporting into two places: the per-campaign cards under SMS Blast, and the Analytics dashboard for connected-conversation outcomes. Knowing which surface answers which question saves you from guessing whether a number means "sent" or "answered."

Read per-campaign send and delivery stats

Open AI Voice → Campaigns → SMS Blast. Each campaign renders as a card with a live progress bar and status badges.

  • Messages Sent — a progress bar showing contact_count / total_contacts (how many of the targeted audience were messaged).
  • Status badge — COMPLETED once the blast finishes, otherwise PENDING (or SENDING… mid-run).
  • TCR Status — carrier registration health: VERIFIED, IN_PROGRESS, FAILED, or Not Synced. Major carriers only accept A2P traffic after TCR approval, so a FAILED badge here is your first delivery red flag.
  • Contacts and Caller ID — the audience size and the sending number.

The four tiles at the top of the tab summarize everything: Completed Campaigns, Total Audience, Messages Sent, and Pending Campaigns.

If a campaign shows a No Messaging Service warning, sends can fail with Error 30034. Use the inline Link button to attach it before reading any delivery numbers as final. For status-code-level troubleshooting, see reading SMS delivery statuses and errors.

Read pickup and outcomes in the Analytics dashboard

Go to AI Voice → Analytics. This dashboard reports on connected conversations handled by your AI agent — the pickup and outcome layer that the SMS Blast cards do not show.

Pick a window with the time-range selector and narrow by agent:

Control Options
Time range Last 7 / 30 / 90 days, Last year, All time
Agent filter All agents, or a single agent

Key widgets and what each measures:

  • Call Picked Up Rate — percentage of calls answered over time (pickup).
  • Call Successful Rate — share marked successful (outcomes).
  • Disposition Breakdown — Qualified/Interested, Not Interested, and similar results.
  • Interest Level — Hot, Warm, or Cold leads.
  • Phone Inbound/Outbound — direction split, useful for gauging replies and callbacks.
  • Voicemail Rate, Total Calls, Total Talk Time, Total Cost.

Customize and read the widgets

  1. Click Add to open the picker, choose a metric, then choose a display: Bar, Line, Pie, or Scorecard.
  2. Click Edit to drag and resize tiles, or Smart Layout to auto-arrange (use Undo to revert).
  3. Switch any tile's chart type from its header toolbar; layout changes save automatically.

For direct replies, open the Conversations tab, where inbound messages and threads live per contact. To turn a hot reply into follow-up, log it on the contact timeline.

Which surface answers which question

  • "Did it send?" → SMS Blast card Messages Sent and TCR Status.
  • "Did they pick up / convert?" → Analytics Call Picked Up Rate, Disposition Breakdown, Interest Level.
  • "What did they say back?" → Conversations tab.

Read the SMS Blast cards right after a send to confirm delivery health, then check Analytics once conversations accrue to judge pickup and outcomes.

Hand a Cadence Reply to an SMS AI Agent: How the Toggle Behaves

Hand the reply to an SMS AI agent is a setting on one individual text inside a workflow. When the contact texts back, the campaign stops and an SMS AI agent picks up the thread and answers what they said. The behavior that surprises people is where the setting lives and how long it stays armed, so this walks through both.

Where the setting lives

  1. Open AI Voice & Chat in the left navigation and click the Workflows tab.
  2. Click Create Workflow, or click an existing workflow to open it.
  3. Go to the Cadence step of the builder and expand any SMS step.
  4. Tick Hand the reply to an SMS AI agent, then pick an agent from the dropdown underneath.

The checkbox only appears if you already have at least one SMS AI agent built. If you tick it and leave the agent dropdown empty, the app warns you that it falls back to just pausing the campaign — because it does.

Ticking it also ticks Pause campaign if the contact replies for you. The agent and the campaign are never allowed to text the same person at once, so the handoff always stops the campaign first.

If the workflow has other texts you wrote yourself, you get a prompt: Apply this to every SMS in the workflow? Choose Apply to all unless you deliberately want only one text to hand off.

The setting belongs to the text, not the contact

This is the part that catches people out. The toggle is stored on that one SMS step. It is not a property of the contact, the workflow as a whole, or the phone number.

When a reply comes in, Revamp365 looks at the last text that workflow sent to that person, and reads the setting off that step. So:

  • If only step 3 has the toggle on and step 5 was the last text sent, nothing hands off.
  • The same contact can hand off from one workflow and not from another.
  • A contact who has texted you many times before may suddenly trigger a handoff the first time a workflow with the toggle on happens to be the last thing that texted them.

Turning it on for every text in the workflow removes the guesswork, which is why the app offers to do it.

All the conditions that have to line up

A handoff only happens when every one of these is true:

Condition Detail
Right number The reply has to come back to the same number that workflow texted from.
Inside the window The workflow's last text to them has to be within the past 7 days.
Toggle plus agent That text's step has the toggle on and an agent selected.
A written text The step has to be one where you wrote the message. Steps already handled by an AI agent are not eligible.
Not already handed off This run of the workflow has not handed this contact off before.
No human in the thread Nobody has texted the thread by hand since the workflow's last message.

A STOP or HELP reply never reaches any of this — it goes down the opt-out path instead. See mark a contact DNC and understand STOP opt-outs.

A stopped campaign still hands off

A workflow does not have to be running for the handoff to fire. A campaign that has already stopped, or run to the end, still hands the reply over.

That is deliberate rather than a bug. The single most likely moment for someone to reply is to the last text of a campaign — by which point the campaign is finished for them. If the handoff needed a live campaign, the most valuable reply you get would be the one nobody answers.

The practical consequence: after the last text goes out, that campaign keeps a live claim on the conversation for 7 days, counted from that last text.

Two limits, added 28 August 2026

One handoff per run. Before this change, every reply inside the 7-day window started a brand new agent conversation, so one finished campaign could spawn several. Now a given run of a workflow hands a contact over once and once only.

Re-enrolling the contact in that workflow starts a new run, and a new run legitimately re-arms the handoff. That is the supported way to get another one.

A human takeover ends the claim. If a person texts the thread by hand after the workflow's last message, no handoff happens — the agent will not talk over someone who is already handling the lead. The campaign still pauses on their reply, which is protective either way. Texts sent by automations, campaigns, and agents do not count as a takeover; only ones typed by a person.

What happens on the replies after the first one

Once the handoff has happened:

  • If the agent conversation is still open, the agent keeps answering. Nothing new is started because nothing needs to be.
  • If the agent conversation has already finished, later replies inside the window do not start a fresh one. The run's single handoff has been spent.

If you want an agent watching that thread indefinitely, assign the agent to the contact directly rather than relying on a workflow's handoff.

A worked example

A contact was enrolled in a workflow by hand at 6:40 PM. The step-1 text went out immediately, they replied about fifteen seconds later, and the campaign stopped twenty-four seconds after it started — the reply arrived before the campaign had done anything else.

Two days later they texted the same number again. Under the old behavior that reply started a second, separate agent conversation, because the 7-day window was still open. Under the current behavior it does not: the run already had its one handoff. If that first agent conversation is still live it answers; if it finished, the reply lands in your inbox for you to pick up.

If a handoff did not fire

Work down the conditions table above, in this order:

  1. Open the contact's Timeline and find the workflow's last outbound text. Was it sent from the same number they replied to, and was it inside the last 7 days?
  2. Open that workflow's Cadence step and check the setting on that text specifically — not on the workflow generally.
  3. Check the agent dropdown on that step is filled in.
  4. Check nobody on your team texted the thread by hand after that message.
  5. Check whether this run already handed off. The timeline shows an AI Agent enrolled row when it does.

None of this appears on the Automations Logs tab — workflows and AI agents are separate engines with no log page of their own. See why the Automations Logs tab doesn't show everything that ran, and who did this? reading the actor label for telling the two apart on the timeline.

Related: build an SMS drip sequence and use the contact timeline.

A2P 10DLC registration: get approved to send SMS in the U.S.

Why A2P 10DLC matters

U.S. mobile carriers require every business that sends SMS to a U.S. number to register a brand and a messaging campaign through The Campaign Registry. This is called A2P 10DLC ("Application-to-Person, 10-digit long code"). Unregistered traffic gets heavily filtered, throttled, or blocked outright.

Revamp365 routes SMS through our telecom carrier. Our telecom carrier exposes the registration flow as the Trust Hub. We surface the same flow inside the app as the Trust Center.

Time to complete: 15 minutes of forms + ~1–3 business days for carrier approval. Result: a registered brand + an approved campaign, linked to a Messaging Service that your numbers send through.

Until your campaign is approved, expect very low SMS deliverability. Don't run a real outreach until the Trust Center shows your campaign as approved.

The full registration path

  ┌──────────────────────┐
  │ 1. Trust Hub profile │  business identity (legal name, EIN, address)
  └─────────┬────────────┘
            ▼
  ┌──────────────────────┐
  │ 2. Customer profile  │  who is this for (you, an end-customer, etc.)
  └─────────┬────────────┘
            ▼
  ┌──────────────────────┐
  │ 3. A2P brand         │  identity verification with TCR
  └─────────┬────────────┘
            ▼
  ┌──────────────────────┐
  │ 4. A2P campaign      │  use-case + sample messages
  └─────────┬────────────┘
            ▼
  ┌──────────────────────┐
  │ 5. Messaging Service │  bucket numbers send through
  └──────────────────────┘

Open the Trust Center

  1. Sidebar → AI Voice & Chat → A2P Registration tab. (Old /sms?tab=a2pregistration URLs redirect here.)
  2. You'll see the Trust Center home — a single-page checklist of every step above.
  3. Click Register Trust Hub profile if you haven't started, or jump into the next pending step if you have.

Step 1 — Trust Hub business profile

Our telecom carrier needs the legal identity of the business that owns the SMS traffic.

Field What to enter
Legal business name The exact name on your EIN/W-9. Not the doing-business-as.
Business type LLC, S-Corp, Sole prop, Non-profit, etc.
EIN (U.S.) 9 digits, no dashes.
Business industry Pick the closest. "Real Estate" is the right answer for most Revamp customers.
Business address Must match what's on file with the IRS.
Authorized representative A real human at the business — name, title, email, mobile.

Common reject reason: legal name on Trust Hub doesn't match the EIN's IRS name. Use exactly what appears on a W-9, including punctuation.

Step 2 — A2P brand

The brand is the externally-visible sender identity carriers will associate with your messages. Submitting the brand triggers identity verification at The Campaign Registry; it usually completes within minutes.

Once approved you'll see a brand score — higher scores get higher throughput limits with carriers.

Step 3 — A2P campaign

The campaign describes the use case for your messages: what you'll send, who you'll send to, and the consent path.

  1. Pick a use case. For most Revamp customers: Mixed (lead alerts + customer care + 2FA), or Marketing (promotional outreach to lists).
  2. Provide 2–3 sample messages that look like real production sends. Include {{first_name}}-style variables; that's expected.
  3. Indicate how recipients opted in (web form, paper, in-person, etc.). You'll attach a screenshot or describe it in writing.
  4. Submit. Carrier review takes 1–3 business days. The Trust Center shows live status.

Sample messages must reflect actual traffic. Don't paste placeholder lorem ipsum — campaigns get rejected for it.

Step 4 — Messaging Service link

After your campaign is approved, every SMS-capable number you own must be added to a carrier Messaging Service attached to the campaign. The Trust Center handles this in one click.

  1. Open Trust Center → if you see the warning "Approved profile but Messaging Service missing", click Link Messaging Service.
  2. Confirm which of your numbers should send under this campaign.
  3. Click Refresh status to verify the bind landed on our telecom carrier's side.

Keeping status fresh

Trust Center caches state so the page loads instantly. If a step shows "pending" for a long time, click Refresh status at the top to force a re-fetch from our telecom carrier's API.

Troubleshooting

What you see Meaning Fix
Brand: FAILED Identity didn't match TCR records. Edit business profile → match EIN/legal name exactly → resubmit.
Campaign: REJECTED with reason "Sample mismatch" Use case picked doesn't match the sample messages. Either change use case or rewrite samples.
Campaign approved but messages still filter Numbers not yet in the Messaging Service. Trust Center → Link Messaging Service → Refresh.
"Sending failed" error inside Conversations Number sending without an approved campaign. Confirm the number is bound to the Messaging Service for an approved campaign.
Approved profile, no Messaging Service warning won't clear The carrier status was cached. Refresh status. If it persists 1+ hour, contact support.

FAQ

Do I need A2P if I'm only sending to Canada? Canadian carriers don't run TCR but follow CWTA / CRTC rules. You still need carrier-grade compliance — open a support ticket if you're Canada-only.

Can I send while the campaign is pending review? Yes, but expect heavy filtering. Limit pre-approval traffic to Conversations 1-to-1 replies.

What's the difference between brand score 25 and 75? Higher = higher throughput per second + lower probability of carrier filtering. Keep your Trust Hub identity verification verified to keep the score up.

Do I have to re-register if I switch numbers? No — the brand + campaign stay. Just add the new number to the same Messaging Service.

Where do I see deliverability stats? Open SMS → Conversations. Each thread shows per-message delivery status. For aggregate stats, look at the Dashboard tab.