Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Make Outbound Phone Calls with Ruby

In this guide, we'll show you how to use Programmable Voice to make outbound phone calls from your Ruby applications. It's pretty easy - all you'll need is the Twilio Ruby Helper Library, a voice-capable Twilio phone number, your account credentials, and five minutes to have a boatload of fun at your keyboard. Let's get started!

Purchase a voice-enabled Twilio phone number

In the Twilio console, search for and purchase an available phone number capable of making outbound calls. You'll use this phone number as the "From" phone number when you initiate an outbound call.

Search for voice capable numbers

What is TwiML?

TwiML is the Twilio Markup Language, which is just to say that it's an XML document with special tags defined by Twilio to help you build your SMS and voice applications. TwiML is easier shown than explained. Here's some TwiML you might use to respond to an incoming phone call:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Thanks for calling!</Say>
</Response>

And here's some TwiML you might use to respond to an incoming SMS message:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message>We got your message, thank you!</Message>
</Response>

Every TwiML document will have the root <Response> element and within that can contain one or more verbs. Verbs are actions you'd like Twilio to take, such as <Say> a greeting to a caller, or send an SMS <Message> in reply to an incoming message. For a full reference on everything you can do with TwiML, refer to our TwiML API Reference.

Make an outbound call

Now we're ready to make an outbound voice call using the Twilio Ruby gem.

        
        
        
        

        There are a few key parameters to drill into when making the outbound call.

        • "From" - the voice-enabled Twilio phone number you added to your account earlier
        • "To" - the person you'd like to call
        • "Url" - A URL that returns TwiML with instructions on what should happen when the other party picks up the phone

        What is TwiML?

        TwiML is the Twilio Markup Language, which is just to say that it's an XML document with special tags defined by Twilio to help you build your SMS and voice applications. TwiML is easier shown than explained. Here's some TwiML you might use to respond to an incoming phone call:

        <?xml version="1.0" encoding="UTF-8"?>
        <Response>
            <Say>Thanks for calling!</Say>
        </Response>
        

        And here's some TwiML you might use to respond to an incoming SMS message:

        <?xml version="1.0" encoding="UTF-8"?>
        <Response>
            <Message>We got your message, thank you!</Message>
        </Response>
        

        Every TwiML document will have the root <Response> element and within that can contain one or more verbs. Verbs are actions you'd like Twilio to take, such as <Say> a greeting to a caller, or send an SMS <Message> in reply to an incoming message. For a full reference on everything you can do with TwiML, refer to our TwiML API Reference.

              
              
              
              
              This XML document uses the <Say> and the <Play> TwiML tags to read a message and play an MP3 file for the user.

              The TwiML used to make the outbound call

              This XML document uses the <Say> and the <Play> TwiML tags to read a message and play an MP3 file for the user.

              Of course, the TwiML you use to make the outbound call doesn't need to be a static file like in this example. Server-side code that you control can dynamically render TwiML to use for the outbound call. Check out our inbound call guide to see an example of a Ruby app which generates TwiML.

              Where to next?

              Great work! In a few lines of code, you've placed an outbound phone call from your Ruby code. If you're using Programmable Voice with Ruby, you might enjoy these other guides as well.

              Happy hacking!

              Agustin Camino Ricky Robinett David Prothero Rob Spectre Jarod Reyes Andrew Baker Kevin Whinnery Maylon Pedroso
              Rate this page:

              Need some help?

              We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.