Groundbase uses your own Twilio account for SMS and voice. You sign up with Twilio directly, buy your numbers in their console, and paste your credentials into Groundbase. Twilio bills you for usage at their published rates — Groundbase doesn't take a cut and doesn't carry a credit balance for you.
Connecting your Twilio account
A one-time setup. Once it's done you can text, call, and receive from Groundbase using any number on your Twilio account.
1. Create a Twilio account. Go to twilio.com and sign up. Sign-up is free and doesn't require a credit card — you only need to add billing later when you buy a number or start sending.
2. Find your Account SID and Auth Token. On the Twilio Console homepage, scroll to the Account Info card. Your Account SID starts with AC and is visible by default. Click View next to Auth Token to reveal it. Copy both.
3. Paste them into Groundbase. In Groundbase: Settings → Phone numbers → Connect Twilio. Paste the Account SID and Auth Token, click Connect.
What happens next, automatically:
- Groundbase verifies the credentials against Twilio
- Any phone numbers already on your Twilio account get imported into Groundbase
- Inbound SMS and voice webhooks on each imported number are configured to point at Groundbase, so inbound texts and calls appear in your CRM in real time
- A default sending number is selected (you can change it any time)
Your Auth Token is stored encrypted in Groundbase's cloud database (AES-GCM, server-side key). Disconnect any time from the same Settings screen — that revokes Groundbase's access and stops the inbound webhooks.
Buying a phone number
Numbers are bought in your Twilio Console, not in Groundbase.
- In Twilio Console: Phone Numbers → Manage → Buy a Number
- Search by country, area code, or capability (voice + SMS)
- Click Buy on the one you want — Twilio charges your account directly (typically ~$1.15/mo for a US local number, varies by country)
- Back in Groundbase: Settings → Phone numbers → Refresh. The new number appears in the list and inbound webhooks are configured automatically.
The number is also picked up on your next sign-in if you forget to refresh.
A2P 10DLC registration (U.S. only) — step by step
If you'll be sending SMS to U.S. numbers, U.S. carriers require A2P 10DLC registration through The Campaign Registry. You handle this in your own Twilio account — Twilio walks you through registering your business (a Brand) and your messaging program (a Campaign). Unregistered traffic to U.S. numbers is heavily filtered, throttled, or blocked outright.
This applies regardless of which CRM or app you're using to send — A2P 10DLC is a Twilio + carrier requirement, not a Groundbase one.
Plan ahead. Most reviews take 1–3 business days, sometimes longer. Don't wait until your campaign needs to go out tomorrow.
Step 1 — Register your Brand.
- Log in to the Twilio Console
- Messaging → Regulatory Compliance → Brand Registration → Create a Brand
- Pick the trust level. Standard Brand is for most small businesses (one-time $4 fee). Low-Volume Standard is for businesses sending under 2,000 SMS/day and is the cheapest path.
- Fill in your business legal details: legal name, EIN (employer identification number), business address, business website, the industry vertical, and a primary contact.
- Submit. Twilio runs your details through The Campaign Registry — typically minutes to a few hours for a verdict.
If your Brand gets rejected (most common reason: EIN doesn't match the legal name on file with the IRS), fix the details and resubmit. Twilio shows the rejection reason in the console.
Step 2 — Register your Campaign.
- Once the Brand is approved, Messaging → Regulatory Compliance → Campaign Registration → Create
- Pick a Use Case — for most Groundbase customers this is Customer Care, Account Notifications, or Marketing. Mixed Use Case is only for very specific scenarios; the others are cheaper.
- Describe the messaging program in plain English. Carriers actually read this. Be specific: "Outbound SMS to current and prospective clients of [Business Name] — appointment reminders, follow-ups on inbound web-form leads, and occasional promotions. Recipients consent via our online intake form or by texting us first. Reply STOP to opt out."
- Provide sample messages — paste in 2–3 examples of real messages you'll send (with
{{first_name}}etc. filled in). Carriers reject samples that look like phishing, promote restricted content, or omit opt-out language. IncludeReply STOP to opt outin at least one sample. - Describe opt-in. This is where most rejections happen. Describe exactly how recipients agree to receive messages — a web form with a checkbox, an inbound text from them first, a verbal opt-in over the phone, etc. Provide the URL of your opt-in form if you have one. "Bought a contact list" is not valid opt-in.
- Submit. Campaign review typically takes 1–3 business days.
Step 3 — Attach your phone numbers.
Once the Campaign is approved, attach the Twilio numbers you'll be sending from to that Campaign in the same console screen. Carriers route traffic by the (sending number → Campaign → Brand) chain — an attached number sends as registered traffic; an unattached number sends as unregistered (and gets filtered).
If you buy new numbers later, attach them to the Campaign too.
Cost summary (Twilio published rates).
- Standard Brand registration: $4 one-time
- Low-Volume Standard Brand: $0 one-time (caps at 2,000 SMS/day)
- Campaign registration: $10–15 one-time + $1.50–10/month per Campaign depending on Use Case
- Per-segment surcharges on registered traffic apply ($0.002–0.005 per outbound segment depending on Use Case)
These charges all hit your Twilio bill directly. Groundbase doesn't see them. See Twilio's A2P 10DLC pricing page for the current numbers (Twilio updates the schedule from time to time).
Tips for getting approved on the first try.
- Use the same business name on your website, your Twilio Brand, your sample messages, and your opt-in form. Mismatches are the #1 reason Campaigns get rejected.
- Include opt-out language (
Reply STOP to opt out) in at least one sample. Better: turn on Groundbase's Settings → SMS compliance auto-append so it's on every message automatically. - Be specific in the program description. "Marketing messages" is too vague. "Appointment reminders and seasonal promotions to existing roofing-quote customers" reads as legitimate.
- Don't claim consent you don't have. If your contacts came from a purchased list, your Campaign will be rejected (and may flag your Brand for further review).
Sending an SMS
Open a contact and click the SMS icon, or jump to the SMS tab in the left sidebar. Pick a thread or start a new one. Type, hit send.
Cost: Twilio bills your account directly per segment at Twilio's current rates (roughly ~$0.0083/segment outbound + $0.0083/segment inbound for U.S. long-code A2P at the time of writing — see Twilio's pricing page for live numbers). A segment is 160 GSM characters (or 70 if you use emojis / non-Latin characters). The compose bar shows the segment count live.
Scheduling a send
In the compose bar, click the clock icon before sending. Pick a future date and time. The message goes into your "Scheduled" queue and fires at the time you set. You can see it in SMS → Scheduled before it goes out, and cancel it from there if plans change.
Bulk SMS
In Contacts, filter to who you want to text (saved views are useful here), then click Actions → Send SMS. Each recipient gets their own thread (not a group text) — you can use {{first_name}} placeholders so it personalizes per contact.
Built-in safety rails:
- 500 recipient cap per send. If your filtered list is larger we'll prompt you to narrow it down. This prevents an accidental wide blast.
- Two-click commit modal at 100+ recipients. Before we touch the SMS API we show a confirmation modal with the total recipient count + total cost estimate (based on Twilio's published rates); you have to confirm a second time. Cheap protection against fat-finger sends.
- Throttled dispatch. We pace sends so a 500-contact blast doesn't trip carrier rate limits or look like spam.
Same per-segment billing applies — Twilio bills your account directly. We show an estimate before you confirm.
SMS compliance — auto-append opt-out language
Settings → SMS compliance. Off by default. When on, Groundbase auto-appends a short opt-out note to your outbound SMS so recipients know how to stop receiving messages from you.
Why it matters. U.S. carriers (T-Mobile, Verizon, AT&T) expect opt-out language on every messaging program, especially cold outreach. The first message of any thread is the carrier minimum; marketing-categorized A2P 10DLC campaigns often need it on every message. Without it, your messages get filtered or your A2P campaign (registered in your own Twilio account) gets rejected.
Two modes:
- First message in a thread (carrier minimum, customer-care / transactional friendly). Appends the disclosure only to your first outbound SMS to a contact you haven't messaged before. Follow-ups in the same thread stay clean.
- Every outbound message (marketing-safe). Appends to every outbound SMS, including replies. Required by major U.S. carriers for marketing-categorized campaigns.
Disclosure text defaults to Reply STOP to opt out. Editable to anything 5–60 characters — common variations include Reply STOP to unsubscribe, STOP=opt out, etc. Inbound STOP, UNSUBSCRIBE, CANCEL, END, and QUIT are always recognized regardless of the wording you choose.
When the toggle is ON, the SMS composer shows an accent-colored "Auto-appending: '<your text>'" badge near the Send button so you don't accidentally send a customer-care reply with the STOP footer attached. Want to send a one-off without it? Turn the toggle off, send, turn it back on.
Opt-outs are enforced server-side regardless of this setting. When a recipient replies STOP to one of your numbers, that contact is hard-blocked for that user — you can't send to them again until they reply START to opt back in. The setting only controls whether the disclosure is auto-appended to outbound; the opt-out detection itself is always on.
Voicemail & recordings
Every number connected to Groundbase comes with voicemail enabled. Calls that aren't answered roll to voicemail (Groundbase serves the TwiML that handles the voicemail flow on your number), the recording is captured by Twilio, transcribed automatically, and you'll see both in the Phone tab.
Voicemail transcription is currently included — Groundbase absorbs the transcription cost while we keep things simple. This may move to a BYO transcription provider later; we'll give plenty of notice if it does.
To enable call recording for two-way conversations: Settings → Phone numbers → click your number → toggle "Record calls". Recording is opt-in per-number. Twilio bills your account directly for recording storage + transcription at Twilio's published rates.
Voicemail drops (leave pre-recorded voicemails)
If you're doing outbound and calls keep rolling to voicemail, Voicemail drops let you leave a pre-recorded message without speaking the same thing 30 times. Set up at Settings → Voicemail drops.
Create a drop:
Click "Record". Groundbase calls your phone, you record up to ~60 seconds, then hang up. Saves automatically.
How to drop a voicemail during a live call:
- Record your drop first in Settings — the in-call button doesn't appear unless you have at least one saved drop.
- Call the contact normally from the dialer. The cassette-tape "Drop VM" icon stays visible the entire call (we don't auto-detect the beep).
- Wait for the beep. Once you hear the voicemail greeting end and the beep play, click the icon and pick a drop.
- Your end hangs up. The audio finishes playing into the contact's voicemail box.
Timing matters. If you click the drop button while a live person is on the line, the audio plays to them — hang up immediately if that happens. The button doesn't know whether a human or voicemail picked up; you decide when to hit it.
Drops cost nothing extra to store in Groundbase. The outbound call itself is billed by Twilio at their standard voice rates.
Picking a default sending number
If you have more than one number on your Twilio account, set which one Groundbase uses by default for outbound SMS and voice at Settings → Phone numbers → set as default on the row you want. The default applies to manual sends, bulk sends, sequences, workflows, and AI-driven sends. You can still pick a different number per send when composing.
Removing a number from Groundbase
Settings → Phone numbers → click the number → Remove. This unhooks the number from Groundbase — inbound calls and SMS to that number stop appearing in your CRM, and Groundbase stops listing it. The number itself remains on your Twilio account; release it from your Twilio Console if you want Twilio to stop billing for it.