Skip to content
This repository was archived by the owner on Jul 20, 2023. It is now read-only.

TwilioDevEd/automated-survey-rails

Twilio

Automated Surveys with Ruby on Rails and Twilio

This application demonstrates how to use Twilio and TwiML to perform automated phone surveys.

Read the full tutorial here!

Note: protect your webhooks

Twilio supports HTTP Basic and Digest Authentication. Authentication allows you to password protect your TwiML URLs on your web server so that only you and Twilio can access them.

Learn more about HTTP authentication here, which includes sample code you can use to secure your web application by validating incoming Twilio requests.

Local development

This project is built using the Ruby on Rails web framework and NodeJS to serve assets through Webpack.

  1. First clone this repository and cd into it.

    $ git clone git@github.com:TwilioDevEd/automated-survey-rails.git
    $ cd automated-survey-rails
  2. Install Rails dependencies

    $ bundle install
  3. Install Node dependencies

    $ npm install
  4. Create the database and run migrations.

    Make sure you have installed PostgreSQL. If on a Mac, I recommend Postgres.app.

    $ bundle exec rails db:setup
  5. Make sure the tests succeed.

    $ bundle exec rspec
  6. Run the server

    $ bundle exec rails s
  7. Expose your application to the wider internet using ngrok. You can click here for more details. This step is important because the application won't work as expected if you run it through localhost.

$ ngrok http 3000

Once ngrok is running, open up your browser and go to your ngrok URL. It will look something like this: http://9a159ccf.ngrok.io

  1. Configure Twilio to call your webhooks

You will also need to configure Twilio to call your application when calls or messages are received on your Twilio Phone Number.

The Voice Request URL should look something like this:

http://<sub-domain>.ngrok.io/surveys/voice

The SMS & MMS Request URL should look something like this:

http://<sub-domain>.ngrok.io/surveys/sms

That's it!

How To Demo

Voice Surveys. Call your Twilio phone number and follow the instructions.

SMS Surveys. Text your Twilio phone number with any text and follow the instructions.

Meta

  • No warranty expressed or implied. Software is as is. Diggity.
  • MIT License
  • Lovingly crafted by Twilio Developer Education.

About

Sample application demonstrating automated voice surveys with Twilio and Ruby on Rails

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10