Search code examples
twiliotwilio-phptwilio-twiml

Twilio Voice API - Use "inline" TwiML instead of XML url when creating outgoing call


I'm using the Twilio Voice API to create an outbound call:

$call = $twilio->calls->create(
    "+14155551212", // to
    "+15017122661", // from
    array(
        "url" => "http://demo.twilio.com/docs/voice.xml"
    )
);

As you can see, the script used for the call is accessed with the "url" parameter pointing to a XML file.

The XML is hard coded though. Is there a way to write "inline" TwiML inside this create function so I can pass in PHP directly to make the script dynamic? Then I wouldnt be using a hard coded XML file but dynamic PHP instead.

For example, if I have:

$customer_name = $customer['name'];

I'd like to be able to pass this into the script to be read when a listens to the call.

How can I accomplish this?


Solution

  • Twilio developer evangelist here.

    There is currently not a way to create a call and directly give it static TwiML to execute.

    If you don't want to host static TwiML you could choose to host your TwiML in Twilio's TwiML Bins.

    If you want the TwiML to be dynamic, but you don't want to host it yourself, you could use Twilio Functions to respond to your webhook.

    Let me know if that helps at all.