Adding SMS provider aside from Twilio


I subscribed to Pro but unfortunately the default SMS notification is not covered for my country.
I want to use a local SMS API provider since it is cheap.
I tried looking on how to do the integration but I have not found a topic that directly guides through it.

So far I have the
1.) HTTP url
2.) API key
3.) Parameters set by SMS API provider

Hoping someone with the experience help me walkthrough the process.

Thank you.

Hi, now you need to use the Webhook action in a workflow rule to post to that HTTP url with the API key and parameters.

Please see

You need to create a script, publish that script as a webapp and use its URL with a webhook workflow

Hi Levent, why does this need appscript at all? wouldn’t a webhook work directly?

Hi @praveen
After I have post the reply I read that he is subscribed to Pro plan. So webhook workflow will suffice as you had already well explained. Sorry for the confusion.

I can’t seem to make it work.

They said it that not JSON and I have to post Parameters.

You API ref accepts the parameters in the endpoint URL directly as POST parameters. Also you need to explicitly specify the Content-type parameter in the HTTP Headers. According to your API documentation, your Content-type shall be application/x-www-form-urlencoded.

According to the API document you have provided, your endpoint URL should be like this, which contains the POST parameters:{“1”: “PhoneNumberHere”, “2”: “Sample Text Message”, “3”: “YourAPIKey”}

You can construct this endpoint URL with POST params like this in AppSheet, but I’m not so sure if this syntax works with the endpoint URL field for a webhook workflow. @praveen can you verify?

<<CONCATENATE("{'1': '",[PhoneNumberColumnName],"', '2': '",[YourTextMessage],"', '3': 'YourAPIKey'}")>>

Yes, I think that constructs the url. You will need to url_encode the string but we have a function for that. The challenge from a quick look at the API docs is that it is expecting a different mime type. We will post it as text or json or … but it expects a multipart-form.