Send SMS with infobip

#1

Do you need to communicate with your drivers, promoters or suppliers in a repetitive process? Or do you want to send yourself alerts if the data you are tracking changes?

Then you might want to send SMS directly out of a spreadsheet, depending on the rules you set in dashdash.

To do this, you need an account with an SMS API provider that supports JSON, for example with infobip.com, which we use in this post. Alternatives are Messagebird or Twilio, for which dashdash also has integrations.

So the app might look like this:

A2:C2 are just inputs. Then, the interesting part starts:

D2: ="Hello, "&B2
E2: =SEND_SMS_INFOBIP(A2,C2,D2)
F2: =PARSE(E2,"['messages'][0].['status'].['groupName']")

It’s super easy! :smile: :partying_face:

:warning: Some considerations on sending SMS out of spreadsheets :warning:

  • It’s good practice to set stops, e.g. using IF, especially if you combine your SMS sender with REPEAT or if you send to multiple numbers. This will prevent you from accidentally sending way too many SMS.
  • Be aware of the legal considerations around SMS, especially for promotional purposes.

If you don’t want to use our integration for some reason, you can also use our POST function to directly call the infobip API like this:

E2: =POST("https://api.infobip.com/sms/1/text/single",'{"Authorization":"Basic '&BASE64("[username:password]")&'","Content-Type":"application/json"}','{"from":"'&A2&'","to":"'&C2&'","text":"'&D2&'"}')

The syntax in E2 follows the infobip API documentation. Please note that characters can be escaped with "'&A2&'".

Some words on Authentication and BASE 64:
The infobip API uses HTTP Basic Auth. Username and password must be passed as “username:password” BASE64 encoded. You can use a BASE64 encoder to encode manually and then pass a request like this:

=POST("https://api.infobip.com/sms/1/text/single",'{"Authorization":"Basic VG9yYlNjaHUXXXXXXXXXXXXXXXXXXX","Content-Type":"application/json"}','{"from":"dashdash","to":"49176xxxxxxxx","text":"hello,world!"}')

You can also encode your user name and password programmatically in dashdash like this:

=POST("https://api.infobip.com/sms/1/text/single",'{"Authorization":"Basic '&BASE64("username:password")&'","Content-Type":"application/json"}','{"from":"dashdash","to":"49176xxxxxxxx","text":"hello,world!"}')

Now you can enter your actual username and password.

You can also decode BASE64 encoded strings with the BASE64DECODE function in dashdash, which works exactly the opposite way.

1 Like