Currently you can only send SMS to users in the tulip users table (as well as they have to be validated)
This is one method of sending SMS to anyone by putting a thin wrapper (api gateway & lambda) around the Amazon SNS service
- AWS Account with AWS CLI Setup
- AWS SAM CLI
- Clone https://github.com/mellerbeck/tulip-send-sms locally
Another usefull tutorial on getting started with serverless
So, change to the directory you cloned to, then issue a sam build.
Then do a SAM deploy –guided
I called the stack tulip-send-sms
After the stack completes, you can go to your API-Gateways and you should see
At this point you have a public API that can send Text messages. You should secure it! At the very least put an API key on it. https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-setup-api-key-with-console.html
In our case we set this up using a private API Gateway
Ok, now that we have a SMS gateway let’s give it a test. Click in on the gateway, click in on Stages and then expand PROD.
You are interested in the Invoke URL, click it and it will launch (but fail) something like
It fails because we didn’t pass it any parameters. Let’s do that
The number should be E.164 format
Ok, let’s call this API from Tulip
Go to your connectors, create new connector
Then click the details of the Connector and fill in the connection details. Put in just the host portion of your API gateway
Next create a function.
You will copy your resource (/Prod/sendsms) and paste it in the top address.
Create two Query Parameters, phone_number and message. Use a variable $phone_number$ and $message$ as the value.
On your inputs create a phone_number and message.
Now to test! Put in a phone number and a message and hit test. You should receive a text message
[…] Previously I set up a private API gateway and then accessed it through a VPC Endpoint, this works but is a lot to setup. https://michaelellerbeck.com/2020/11/02/sending-an-sms-to-any-phone-number-from-tulip/ […]