Most small teams shopping for a CRM add "and it should text" to the requirements list late in the process. Then they find out that "built-in texting" can mean very different things. In some CRMs it's a full two-way inbox with carrier registration handled for you. In others it's a marketplace app, a per-seat add-on, or a click-to-text button that opens your phone.

The CRM itself rarely decides how well texting works. Five other things decide it: who handles your 10DLC registration, where replies land, how opt-outs sync, what each segment costs, and whether the texting setup still works if you switch CRMs in two years. This post compares the three realistic setups, shows the cost math, and is honest about when a CRM's own texting is the right call.

The three ways to get texting into a CRM

Almost every small-business or B2B setup falls into one of these:

  1. A CRM with native texting. The CRM vendor sells SMS as part of the product or a paid tier. Close and GoHighLevel (through LC Phone) are the clearest examples. HubSpot offers SMS on some tiers and regions. Availability changes, so check your plan before assuming it's there.
  2. Your CRM plus a texting platform. You keep Pipedrive, Salesforce, HubSpot, Zoho or Airtable, and connect a texting platform through a native integration, Zapier-style automation or an API. We cover the per-CRM options in SMS integrations for CRMs and HubSpot SMS options.
  3. A texting platform that includes a light CRM. Some texting tools ship with contacts, a pipeline, automations and a unified inbox. For a small team whose main channel is text, that can be the whole CRM. The Ready app works this way.

No single option is best. The right choice depends on how much of your selling happens over text.

What "built-in texting" should actually include

Before you compare vendors, check every option against this list. A "yes" on the feature page isn't enough. Ask how each item works.

  • Registration. US business texting from a regular 10-digit number needs A2P 10DLC brand and campaign registration. Carriers filter unregistered traffic. Ask whether the CRM registers you in-app or leaves you to file it somewhere else. Our 10DLC explainer covers why this step matters.
  • Two-way replies in the record. Replies should land on the contact timeline, not just in a separate texting app.
  • Opt-out propagation. When someone texts STOP, every campaign and every rep should be blocked from texting them again. This is where bolted-on integrations most often break.
  • Quiet hours. Sends outside permitted local hours should be held, based on the recipient's area, not your office time zone.
  • Billing you can read. Per-segment pricing with carrier fees itemized, or a credit bundle you'll have to reverse-engineer.
  • Portability. If you leave the CRM, can you keep your numbers and registration?

Native CRM texting vs CRM plus a texting platform

What to compareCRM with native textingCRM + texting platformTexting platform with built-in CRM
Setup effortLowest, if your tier includes itIntegration step (native app, automation or API)Low, one product
10DLC registrationVaries: some handle it in-app, some send you elsewhereHandled by the texting platform (Ready does it in-app)Handled in-app
Replies on the contact recordYesDepends on integration depthYes
Opt-out sync across toolsInside the CRM onlyMust sync both ways; test itOne system, one opt-out list
CRM depth (forecasting, reporting)StrongStrong (you keep your CRM)Lighter
Switching cost laterNumbers often tied to the CRMNumbers live with the texting providerNumbers live with the provider
Best fitTeams already happy in that CRMB2B teams with an established CRMSmall teams where text is the main channel

The honest read: if your CRM already has native texting that registers you, logs replies and honors STOP, use it. Adding a second tool only makes sense if the native option is missing, limited to an expensive tier, or weak on compliance.

The cost math, worked out

Per-message cost is where marketing pages get vague, so here are the numbers.

Ready's Standard rate is $0.0075 per segment, plus a $0.0045 carrier fee per segment. Replies you receive are billed the same way. There's one flat rate. That all-in figure excludes the optional compliance surcharge: Do Not Call/litigator scrubbing and landline validation each add $0.003 per segment when switched on for an account. Both are off by default.

Registration has no setup fee. The monthly charge is $25/mo for registration, plus $2/mo per number. You pay the first month ($25) when you submit. Most approvals take 2 to 7 days.

Example 1: a four-rep B2B sales team

Assumptions: 1,500 one-to-one texts a month, each under 160 plain characters (1 segment), and 1,200 replies received.

  • Segments: 1,500 + 1,200 = 2,700
  • Message cost: 2,700 × $0.0075 = $20, plus 2,700 × $0.0045 in carrier fees
  • Registration: $25/mo for registration and $2/mo per number

For a B2B team, the registration line can be as large as the messaging line. That's normal at low volume, and it's the same carrier registration any compliant provider has to file.

Example 2: a small business monthly promo

Assumptions: 2,000 opted-in contacts and a 175-character promo with one emoji. The emoji switches the message to unicode, so each segment holds 67 characters in a multipart message. 175 characters is 3 segments.

  • 2,000 × 3 = 6,000 segments → 6,000 × $0.0075 = $45, plus 6,000 × $0.0045

Now cut the emoji and trim to 160 plain characters. That's 1 segment: 2,000 × $0.0075 = $15, plus 2,000 × $0.0045. The edit costs nothing and removes two-thirds of the bill. Ready also swaps curly quotes, long dashes and ellipses for plain ones before sending, so those characters never push a message into unicode.

Where other options cost less per message

Raw per-segment price isn't where we win. Twilio is around $0.0083 per segment. GoHighLevel/LeadConnector is around $0.0083 per message, about $0.0128 all-in. Both are lower per message.

With Twilio, you build the inbox, the registration flow, opt-out syncing and quiet hours yourself, so the real cost is engineering time. If you already live in GoHighLevel and LC Phone works for you, it's a fine choice.

Per-seat business texting tools and credit-bundle subscriptions are a different story. Their pricing scales with headcount or prepaid bundles rather than usage, so run your own numbers against the math above.

Compliance decides which setup you can trust

For a small team, a TCPA problem costs far more than a year of texting. Statutory damages are commonly cited at $500 to $1,500 per text. Whatever CRM you pick, check these:

  • STOP handling across everything. On Ready, an inbound STOP or UNSUBSCRIBE is honored automatically and blocks the contact across every campaign. Through the API, opted-out numbers are refused up front and not charged.
  • Quiet hours. Ready holds sends outside permitted local hours for the recipient's area. A held text is charged only when it actually sends. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
  • Scrubbing. Known TCPA-litigator and DNC numbers can be screened before send. The standalone scrub is $0.005 per contact.
  • Consent records. Ready records the sender's opt-in attestation for each bulk send and each API send that sets consent_attested: who sent, to how many, and when. That gives you an audit trail. It is not a per-contact consent record. Your own forms and CRM still need to store when and where each person opted in.

None of this makes anyone lawsuit-proof. Compliance is still the sender's responsibility. These features lower the risk; they don't remove it. Also note that text is for consented or replied leads. Cold outreach belongs on the phone or in the mail.

Picking by team type

B2B with an established CRM (Salesforce, HubSpot, Pipedrive). Keep the CRM. Check whether the native texting is on your tier. If it isn't, or if it's priced per seat, connect a texting platform. Low-volume, one-to-one texting is cheap on usage-based pricing. Test opt-out sync before you roll it out.

Agencies and local businesses on GoHighLevel. Ready installs natively as an LC Phone alternative via OAuth. Messages sync two ways and map per GoHighLevel location, so each sub-account stays isolated. Our GHL setup guide walks through it.

Small teams where text is the main channel. You may not need a heavyweight CRM at all. A texting platform with contacts, a pipeline, automations and a unified inbox covers it. Add calling only if reps actually call. The Ready Dialer is $0.025/min, and you pay only for answered time. Our post on built-in vs standalone dialers covers that choice.

Software platforms texting on behalf of their own customers. This is a different problem: sub-accounts, per-customer registration and an API. Start with the quickstart and the messages API docs.

Where Ready fits, and where it doesn't

Ready fits if you want registration handled in-app, one opt-out list across campaigns and reps, readable per-segment billing, and a native GoHighLevel or Close connection, App Library automations for HubSpot, Pipedrive, Salesforce and Zoho CRM, or a REST API you can wire into any CRM. Sending a text is a single POST /v1/messages call.

Ready doesn't fit if you need the lowest possible raw per-segment price and have engineers to build the rest. A raw CPaaS like Twilio is the better choice there. It's also unnecessary if your CRM's native texting already registers you and syncs opt-outs.

The practical takeaway

Pick the CRM for how you sell. Pick the texting setup for registration, opt-outs and cost per segment. If your CRM's native texting passes the checklist above, use it. If it doesn't, connect a platform that handles 10DLC and STOP for you, and do the segment math before your first campaign.

If you want to try Ready, sign up here. The first 20 one-to-one texts are free, so use them before you register. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it.