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?

Play

The Play action instructs Autopilot to play recorded audio to the user by fetching an audio file from the URL provided. Play is currently only supported on Voice and will be ignored on other channels. Play and Say can be used in the same response.

Simple example: Play an audio file to the caller

{
	"actions": [
		{
			"play": {
				"loop": 2,
				"url": "https://api.twilio.com/cowbell.mp3"
			}
		}
	]
}

The loop attribute lets you define how many times you want to play the audio to the caller.

Dynamic example: Play the same audio file by calling dynamic JSON from a Twilio Function (or another endpoint) instead of the Autopilot Actions bin.

First you'll redirect to the Function from the Actions bin:

{
    "actions": [
        {
            "redirect": "replace-with-your-function.twil.io/dynamicplay"
        }
    ]
}

In the Twilio Function, your Node.js code to play an audio file by rendering Actions' JSON dynamically could look like this:

exports.handler = function(context, event, callback) {
    let actions = [];
    let play = {
        "play":
             {
		        "loop": 2,
		        "url": "https://api.twilio.com/cowbell.mp3"
	         }
	   }

    actions.push(play);
    let respObj = {
    	"actions": actions
    };
    callback(null, respObj);	
};
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.