Twilio Conference now supports Announcements
We are excited to announce support for Announcements in Twilio Conference. Over the last several years, Conference has become a critical part of everything from managing incident responses involving a large number of participants or powering advanced call controls such as hold, transfers, monitor, coach, or barge in a contact center. In the past, developers were forced to transfer the Participant out of conference to be able to Play or Say as a workaround for Announcements. The new Announcement feature significantly simplifies the process by using one API call to Play or Say into Conference.
AnnounceUrl: The AnnounceUrl attribute lets you specify a URL for Announcement. The URL may be an MP3, a WAV, or a TwiML document that uses <Play> or <Say>.
AnnounceMethod: Specify GET or POST; defaults to POST.
To Play Announcement into Conference, use the following API:
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Conferences/CFbbe4632a3c49700934481addd5ce1659 \ --data-urlencode "AnnounceUrl=http://www.myapp.com/announce" \ -u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token
Or to Play Announcement to Participant, use the following API:
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Conferences/CFbbe4632a3c49700934481addd5ce1659/Participants/CA386025c9bf5d6052a1d1ea42b4d16662.json \ --data-urlencode "AnnounceUrl=http://www.myapp.com/announce" \ -u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token
Announcement can be used to power many use cases, so let’s look at a couple of the most typical ones.
Announce when a new Participant enters Conference
One of the most common use cases is to be able to announce the name of Participants when they enter Conference. Follow these steps to implement this event using Conference Announcements:
- Purchase a Twilio inbound number and point at the Url that returns TwiML.
- When a caller dials the number, return TwiML that asks the caller to record their name and use the <Record> TwiML verb to record the call. Make sure to use the recordingStatusCallback attribute to receive the Url pointing to the recording.
- When the recording is completed, Twilio sends a webhook to the Url provided in recordingStatusCallback with the RecordingUrl parameter containing the Url to call the recording. Create a map between the CallSid and the RecordingUrl.
- When the webhook is received from Twilio to the Url in the action attribute, return the following TwiML to dial into Conference:
<Dial> <Conference statusCallback=”https://www.myapp.com/ConfStatus” statusCallbackEvent=”join”> ... </Conference> </Dial>
- When your app receives join event from Conference, use the Announcement API and provide the RecordingUrl mapped for the call as the AnnounceUrl.
Legal Disclaimer to a Participant
Compliance plays a big role in many contact center use cases, often requiring businesses to play a legal disclaimer to their customers when successfully connecting with an agent. For example, a business may notify customers a conversation is being recorded; although this notification is typically done manually by the agent, doing so isn’t always reliable for agents handling many such calls every day. A better approach is to automate the process by capturing the join event on Conference and then sending the Announce disclaimer just to the Participant.
When calls are being recorded, you’re also required to play a “beep” sound periodically in the background so participants are aware of the recording. You can do so easily by scheduling a job in your app so that each time the timer expires, it uses Conference Announcement to play a wav/mp3 file containing a beep.
If you have any questions about Conference Announcement, please reach out to us at firstname.lastname@example.org. We can’t wait to hear what you build with the new Announcement feature!