This project is primarily an experiment and learning tool for playing with slack bots and AWS Lambda. Please do not actually use this, it's just not that good :-)
- Create a new app at https://api.slack.com
- If you do not already have a Nexmo account, register for one at https://www.nexmo.com
- Copy
aws.env.example
toaws.env
- Edit
aws.env
and populate with appropriate values - Make sure you have Docker and Docker Compose installed
- Run
make deploy
- This will compile the Go binaries and runserverless deploy
to create an API Gateway and deploy the functions to Lambda - From the output, copy the endpoint, something like
https://1j876uqzle.execute-api.us-east-1.amazonaws.com/dev/sms
- In your Slack App configuration, add a Slash command for
/sms
and paste in the endpoint url you just copied. - Install the app into a Slack workspace you have permission to do so in
- Test the integration by typing in
/sms [yourphonenumber] 1m your message
and you should get a response telling you when it was scheduled for and then in that much time you should also receive the text message. Note that if you are using a free trial Nexmo account you wont be able to text any numbers than the one you registered with. - To destroy all the provisioned AWS resources run
make destroy
This app was created as a demo for a presentation given to the Charlotte Golang Meetup group in August 2018. The slides for that talk are available at https://bit.ly/golang-clt-serverless