Twilio SMS Extension for Zoho CRM

If you need to send SMS messages to a lot of customers/leads, you can't beat Twilio. It offers affordable message rates around the world and a lot of customisation potential. Until now there has been no easy way to integrate Twilio with Zoho CRM. We've spent 12 months building an extension to make the integration easy.

Get your hands on our Twilio extension for $35/month or $240/year (enables access for every user in the CRM). This cost is for the Zoho plugin. You'll also need to have a paid Twilio account. See the twilio pricing page

Installation

  1. Install the extension from zoho marketplace.

    Get it now
  2. Do everything in the setup checklist:

If you'd rather have a text version of the instructions, follow the steps below:

  1. When you first install, you will get a screen like this:

    Type Ok in "Confirm you have read the user guide" and "Please click settings button to alter config". Then click save and then click on the settings button.

  2. Configure your Twilio API token.

    Visit the Twilio console and copy your account SID and auth token

    Screenshot of Twilio console showing location of SID and auth token
  3. Open Zoho CRM and navigate to Setup > Marketplace > Installed > Twilio SMS
  4. Put in the Auth Token and Account SID in the extension settings. If you want all your users to share the same Twilio phone number, enter the number in the Default From Number field. Make sure you paste it from the Twilio console so it's definitely correct. Also put in the default international country code (e.g. +1 for the US, +61 for Australia, +49 for Germany)

    Screenshot showing the extension settings
  5. Grant access to the Twilio SMS Messages module to all users. Navigate to Setup > Security Control > Data Sharing Settings and change Twilio SMS Messages from private to public read/write. Otherwise your users won't be able to see inbound messages.

    Screenshot showing data sharing settings
  6. Allow Manage Extensibility permissions for user profiles that will use the Twilio SMS extension. (It is unfortunate that this is required but there is no other permission setting that allows custom functions to be executed by a CRM widget. Without this permission SMS sending will not work.) Go to Setup > Security Control > Profiles and enable manage extensibility permissions. Please note I don't like that you have to do this and have complained to Zoho about it. There is no other option currently. Please complain to them too :)

    Screenshot showing manage extensibility settings
  7. If you want each user to have a different Twilio number, navigate to the Twilio From Numbers module. Create a From Number record for each user (put the number in and set the record owner to the user).


  8. If you want rapid reply notifications, set up a webhook in the Twilio console. Here is a video that shows how to do it. If you don't like videos: copy the webhook URL from the extension settings. Then go to the Twilio console, open the Phone Numbers section. Click on one of the phone numbers. Change the primary SMS webhook to the URL in the extension settings. Repeat this for every number you have. Note that currently you will get an error message from Twilio when an SMS is received but you can safely ignore it as long as you are seeing messages in the CRM. I will fix the error ASAP.

  9. All done! You're ready to use the extension.

Important Things To Know

Some things to bear in mind with the extension:

  • You need to set up a paid Twilio account with a phone number that is capable of sending SMS before you can use this extension.
  • If you are only looking to send Whatsapp messages and don't care about SMS/MMS, this is not the right extension for you. Instead try this extension.
  • Instant replies will only work if you have configured webhooks

Sending Messages via quick messenger

The fastest/easiest way to send a message is to open a lead/contact and scroll down to the Twilio SMS section.

Showing the rapid fire messenger

The quick messenger allows you to send ad-hoc messages by typing your message and pressing enter. It also shows all the messages sent from/to the contact or lead.

Shows the different features of the quick messenger (sending messages, receiving messages)

To force a refresh of the inbound messages, click the refresh icon.

Shows the refresh button in the quick messenger

Sending Templated Messages to single recipient

Often you'll want to send similar messages to leads/contacts. You can achieve this by using the Send SMS button at the top of the Lead/Contact page.

Shows the Send SMS button in a lead

When you click on that button, it brings up a screen that allows you to choose a template to send to the lead/contact. You can also add or edit templates.

Shows the Send SMS popup highlighting the edit/add template functionality and the ability to modify a message before it's sent

You can add/edit templates. Templates are based on normal text and merge fields. Type the # (hash or pound) key to display the available merge fields.

Shows the add/edit template screen highlighting the use of merge fields

Click the send button to send the SMS.

Sending Templated Messages to multiple recipients

Sending messages one at a time is pretty time consuming. If you want to message multiple recipients at a time, you can select the relevant leads/contacts from the list view and use the Send SMS button.

Shows the bulk SMS button

A similar popup to the individual SMS popup will appear. The main difference is that because there are multiple recipients, the merge fields do not populate in this screen. When you send the message, the correct values will be filled into the merge field for each lead/contact.

Shows the bulk SMS button

Automatically sending SMS messages

Sometimes you will want to automatically send an SMS via a workflow rule. Generally you'll want to follow the easy method which involves setting up a workflow rule which creates a new record in the Twilio SMS Messages module. Refer to the video for more info.

For advanced use cases, you can use deluge script to send a message. Here is a video showing how to write the custom function.

The custom function needs to invoke the twilio custom function. For example:

Example not using templates
lead_data = zoho.crm.getRecordById("Leads", lead_id);
// From: the Twilio number you will use to send the message
from_number = "+61429357126";
// To: the number to which the SMS should be sent
to_number = lead_data.get("Mobile");
// Message: the SMS you want to send
message_text = "Hi " + lead_data.get("First_Name") + ", happy new year!";
// The To Name will appear in the SMS Message title, e.g. "Sent to John Smith on 23-Mar-2020"
to_name = lead_data.get("First_Name") + " " + lead_data.get("Last_Name");
payload = {
	"params": {
		"arguments": {
			"From": from_number,
			"To": to_number,
			"Message": message_text,
			"To_Name": to_name,
			"Entity_Type": "Lead",
			"Entity_Id": lead_id
		}
	}
};
sms_response = twiliosmsextension0.twiliosms(payload);
return sms_response;
    						
Shows a custom function that sends an SMS based on the code above

Automatically running workflows when a new reply is received

Refer to this video.

Setting up Whatsapp integration

If you are only looking to send Whatsapp messages and don't care about SMS/MMS, this is not the right extension for you. Instead try this extension.
To set up whatsapp with Twilio, you need to:
  1. Buy a Twilio number
  2. Complete Whatsapp business verification and link your Whatsapp for business account to Twilio
  3. Set up the Twilio number as an authorised Whatsapp sender
  4. Set up that number inside the Twilio From Numbers module in Zoho CRM
  5. Now you can start using it. Put a phone number in the Whatsapp Number for Twilio of a lead/contact. Make sure you include the country code
  6. Change the "Number to use for Twilio Messages" to Whatsapp
  7. You can now send messages using the quick messenger/bulk messenger

Troubleshooting

The following issues cause problems:

  1. Twilio auth token/SID entered incorrectly (sometimes people put them the wrong way round)
  2. Your admin hid critical modules. All of the following modules must be kept non hidden: SMS Messages, SMS Templates, Inbound SMS Fetcher
  3. You have not configured Twilio inbound message handlers correctly. Refer to https://www.youtube.com/watch?v=xcS8zvkzNvQ
  4. If the Twilio Inbound Fetcher module is not automatically updating every 2 minutes, your deluge time zone is probably incorrect.
  5. If you include raw URLs in your messages, your message may be flagged by telco providers. Try using a shortlink instead.

Get In Touch

Want help or have an idea? Contact us at [email protected]