Docs

Twilio SMS for Zoho CRM

Setup, configuration and reference for Twilio SMS for Zoho CRM. Updated August 26, 2026

What makes it different

Nothing phones home
The reply comes back
You bring the Twilio account
Personalized at any volume
It finds all the phone fields
History follows the record

On the Zoho Marketplace

Twilio SMS – Zoho CRM

Install it straight into your Zoho CRM account from the Marketplace listing. A free trial is available, and the extension runs entirely inside your own Zoho environment using your own Twilio account.

Updated August 26, 2026

What the extension does

Twilio SMS for Zoho CRM adds two way texting to the records you already work in. You send from a Lead, Contact or Account, the reply comes back to that same record, and the whole thread stays inside your Zoho CRM. Nobody has to open a second application, and nobody has to remember to copy a conversation back into the system afterward.

That last point is the reason the extension exists. Texting customers is easy. Texting customers in a way that the rest of the business can see, six weeks later, when a different person picks up the account, is the hard part, and it is the part most SMS tools quietly leave to you.

Where it runs, and why that matters

The extension runs inside your own Zoho account. It is built in Deluge, which is Zoho native scripting, so there is no embedded web application and no external service holding a copy of your customer list. If you want to understand what Deluge is and how it behaves, we wrote a separate piece on what Deluge actually is and how it fails quietly.

Practically, running natively changes three things. Your data never leaves Zoho, so a vendor breach somewhere else is not your problem. Your admin can read the automation and see how it is wired rather than filing a support ticket to ask. And the extension inherits Zoho permissions, so a user who cannot see a record cannot text it either.

You bring your own Twilio account. The numbers are yours, the messaging rates are the ones Twilio publishes rather than a resold markup, and if you ever stop using the extension the numbers and history stay with you. The trade is that you are the Twilio account holder, which means number provisioning and carrier registration are yours to complete. More on that below.

The three ways to send

Search and send one to one is the everyday case. You are on a record, or you search for one, and you send a single message. This is what a rep uses twenty times a day.

Bulk send to selected records handles the case where you have filtered a list view down to the people you want and you want all of them to get the same thing. Twelve customers affected by a delivery delay, say, or everyone whose renewal falls this month.

Send to a specific list is the more deliberate version. Rather than whatever happens to be selected on screen, you point at a defined list, which means the audience is repeatable and somebody can check it before you send. If you have ever sent a bulk message to the wrong filter, you will understand why these are separate features rather than one.

Composing the message

Dynamic text pulls values straight from the record. A message can carry a first name, a renewal date, an invoice amount or any other field without anyone retyping it, which is what makes bulk sending survivable rather than obviously mass produced. Personalization here is not a marketing flourish, it is accuracy: the date in the message is the date on the record.

Reusable templates keep the wording consistent between people who write very differently. In most teams there is one person who writes beautifully and one who writes in fragments, and the customer cannot tell which of them is the company. Templates solve that without anyone being told their writing is the problem.

Scheduled delivery holds a message until a time you choose. This matters more than it sounds. Reminders belong the evening before, not at four in the afternoon when somebody finally gets to the task, and a message to a customer three timezones away should not arrive at two in the morning because that is when your team was working.

Numbers, phone fields and identity

Real CRM records rarely have one phone number. There is a mobile, a work number, sometimes an assistant, sometimes a field somebody added three years ago that half the team fills in. Automatic phone field detection finds the number fields present on the record rather than assuming a single hardcoded field, so you choose which one you are texting rather than discovering afterward that it went to a switchboard.

You also choose which of your Twilio numbers a message sends from. That is what lets a support line and a sales line stay distinct, or a regional number stay regional, rather than everything arriving from one anonymous number that customers learn to ignore.

History, and the Lead conversion problem

Every message, outbound and inbound, is logged against the record. Inbound replies are logged automatically rather than needing anyone to file them, which is the difference between a history that is complete and a history that reflects how diligent the team was feeling that week.

Lead to Contact conversion mapping deals with a specific and annoying failure. In Zoho CRM a Lead becomes a Contact, and anything attached only to the Lead can be left behind at that moment. The conversation you had while qualifying somebody is exactly the conversation you want when they become a customer, so the mapping carries it across rather than stranding it on a record nobody opens again.

Back to top

Where teams actually use it

Sales chasing warm leads

A lead fills in a form and a rep texts within a few minutes, from the lead record, using a template that already carries the person’s name and what they inquired about. Response rates on a text sent inside ten minutes are not comparable to an email sent the next morning, and everyone in sales already knows this. What stops teams doing it is not willingness, it is that texting from a personal phone leaves no trace.

Here the reply lands on the record. When a different rep picks the lead up on Thursday, the conversation is there. When the lead converts, the history follows. And when somebody leaves the company, their phone leaves with them but the conversations do not.

Service confirming and rescheduling appointments

Confirmations and reminders sent from the record, with the appointment date pulled from a field rather than retyped by somebody reading it off a screen. Customers reply to reschedule, and because the reply is on the record the person handling it can see the original booking without asking.

Scheduled delivery is what makes this practical at all. Reminders go out the evening before regardless of who is at a desk. If you want the reminder to fire without a human initiating it, that is automation work rather than a feature of the extension.

Collections and renewals

An invoice reminder by email competes with a hundred other emails. The same reminder by text gets read, and often gets a reply saying it was already paid, which is information you wanted anyway. Dynamic text carries the amount and the due date so nobody transcribes a figure incorrectly.

If the money lives in Zoho Books or Zoho Billing rather than CRM, the same extension exists for those apps. See Twilio SMS for Zoho Books and Twilio SMS for Zoho Billing, where the dunning case is covered directly.

Teams working under strict data rules

If your obligations say customer contact details do not leave systems you control, most SMS platforms are out before the demo starts, because holding a copy of your list is how they function. This runs inside your Zoho org and talks to Twilio using your own credentials, so the list stays where your policy says it stays.

That is a claim you can verify rather than take on trust, which is the point. An admin can read the Deluge and see exactly which endpoints are called. There is no vendor with standing access to your data, and no vendor whose own breach becomes your notification obligation.

Recruiting and scheduling interviews

Candidates answer texts and ignore email, particularly candidates who are currently employed and not checking a personal inbox during the day. Interview confirmations, reschedules and reminders all work better over SMS, and the whole thread belongs on the candidate record rather than on a recruiter’s phone. That case is covered by Twilio SMS for Zoho Recruit.

Admins who own the whole stack

Because it is Deluge inside your org, an admin can read what it does, see how it is wired, and reason about it alongside everything else they maintain. That is a real difference from an embedded application you can only configure through somebody else’s settings screen and can only diagnose by asking. If you are already running several Zoho apps under Zoho One, this behaves like the rest of your stack rather than like a guest in it.

Back to top

What you need first, and what it does not do

What you need before you install

A Zoho CRM account, and a Twilio account of your own with at least one number capable of sending SMS to the countries you text. That is the whole prerequisite list. You do not need a developer, and you do not need anything hosted anywhere.

Installation comes from the Zoho Marketplace. You connect Twilio with your own credentials, choose which numbers are available to send from, and the first message can go out the same day. Pricing is a flat organization price rather than per user, so adding the whole team later does not change the bill. That is deliberate: per seat pricing on a communication tool quietly encourages you to give fewer people access, which is the opposite of what you want.

From install to first message

The three steps below are the whole of the setup. Most teams are through them inside an hour, and the part that takes longest is not the software.

First, install from the Zoho Marketplace into the organization you actually use. Installing into a sandbox or a personal developer org is the most common false start, because the extension then works perfectly on records nobody else can see. Check the org name before you confirm the install, and install as an administrator, so the extension can create the fields and related lists it needs.

Second, connect your Twilio account. You need the Account SID and Auth Token from your Twilio Console and at least one SMS capable number already bought on that account. Enter them in the extension settings and choose which of your numbers should be available to send from. If you run a sales line and a support line, decide now which teams see which, rather than after everyone has spent a month texting from whichever number happened to be first in the list.

Third, text a real record and watch the reply come back. Put a colleague’s mobile on a test Lead, send one message from the record, and have them reply from the handset. You are checking three things at once: that the message left, that the reply arrived, and that the reply was written to the record rather than sitting in Twilio. If only the third one fails, the first two will still make the setup look healthy, which is why this test uses a phone somebody is holding rather than a delivery report.

Once that round trip works, everything else is configuration rather than plumbing. Templates, dynamic fields, number selection and scheduling all sit on top of the connection you have just proved.

The Twilio side, honestly

Because you hold the Twilio account, a few things are yours rather than ours. You buy and provision numbers. You complete carrier registration where your destination country requires it, which in the United States means registering your business and your use case before volume messaging works properly. You watch your own Twilio balance, and you deal with Twilio directly if a carrier filters your traffic.

None of that is hard, but it is real work and it happens before your first send rather than after. Skipping registration is the single most common reason a new SMS setup appears to work in testing and then delivers badly at volume. Budget an afternoon for it, and do it before you promise anyone a launch date.

Registering to text United States numbers

If you are texting people in the United States from an ordinary ten digit local number, you have to register for A2P 10DLC before that traffic is treated as legitimate. This is a carrier requirement rather than a Twilio one. It applies to anyone sending from an application, and as far as the United States carriers are concerned every message a Twilio number sends is from an application, including the ones a person typed by hand.

Registration has two parts. A Brand says who is sending. A Campaign says what you send and how people opt in, opt out and ask for help. Both are created in the Twilio Console. Which Brand type you qualify for depends on who you are: a business with a tax ID registers as a Standard or Low Volume Standard Brand, while a sole trader or an individual registers as a Sole Proprietor Brand.

The Brand type sets your ceiling, and the ceiling is quoted per day against T-Mobile because that is the carrier that limits first. A Sole Proprietor Brand runs one Campaign and is capped around a thousand message segments a day. A Low Volume Standard Brand allows up to five Campaigns and roughly double that. A Standard Brand starts there and rises, depending on the trust score the carriers assign you. Your practical total across all United States carriers is higher than the T-Mobile figure, but the T-Mobile figure is the one you will hit.

Two things are worth knowing before you promise anyone a launch date. Unregistered traffic is not only filtered, it also attracts additional carrier fees, so putting registration off costs money as well as deliverability. And toll free numbers and short codes sit outside A2P 10DLC entirely, with their own verification process, so changing number type does not let you skip this. It only changes which queue you are standing in.

Twilio owns the current rules and revises them more often than anyone would like, so check the Twilio A2P 10DLC overview rather than trusting a summary. We have also written up the parts of registration that catch people out the first time.

Texting people who did not agree to be texted is both a legal problem and a fast route to having your numbers filtered. Record consent on the record, honor opt out requests immediately, and keep marketing messages inside whatever permission you actually collected. This is not a limitation of the tool, it is the same obligation you have on any channel, but SMS punishes carelessness faster than email does.

Because every message is logged on the record, you have the audit trail if somebody ever asks what was sent and when. Use it.

When messages do not arrive

Three causes cover almost everything. The number field on the record is empty or badly formatted, which phone field detection will show you. Carrier registration is incomplete, which shows as messages that send but never deliver. Or your Twilio balance ran out, which is unglamorous and more common than anyone admits. Check them in that order before assuming anything more interesting is wrong.

If all three of those are clean, work outward in this order. Open the Twilio message logs and find the specific message, because a status of delivered means the problem is not sending at all, and a status of undelivered carries an error code that names the cause. Then check whether the destination is a landline or a VoIP number that does not accept SMS, which is common on records where somebody put an office number in a mobile field. Then check whether that person has ever replied STOP, because opt outs are honored upstream and will silently drop everything you send afterward.

A different failure looks like messages that send correctly but never appear on the record. That is almost always permissions rather than messaging. The extension inherits Zoho permissions, so a user who cannot edit a record cannot write history to it either. If one person’s messages log and another person’s do not, compare their profiles before you look at anything else.

Finally, if delivery is fine for most recipients and poor for one carrier, that is filtering rather than a fault. Filtering usually traces back to incomplete registration, to wording that reads like one of the categories carriers block, or to volume that jumped suddenly on a number with no sending history. Twilio can tell you which of the three it is. The extension cannot, because by then the message has already left.

What it is not

It is not a marketing campaign platform. There is no drip sequence builder, no landing page tooling and no attribution reporting, and it is not trying to be a replacement for any of that. If you want long running nurture campaigns with branching logic, you want a campaign tool and this is not it.

It also does not resell you messaging. Twilio bills you directly. That is better on price and worse on convenience, and you should choose it with your eyes open rather than discover it at the first invoice.

The rest of the family

The same extension exists for Zoho Desk, Zoho Books, Zoho Billing, Zoho Projects and Zoho Recruit. The architecture described here is identical in each; what changes is the record you are texting from and the job you are doing. The support side is written up separately in the Twilio SMS for Zoho Desk documentation.

Where to go next

The full feature list, how the cost works and the questions people ask before buying are on the Twilio SMS for Zoho CRM product page.

Setup and usage guide

Installation, configuration and day to day use of the extension in Zoho CRM, step by step.

Getting Started: Installing the Extension

Visit the Zoho Marketplace

On the extension page, click the yellow Install button in the top-right corner to begin installation within your Zoho CRM account.

Agree to Terms & Permissions

You will be prompted to:

  • Accept the Zoho Marketplace Terms of Service.
  • Grant the extension permission to read and interact with your Zoho CRM.

Assign User Profiles

Choose which user profiles can access the extension, such as Sales Users or Admins. Then click Confirm to proceed.

Installation Completion

Installation may take a few moments depending on Zoho CRM performance. Once completed, the configuration pop-up will appear automatically.

Configuring the Extension

For a new installation, the Twilio Account SID, Twilio Auth Token, and Twilio Number fields should be blank.

The extension does not include preloaded Twilio credentials. Each organization must provide its own Twilio credentials during configuration.

Twilio Account SID

Found in your Twilio Console after logging in.

Twilio Auth Token

Located alongside your Account SID in the Twilio Console.

Twilio Number

The phone number that will be used to send SMS messages.

The number must be properly registered and SMS-enabled. Make sure it complies with regional SMS laws and Twilio’s usage policies.

Important: If your Twilio number is not authorized to send SMS, errors may appear and messages will not be delivered.

SMS message content and delivery information are stored in the SMS History module so users can review sent, received, scheduled, and failed SMS activity in Zoho CRM.

Once all required fields are filled in, a confirmation message will appear indicating successful configuration.

Requirements & Compatibility

SMS Field Detection

The extension detects available Phone-type fields in the CRM record instead of relying only on the Mobile field.

When sending an SMS, the extension checks the available Phone-type fields and allows the user to select a field that contains a phone number.

At least one Phone-type field with a value must be available on the record for SMS sending to work.

Number Formatting

Phone numbers should be entered in a valid international format.

Recommended format:

+15555555555

The extension normalizes supported phone-number formatting before sending. Invalid or incomplete phone numbers may result in an on-screen validation error.

Receiving Message Notifications

There is no default notification when a message is received.

You must configure your own CRM workflows to trigger notifications, such as:

  • Email notification
  • Cliq notification
  • Task creation

Support Scope

SMS message content is stored within the customer’s Zoho CRM SMS History module. Access to this information is controlled by the customer’s Zoho CRM permissions.

Support does not automatically receive or monitor SMS message content.

We do not provide support for Twilio-related compliance or delivery issues.

Please contact Twilio Support for account-specific Twilio issues.

Error Reporting

If the extension encounters a validation, configuration, or Twilio error, it displays an on-screen notification to the user.

Long notification messages automatically wrap so the complete error message remains visible.

Twilio-related sending errors are also recorded in the SMS History module when applicable.

SMS Templates

The extension includes an SMS Templates module for saving reusable SMS messages.

Each template contains:

  • SMS Template Name
  • SMS Message Body

Saved templates can be selected from the SMS composer when sending messages.

Templates can also include supported dynamic CRM placeholders so record-specific information can be inserted automatically when a message is prepared.

Dynamic CRM Text

SMS messages can include supported CRM field placeholders.

When a message is prepared, the extension replaces each placeholder with the corresponding value from the CRM record.

For bulk SMS, placeholders are resolved separately for each recipient so every recipient receives the correct record-specific information.

Sending a One-to-One Message

Go to any Lead, Contact, or Account record in Zoho CRM.

Click the Send SMS button at the top-right of the record.

Enter your message in the composer window, or select a saved SMS Template.

You may also use supported dynamic CRM placeholders to personalize the message with information from the current record.

Click Send.

A status message will appear confirming whether the SMS was sent successfully. If an error occurs, it will be displayed and logged in the record’s SMS History.

Scheduling an SMS

The extension supports scheduling SMS messages for a future date and time.

To schedule a message:

  • Enable the Schedule Message option.
  • Select the scheduled date.
  • Select the scheduled time.
  • Select the appropriate timezone.

The timezone list supports global timezones.

When scheduled, the SMS History record is created with a Pending status instead of sending immediately.

The scheduled SMS processor checks Pending messages and sends them when their scheduled time is due.

After successful processing, the scheduled message status changes from Pending to Sent.

If sending fails, the failure information is recorded in SMS History.

Note: Actual processing time may depend on the configured Zoho scheduler frequency.

Sending Messages in Bulk

Go to the Leads or Contacts module.

Select the records you would like to message. You can manually select records or use a filtered view to make bulk selection easier.

Click the Send SMS button at the top.

In the composer:

  • Write your message or select an SMS Template.
  • Add supported dynamic CRM placeholders if needed.
  • Confirm the list of recipients below the message field.
  • Click Send.

Dynamic placeholders are processed individually for each recipient so the correct CRM values are inserted into each outgoing message.

An individual SMS History entry will be created for each selected Lead or Contact.

An overall success or error notification will be displayed after the bulk send process. An individual SMS History entry is created for each recipient so the result can be reviewed in Zoho CRM.

Responding to Customers

When a customer replies to an SMS:

  • A new message is created in the SMS History module.
  • If the sender’s number matches a Lead or Contact, the message will automatically be linked to that record.
  • If the Contact is associated with an Account, the message will also be linked to that Account for complete visibility.

Incoming message notifications must be configured separately using a CRM workflow rule.

Zoho supports actions such as sending an email, creating a task, or sending a Cliq message.

Updating the Twilio Number

If the Twilio configuration needs to be changed after installation, follow the approved extension reconfiguration process for your organization.

If reinstallation is required, use the following steps.

Steps to Remove the Extension

  • Go to Zoho CRM → Marketplace → Installed Extensions.
  • Locate Twilio SMS – Zoho CRM.
  • Click Uninstall and confirm the action.

Uninstalling the extension removes the extension and its associated configuration. Before uninstalling, review any CRM data or records that need to be retained according to your organization’s requirements.

After removal, reinstall the extension and configure it again using your organization’s Twilio credentials by following the installation and configuration steps above.

Ask Us Anything
We’d love to hear from you!
Contact Form