Trellio is a simple Sinatra app that hooks up Twilio with Trello to record and transcribe voicemails to cards on a Trello board.
- Posts voicemail recording to Trello card
- Posts voicemail transcription to Trello card
- Play a custom voicemail message
- Blacklist that directs unwanted calls straight to voicemail
To access the blacklist, navigate to http://YOURSERVER/blacklists
in the browser.
- MongoDB
$ brew install mongodb
$ bundle
Settings are managed via environment variables:
FORWARD_NUMBER
The phone number to attempt to forward calls toRING_TIMEOUT
Number of seconds to ring before going to voicemailMESSAGE_URL
URL to an audio file to playback as voicemail messageRECORD_TIMEOUT
Max number of seconds for caller's recorded message
- Grab the ID of the Trello board you'd like to use and set to ENV var
TRELLO_BOARD_ID
- Get a Trello developer key here: https://trello.com/1/appKey/generate
- Set that as ENV var
TRELLO_DEVELOPER_PUBLIC_KEY
- Run the Sinatra app:
$ ruby app.rb
- Navigate to "/authorize_trello" and follow the instructions there
- Setup the "Voice Request URL" for your number to send a
POST
to "/incoming"
$ ruby app.rb
- For very short messages that are transcribed quickly, we can end up with two cards in Trello: one for the recording and another for the transcription. Need to use some form of blocking queue for each Message to prevent this race condition.
This app was developed during my open source time at philosophie and currently powers our company voicemail.