SMS Setting for Twilio

First test your credentials using twilios curl example.
If it works there then you have not properly base64 encoded your authorization key:value pair
In your static parameters
Parameter
Authorization

Value
Basic space <base64 encoded key:value pair>

thanks @MarZah i will check.

@MarZah I have tried using curl but getting below error. i have mentioned proper TO phone number.

{
“code”: 21604,
“message”: “A ‘To’ phone number is required.”,
“status”: 400
}

The error message is clear. I suggest reading through twilios examples of the proper phone number format

Worked perfectly, thank you very much!

Can you please elaborate on Value
Basic space <base64 encoded key:value pair>

I have updated settings as below:

In the Authorization Parameter the Value is entered as “Basic ” Header checked

@MarZah any help pls

can you please elobrate basic64 encoded key:value pair?

Hello Sir,

Mujhe Twilio aur ERPNext integration chahiye. If any customer Call on a given number Lead will create it automatically in ERPNext.
Can u help me in this all process from scratch.

Thanks in advance,
Dwarkanath

can u help me for Twilio Integration with ERPNext from Scratch.

Thanks in advance,
Dwarkanath

@Dwarkanath_Bari, @RAHUL_JADHAV, @Aditya_Bagarka and for those still struggling to get this working, I will try to provide a clear explanation in the context of a US based implementation. I will use example values to help make it a bit more clear which information to use, where to put it and how to implement it in the interface. Some of the concepts can be confusing and if unfamiliar with API’s and certain terms, working through this for your situation can be frustrating and difficult. Hopefully this will clear up a few things for you and get you on your way to tapping into the true power of the ERPNext Platform…

Step 1: Gather Information

Before configuring something, it’s always a good idea to understand what information is needed and to gather it ahead of time. So let’s start with a list of the pieces of information you need to gather first:

  1. Your Twilio Account SID. This can be found by logging into Twilio, choosing the Account you are going to use for your text messages and looking on the main account screen for “ACCOUNT SID”
  2. Your Auth Token: Right Below your Account SID you should see a field for your AuthToken
  3. Phone number you will be sending “From” in the correct format. For the US, that looks like the following: +11234567890 Where the first two characters “+1” is the country code.
  4. The Gateway URL: This is the API “Endpoint” that Twilio provides and can be found by going to “Messaging > Try it out > Send an SMS” in the right you will see a url that looks like the following…Copy this piece of information.

https://api.twilio.com/2010-04-01/Accounts/ACCOUNTSID/Messages.json

Now that you’ve gathered that information, let’s use an example to make it clear how this works.

Example using fake data:

Account SID: BB987287ih98209c895d88098eb
Auth Token: caGhxZ5avge9XfwHucZqBlPKp890ssaf3d
Phone Number: +11234567890
Gateway URL: https://api.twilio.com/2010-04-01/Accounts/BB987287ih98209c895d88098eb/Messages.json

Now that we have this information above, the next step is to generate the “Base64 Encoded” value, which is made up of your Account SID and the Auth Token in the following format: AccountSID:AuthToken.

Let’s browse to https://www.base64encode.org/ and in the Box Labeled “Encode to Base64 format” enter your Account SID then a colon and then the Auth Token like this…

accountsid:authtoken

Here’s what it looks like with our fake data above:

Okay, now that we have that information, click the the ENCODE Button and then copy the entire result from the box below the Encode Button:

So in our example, we now have a Base64 encoded string we can add to the list of information we need to configure our SMS Settings in ERPNext:

QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=

Now, what do we do with this information above? We add one little Word plus a space:

Basic QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=

Step 2: Configure SMS Settings

Now that we’ve gathered all the pieces of information, let’s go into ERP Next and add this information, along with a few other pieces describe already in this thread. We will go step by step.

Log into your ERPNext Instance. Search for “SMS Settings” in the search bar and click on the “SMS Settings” result. This will bring you to the SMS settings screen.

SMS Gateway URL

Copy the SMS Gateway URL into the box labeled SMS Gateway URL, like this…

As you can see we copied our Gateway url with our Account SID as documented above.

Note: The wrapping of the text in the image above is done automatically based on the box and is not actually a break. DO NOT ADD a carriage return. Just copy and paste and move on.

Message

Next, in the Message Parameter Field, type the word “Body”:

Receiver

In the Receiver Parameter field, type the word “To”:

Static Parameters

Now we need to add our “Static Parameters” one by one. For the next screen shots, I will be clicking on the “Edit” icon for each row of the Static Parameters table to show you the individual row settings.

VALUE 1: Authorization

Let’s start with the first parameter, the “Authorization” parameter. For this we are going to use the “Basic BASE64ENCODEDACCOUNTSID:AUTHTOKEN” string that we created above. So that looks like the following:

Note, in the “Value” field in the picture above, you do not see the entire string, but you want to make sure you copy and paste the entire string, which in our example was this value:

Basic QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=

VALUE 2: From

Next, we’re going to add the phone number that we are using from our Twilio account to send the text messages. So click “Add Row” if you do not already have another row in the Static Parameters field and fill in the details as such:

VALUE 3: Content-Type

Finally, we add another row for the last value we need which is “Content-Type” like so…

Use Post and All Together Now

Before saving we need to make sure the “Use Post” checkbox is “Checked” and then we can click save. So putting it all together with our sample data, your setup should look similar to the following screen shot:

Step 3: Testing, Testing, 1…2…3

To make sure all is working, we can test by using the “SMS Center” which we can get to by searching in the search bar and selecting it. Once we are there:

  • Enter a mobile number to send a message to in the “Receiver List”
  • Type a “Message” in the message box on the right and then
  • Click the “Send SMS” button

That’s it. I hope this detailed walk-through helped folks figure this out for Twilio. If you’re still having issues, most likely it’s a problem with your Twilio setup. Make sure the number you’re using is enabled for sending SMS messages.

Please consult the Twilio documentation, which is very good, regarding SMS enabled numbers: Hosted Numbers FAQ | Twilio

Thanks and good luck.

5 Likes

Thank you for that… worked perfectly, first try… which is something for myself.
Likely one of the most thorough help articles that I have found… was almost suprised when my phone sounded off with a text message after hitting send in ERPnext.
I have looked for further info on recieving message responses through twilio to ERPnext… and have not found definitive help.
Would you be able to shed some light on the topic?

Hello @plumber I believe at the moment, ERPNext has out of the box support for sending, not receiving. You could probably use Webhooks to push incoming messages from Twilio to ERPNext. Not sure if someone has already done that before, maybe someone viewing this response could offer suggestions?

Wrote a help article for this topic in the link… tried to cover most of what I learned.
This is the thread that introdueced me to the forum via a google search.
If it helps anyone, was worth the time… please correct me if I was off anywhere.
Always learning.

1 Like

@plumber Very cool and inspiring display of true humility in learning. Thank you for working through this and sharing your newfound knowledge!!

Thank you that.
I am making the unpleasant transition from unconsciously incompetent to consciously incompetent.
If I had to make one recommendation to others just starting off with ERPnext…

Take the time to read through the doc on erpnext and frappe… you will not regret it when you realize that you have become serious about using the platform.
One of the awesome things about erpnext is the out of the box functionality… which leaves a person to potentially think they can keep on winging it because it was so easy to setup…
And… this forum makes it easy to get going as well, as the majority of your initial questions will be covered and fairly easy to find… but…

However… the platforms have so much potential still… a lack of understanding will later limit your ability to progress and take advantage of much of that potential.

There will never be more time later… and you will gain that time back during your progress… trust me on that one…lol.

Hie Iguana_Dev, do you mind helping me set it up through a call?

Is It similar to Frappe Framework or required else ?

requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.twilio.com/2010-04-01/Accounts/ACe17ee2e3c46d0622d94a2c703e87c9e7/Messages.json
Possible source of error: erpnext (app)

1 Like

which gate way ?