SMS customer service means customers text a business number and a person on your team answers from a shared inbox, usually within minutes rather than hours. To set it up you need five things: a registered number, one inbox the whole team works from, a set of saved replies, an after-hours auto-reply, and a clear rule for when a text becomes a phone call.
This guide covers each of those pieces in the order you'd set them up. It includes copy-paste scripts, response-time targets you can actually hold, and a worked cost example. We make Ready, so the setup steps use the Ready inbox and automations. The process itself works on any tool, and we note where something else may suit you better.
What SMS customer service needs to work
Texting is not email with shorter messages. Three differences shape everything below.
- Customers expect a fast reply. Nobody texts a business expecting an answer tomorrow. A one-hour reply can feel slow over text when the same delay would seem fine over email.
- Messages are metered. Each reply costs money. A single SMS segment holds 160 plain characters, and a longer message splits into 153-character segments. One emoji drops the limit to 70 characters (67 per segment for longer messages). Long replies with a smiley face cost more than they look like they should.
- The thread is the record. There's no ticket number unless you add one. Whoever opens the thread next needs to understand it in five seconds.
Step 1: get a registered number
US carriers filter business texting that isn't registered under 10DLC. Before your support line goes public, register a brand and a campaign. Pick the use case that matches what you send. For support, that's customer care, not marketing. Our use-case picking guide explains why choosing the wrong one gets you throttled.
On Ready, registration happens in the app and has no setup fee:
- Monthly cost: $25/mo for registration, and $2 per number.
- At submit: you pay the first month, $25.
- Approval time: most approvals take 2 to 7 days.
- Before approval: an account can send up to 500 texts a month at its normal per-text rate.
- If you already bought a number: it sends on Ready's shared registration while your own registration is in review.
- Free texts: the first 20 texts are free one-to-one sends. They end the moment you pay for registration, so use them to test your scripts before you register.
- Card: a card on file is required to send.
If you use GoHighLevel, Ready installs natively. Inbound and outbound texts sync two ways, and each GHL location stays isolated. The GHL setup guide walks through the install.
Step 2: one shared inbox, with ownership and response-time targets
One inbox, not five phones
Every support text should land in one Inbox that the whole team can see. Ready's inbox shows each contact as a single thread holding both inbound and outbound texts. For GHL-connected accounts, the same thread also appears in GHL. Personal cell phones and forwarded numbers are where conversations get lost.
Assignment rules your team can remember
Ready's inbox is a shared conversation view, not a ticketing system. If you need formal routing rules, SLA timers and per-agent queues across email, chat and text, a helpdesk with an SMS channel is a better fit. Most small and mid-size teams don't need that. They need three rules:
- First reply owns the thread. Whoever answers first keeps it until it's resolved.
- Hand-offs are written in the thread. For example: "Passing you to Priya on billing, she'll text you within 30 minutes." The customer knows what's happening, and so does the next agent.
- Closed means the customer was told. A thread is done when your last message says what was done, not when you stop replying.
Response-time targets
These are our suggested starting targets, not industry benchmarks. Tighten them once you see your real volume.
| Situation | First response | Follow-up |
|---|---|---|
| Business hours, routine question | Under 5 minutes | Resolved or updated within 1 hour |
| Business hours, needs another team | Under 5 minutes (acknowledge) | Update within 30 minutes, even with no answer |
| After hours | Auto-reply, then a real reply by 10 AM next business day | Same as business hours once picked up |
| Customer replies YES to a call offer | Call within 10 minutes | Text a summary after the call |
The acknowledgment matters more than the answer. "Got it, checking now" in two minutes beats a perfect answer in forty.
Step 3: chat scripts and saved replies for customer service
Save these as reusable templates. Every one stays under 160 characters with no emoji, so each costs one segment. Swap the bracketed fields before sending.
First response
Hi [first name], this is [agent] at [company] support. Got your message. What's your order number? I'll pull it up now.
Holding
Checking with our billing team now. I'll text you back within 30 minutes, even if it's just an update.
Offering a call
This is easier to sort out on a quick call. Can I call you at this number in the next 10 minutes? Reply YES or send a better time.
Hand-off
Passing you to [name] on [team]. They have the full thread and will text you by [time].
Resolution
You're all set: refund of $[amount] issued, 3-5 business days to show on your card. Anything else? If not, no need to reply.
After hours (covered below)
Thanks for texting [company]. We're offline until 8 AM ET. Your message is in the queue and we'll reply first thing. Urgent? Call [number].
Writing more scripts
Ready's AI message writer can draft variations, and the spam-filter check flags wording carriers tend to block. On a new account a person still sends every reply. Ready no longer offers AI agents that answer inbound texts on their own. Our post on AI text replies covers how to use AI drafting safely.
For more after-hours and away-message wording, see auto reply text message examples.
Step 4: after-hours auto-replies and the quiet-hours catch
Set up a fixed after-hours message through automations. It should do three things:
- Say when you'll be back.
- Confirm the message was received.
- Give an urgent alternative.
You write this message once. It isn't generated per customer.
There's one catch. Ready enforces quiet hours based on the recipient's area. A reply to a customer who texted you in the last 24 hours goes out at any hour. Any other agent text sent in the recipient's quiet hours is held only if texting opens within about 6 hours; otherwise it is refused and has to be resent in the morning. The two kinds of after-hours reply behave differently. A reply from the Auto-reply outside business hours setting is skipped if it would land in quiet hours. An automation holds its reply until texting opens, for up to 24 hours, then sends it.
In practice:
- The Auto-reply setting covers the evening gap between closing time and the start of quiet hours. A customer who texts at 11 PM gets no reply from it.
- An automation reply reaches that 11 PM customer in the morning, when texting opens.
- Either way, an agent can answer that customer right away, because they texted you in the last 24 hours.
Plan your morning shift around that. The overnight queue gets answered first.
Two more automations are worth having:
- Opt-outs. STOP and UNSUBSCRIBE are honored automatically, and the opt-out applies across all campaigns. Agents don't have to track it.
- System notifications from your app. If you want "your ticket is resolved" texts triggered by your own software, the API sends them:
POST https://api.tryready.com/v1/messages
X-API-Key: <key>
Idempotency-Key: 3f1c2a9e-7b4d-4e2a-9c1f-8a6d5e2b7c10
{"to": "+12125550199", "body": "Ticket #1042 is resolved. Reply here if anything's still off.", "consent_attested": true} The Idempotency-Key header means a retried request never sends the same text twice. Full request details are at docs.tryready.com/api/messages. For deciding which texts to automate and which to keep human, see automated texting service.
Step 5: escalating from a text to a call
Some problems take ten texts or one four-minute call. Use these rules of thumb for offering a call:
- More than three back-and-forths without progress
- Anything involving payment disputes or account security
- A customer who is clearly frustrated
- A customer who asks for a call
The Ready Dialer handles the call from the same dashboard (or from inside GoHighLevel):
- Click-to-call from the dial pad
- Call recording and transcripts with consent
- Inbound calls that ring the open pad
- A Missed call card in the Inbox thread for each missed call
It's manual calling. There's no auto dialing, voicemail drop or call transfer.
Pricing is $0.025/min, and each started minute is billed as a full minute. A 4-minute-10-second call bills as 5 minutes: 5 minutes × $0.025 = $0.13. After the call, text a one-line summary so the thread stays the record.
What it costs: a worked example
Assumptions for a support team handling 600 text conversations a month:
- Each conversation averages 3 inbound and 3 outbound texts, so 3,600 texts.
- Most texts are one segment, but some run long or include an emoji. Assume an average of 1.2 segments per text, so 4,320 segments.
- 60 conversations escalate to a call, averaging 5 billed minutes.
Inbound replies are billed like sent texts on Ready: the per-segment rate plus the carrier fee.
| Line | Math | Monthly |
|---|---|---|
| Texting (Standard rate) | 4,320 × $0.0075 | $32.40 |
| Carrier fee | 4,320 × $0.0045 | itemized separately |
| Registration | $25 for registration + $2 number | $27 |
| Ready Dialer | 300 minutes × $0.025 | $8 |
Two more notes on cost:
- Compliance add-ons. Scrubbing and landline validation are off by default. If you turn either on, it adds $0.003 per segment.
- Lower per-segment options. A raw CPaaS API costs less per segment. The tradeoff is that you build the inbox, opt-out handling and registration flow yourself. Current rates are on the pricing page.
The cheapest lever is message length. Cutting the emoji and trimming replies under 160 characters can move that 1.2-segment average toward 1.0.
The practical takeaway
Getting SMS customer service right is mostly process, not software:
- Register a customer care campaign.
- Put every text in one shared inbox.
- Adopt the "first reply owns it" rule.
- Save six scripts.
- Write an after-hours message that accounts for quiet hours.
- Give agents a clear trigger for picking up the phone.
If you want to try it on Ready, sign up and use your first 20 free one-to-one texts to test your scripts before you register.
FAQ
What's a good response time for SMS customer service?
We suggest a first response under 5 minutes during business hours, even if it's only an acknowledgment, and a resolution or update within an hour. After hours, send an instant auto-reply and a real answer by the next morning.
Can I automate customer service texts?
Partly. Saved replies, after-hours auto-replies, opt-out handling and system notifications through the API can all be automated. Ready no longer offers AI agents that answer inbound texts on their own. On a new account a person writes and sends each conversational reply, with the AI message writer available to help draft.
Do I need 10DLC registration for a support line?
Yes, for ongoing use. An account can send up to 500 texts a month before registering. After that it must register. Registration costs $25/mo and $2 per number, and most approvals take 2 to 7 days.
Are customer replies billed?
Yes. Inbound texts are billed like sent ones, at $0.0075/segment plus the $0.0045 carrier fee. Budget for both directions when you estimate costs.
Can I text a customer back if they texted us first?
Replying within the conversation they started is the normal support use. Sending them promotions later is a different matter and needs their consent. STOP requests are honored automatically. Compliance is ultimately the sender's responsibility, so check anything unusual with your own counsel.