SMS Setup โ€” Step-by-Step Walkthrough

How to text sellers and buyers directly from thebestoffer.ai using your own Twilio account.

Estimated time: 30 minutes active work + 1-5 business days Twilio approval wait.

Video Walkthrough
๐ŸŽฅ Loom video coming soon โ€” we're recording the full flow screen-by-screen. In the meantime, follow the written steps below.
What you're building: a BYO ("bring your own") Twilio account connection. You create a Twilio account with us ($15 minimum funding), register the required A2P 10DLC compliance paperwork, buy a phone number (~$1.15/month), then connect it to Thebestoffer.ai. From then on, you can text sellers and buyers directly from Analyze Deal, Offer Tracker, and the Buyers CRM โ€” and their replies land in your Inbox.

What's in this guide

Why BYO Twilio (and not us doing it for you) What it costs Step 1 ยท Create your Twilio account Step 2 ยท Register your Brand Step 3 ยท Register your A2P Campaign Step 4 ยท Buy a phone number Step 5 ยท Create a Messaging Service Step 6 ยท Connect Twilio to Thebestoffer.ai Step 7 ยท Run the Readiness Check Step 8 ยท Send a test What happens when a seller calls? Important: TCPA compliance Troubleshooting common errors

? Why BYO Twilio?

Carriers require every business sending SMS to register their brand and use case. Each student needs their own registration for a few reasons:

$ What it costs

ItemOne-timeMonthlyPer-message
Twilio account funding (minimum)$15โ€”โ€”
A2P Brand (Low-Volume)$4โ€”โ€”
A2P Campaign (Low-Volume)โ€”$2โ€”
Phone numberโ€”$1.15โ€”
Outbound SMS (US)โ€”โ€”~$0.008
Inbound SMS (US)โ€”โ€”~$0.0075

For most students sending 50-200 messages/month: expect $5-$10/month in ongoing costs on top of your Thebestoffer.ai Pro subscription.

1 Create your Twilio account

  1. Go to twilio.com/try-twilio
  2. Sign up with your business email and create a password.
  3. Verify your email, then verify your mobile phone (Twilio texts you a code).
  4. On the setup questions ("What do you want to build?"), pick SMS. For "Who will use your product?", pick Me and my team.
  5. Once you reach the Twilio Console, click "Upgrade" in the top-right (you can't send SMS on the free trial โ€” you need to add $15+ to your account).
Tip: Add $20 to be safe. First registrations eat into funding faster than ongoing operations.

2 Register your Brand (~1-2 business days)

Your Brand is your business identity on Twilio. Carriers use it to verify you're a real business.

  1. In Twilio Console: Messaging โ†’ Compliance โ†’ Brands (or console.twilio.com/us1/account/compliance/a2p-10dlc/brands)
  2. Click Create a Brand.
  3. Fill in:
    • Brand Type: Low Volume Standard (cheapest, 1000 msg/day cap โ€” plenty for most wholesalers)
    • Legal Business Name: exact name on your LLC/business registration
    • Business Type: LLC / Sole Prop / etc.
    • Business Industry: Real Estate
    • Business Regions: USA
    • EIN: your business tax ID (or SSN if sole prop under personal name)
    • Address: business address
    • Website: your website (or your Thebestoffer.ai lead page โ€” thebestoffer.ai/s/your-slug)
  4. Submit. Pay the $4 fee. Approval usually comes within 2 business days โ€” most take under 24 hours.
Heads up: use your EXACT legal business name as it appears on your Articles of Incorporation / LLC filing. Mismatches get rejected.

3 Register your A2P Campaign (~1-5 business days)

This is the most important step. Your Campaign description tells carriers exactly what messages you'll send. If your description doesn't match what you actually send, the carrier filters your messages (error 30007).

  1. In Twilio Console: Messaging โ†’ Compliance โ†’ Campaigns
  2. Click Create a Campaign, select the Brand you just registered.
  3. Fill in:
    • Campaign Use Case: Low Volume Standard
    • Campaign Vertical: Real Estate
    • Campaign Description: This is the critical field. Read the next section carefully.

The Campaign Description โ€” paste this and customize

Important: this exact text has been battle-tested to pass A2P vetting for real estate wholesalers. Customize only the [your business name] parts.

Paste this verbatim as your Campaign Description:

WHO SENDS: [your business name], a real estate investment company based in [your city, state]. We buy residential properties for cash.

WHO RECEIVES: Property owners and real estate investors who have either (a) submitted a form on our website or a property-owner lead microsite asking us to contact them about selling their home or buying investment properties, or (b) have spoken with us by phone and expect our text follow-up.

WHY: Follow-up messages regarding their property or investment interest โ€” questions about the property, cash offer details, closing timeline, scheduling a call, and sending/receiving contracts. Sample use cases include responding to inbound leads, following up on offers we've made, and texting cash buyers on our list about new deal opportunities they've opted in for.

SAMPLE MESSAGES:
1. Hi [Name] โ€” this is [Owner] from [Business]. Thanks for filling out my form about [address]. I'd like to make you a cash offer. When's a good time to chat? Reply STOP to unsubscribe. Msg & data rates may apply.
2. Hi [Name] โ€” [Owner] from [Business], following up on my $90,000 offer for [address]. Any thoughts? Happy to answer questions. Reply STOP to opt out.
3. Hi [Name] โ€” [Owner] here with a new deal matching your buy-box: 3bd/2ba in [city] under contract at $85k. Want details? Reply STOP to unsubscribe.

All messages honor STOP and HELP keywords per CTIA guidelines.

Opt-in Message Flow field

Twilio will also ask how end-users opt in. Paste this:

Opt-in flow: End-users opt in by (a) submitting a form on my property-owner lead microsite at thebestoffer.ai/s/[my-slug] with an explicit consent checkbox reading "I agree to receive SMS from [Business Name] about my property. Msg & data rates may apply. Reply STOP to opt out." or (b) submitting a buyer intake form at thebestoffer.ai/join with the same consent language, or (c) by giving verbal consent during a phone call with me, which I record in my Thebestoffer.ai contact notes and acknowledge in the Thebestoffer.ai Send SMS modal before each cold outreach text.

Opt-out / Help messages (standard)

  1. Submit. Pay the $10 Campaign fee. Vetting takes 1-5 business days.
What success looks like: you'll get an email "Your A2P 10DLC campaign is approved" within a few business days. Save that email โ€” it's your delivery proof.

4 Buy a phone number

  1. In Twilio Console: Phone Numbers โ†’ Manage โ†’ Buy a Number
  2. Select United States.
  3. Capabilities: check SMS AND Voice. (Voice is ~$0.014/min of connected call time โ€” we use it to forward incoming calls to your cell phone and record voicemail when you miss one.) Uncheck MMS unless you specifically need picture messaging.
  4. Number type: Local.
  5. Area code: pick something matching your target market (e.g., 443 or 410 for Baltimore, 404 for Atlanta, etc.). Local numbers get answered more than toll-free.
  6. Pick any number from the results and click Buy. $1.15/month billed to your Twilio account.

5 Create a Messaging Service + attach your number

The Messaging Service is the "sender pool" where your A2P Campaign lives. Your phone number goes inside it.

  1. In Twilio Console: Messaging โ†’ Services โ†’ Create Messaging Service
  2. Name: [Your Business] Property Outreach
  3. Use case: Notify my users (or "Mixed" โ€” doesn't matter much)
  4. Click Create Messaging Service.
  5. In the service's Sender Pool tab: click Add Senders โ†’ Phone Number โ†’ select the number you bought โ†’ Add Phone Numbers.
  6. Make sure your Campaign (from Step 3) is attached to this Messaging Service. Twilio typically auto-attaches it; if not, go to Messaging โ†’ Compliance โ†’ Campaigns, open your Campaign, and set the Messaging Service.

6 Connect Twilio to Thebestoffer.ai

This is the easy part. Takes 2 minutes.

  1. In Twilio Console: top-right avatar โ†’ API keys & auth tokens. Click the Auth tokens tab. Reveal the Primary auth token. Copy it.
  2. Also copy your Account SID from the same screen.
  3. In Thebestoffer.ai: Dashboard โ†’ ๐Ÿ“ฑ SMS Setup (BYO Twilio).
  4. Paste the Account SID and Auth Token into the form.
  5. Click Verify & Load My Numbers. You should see a list of your phone numbers with an "A2P ready" status.
  6. Pick the number you just bought. Click Connect Selected Number.
  7. Done. We'll automatically configure the inbound webhook on your Twilio side so seller/buyer replies land in your Thebestoffer.ai Inbox.

7 Run the Readiness Check

After connecting, click the ๐Ÿ” Run Readiness Check button on the SMS Setup card. You'll see a checklist:

If anything shows โš ๏ธ or โŒ, click the item for specific instructions to fix it. Most issues are "Brand/Campaign still pending approval โ€” wait 1-2 business days."

8 Send a test SMS

  1. Click ๐Ÿ“จ Send Test SMS on the SMS Setup card.
  2. Your phone should buzz within 5 seconds. If it doesn't, check your profile phone number is set correctly (Dashboard โ†’ Profile โ†’ Phone).
  3. Reply to the text from your phone. Within 15 seconds, the reply should appear in your Inbox (sidebar link in /app).

You should also receive an email notification when the reply arrives.

๐Ÿ“ž What happens when a seller calls your Twilio number?

Sellers often prefer to call than text โ€” especially older sellers. When they call your Twilio number:

  1. Twilio rings your personal cell (the Phone Number set on your Thebestoffer.ai profile) for 25 seconds.
  2. If you answer: you're talking to the seller live. Caller ID shows the Twilio number (not your personal cell) so your privacy stays intact.
  3. If you miss it: the caller hears "Sorry we missed you at [your business name]. Please leave a short message after the tone." They leave a voicemail up to 90 seconds.
  4. You get an email with the recording URL and a transcription (if Twilio could understand it) within ~1 minute.
Cost reality check: Twilio voice is ~$0.014/min for connected calls, ~$0.0025 per recording minute, plus ~$0.05 per transcription. A 2-minute live call costs you ~$0.03. A voicemail costs ~$0.08 including transcription. Cheaper than losing the lead.

This is all configured automatically when you connect via Settings โ†’ SMS Setup. Make sure the Phone Number field on your profile is set to your real cell โ€” that's where the forward goes.

โš–๏ธ Important: TCPA compliance

Read this carefully. $500-$1,500 per message in statutory penalties under US TCPA law.

Texting a cell phone requires prior express consent. Skip-tracing a phone number and cold-texting it is a TCPA violation, even if your intent is legitimate. Our software has guardrails but you are legally responsible for your own compliance.

Safe texting practices

Strongly recommended: consult a TCPA-focused attorney before you start texting at scale. A $5-10k legal consult protects you from catastrophic class-action exposure. Not optional if you're serious about SMS as a channel.

๐Ÿ”ง Troubleshooting common errors

Error 30007: Carrier Violation

Carrier blocked the message because the content doesn't match your A2P Campaign scope.

Fix: go to your Campaign in Twilio Console โ†’ check the Description. Does it describe property/seller/buyer outreach? If not, register a second Campaign scoped for this use case.

Error 30034: Number not registered for A2P

Your phone number is in a Messaging Service but the Service isn't tied to an approved A2P Campaign.

Fix: go to Messaging โ†’ Compliance โ†’ Campaigns, open your Campaign, confirm Messaging Service is attached.

Error 21610: User opted out

That phone number previously replied STOP. You cannot send to them until they reply START.

"Missing credentials" / "Twilio rejected those credentials"

Your Auth Token changed in Twilio (or you copied the wrong value โ€” API Key is not the same as Auth Token). Disconnect in Thebestoffer.ai, re-copy the Primary Auth Token, reconnect.

Messages send but don't arrive

Check Twilio Console โ†’ Monitor โ†’ Logs โ†’ Messaging. Click the message to see delivery status and error codes. Most common issue: carrier filter rejecting content (30007).

Replies don't appear in my Inbox

The webhook URL isn't configured on your Twilio side. On recent connections, we auto-configure this. If you connected before auto-wiring existed: disconnect and reconnect to trigger auto-wire, or manually set the webhook URL to the one shown in the SMS Setup card.

Calls to my Twilio number don't forward to my cell

Same root cause as above โ€” the Voice webhook wasn't wired on your Twilio number. We auto-configure this on every new Connect, so the fix is: click Disconnect, then reconnect your Twilio. That single action re-wires both the SMS and Voice webhooks. Also double-check your profile Phone Number (Dashboard โ†’ Profile) is a real cell you can actually answer โ€” that's where the forward sends calls.

Setup Readiness Checklist