Using text-to-speech in announcements

How do I use text-to-speech in announcements?

If enabled for your account, you can configure a Data Announcer applet to announce some text in a voice of your choosing. You can either define the exact text to be announced, or the data sources that will contain the text to be announced at run time, in the applet. You can also specify the voice you want to use for the text in the applet, or use a data source that will contain the name of the voice at run time. For information about the Data Announcer applet, see Data Announcer applet.

You can only use this applet in an interaction plan that routes calls, and not other types of interactions.

 Using data sources

To use any dynamic elements in the Data Announcer applet, you must configure data sources. These data sources must contain the required values for the elements when Vonage Contact Center routes the call to the applet.

You can use any applet that stores data in a data source to create the data sources. The following applets create data sources:

You can also use an existing data source; by default, all calls have the following data sources available:

  • Call Guid
  • CLID
  • Dialled Number

    The Dialled Number ($(DialledNumber)) data source contains the ID of the interaction plan rather than its phone number. The ID and the phone number will often be the same, but this is not guaranteed. Therefore you should not use $(DialledNumber) to indicate the number dialed by the caller.

  • Language
  • First Agent ID

    First Agent ID is only populated after Vonage Contact Center has routed the call through an ACD applet to an agent.

  • DisplayName. By default, DisplayName contains the CLID of the inbound caller. For information about using a custom value in the DisplayName data source, see Setting a display name for an inbound call.
  • InteractionOutcome. By default, InteractionOutcome contains the outcome of the interaction. For information about interaction outcomes, see Interaction outcomes.
  • Interaction Start Time. The time, in UTC, that the interaction starts. For callbacks, InteractionStartTime will be the start of the original interaction.

If you use a post-call named route for post-interaction processing, all data sources configured at the time the interaction finishes (including InteractionOutcome) are available to the target named route.

The applet sends your configured text to the Amazon Polly service which turns your text into speech in the specified voice. The service returns the speech and the applet plays it.

To use text-to-speech in announcements, perform the following steps:

  1. In the same interaction plan as your data sources (if using data sources), create a Data Announcer applet.
  2. In the Announcement Type list, click Text. The Voice and Text fields appear.
  3. In Voice, define the voice you want to use to announce the text. You can use either a static value or a dynamic value from a data source.
    To use a static value, type the voice you want to use.
    To use a dynamic value from a data source, type the dollar sign ($). A list of available data sources appears. Click the data source that will contain the required value at run time.
    For example, $(Contact|TextToSpeech_voice__c).
    Whether you use a static or dynamic value for the voice, it must match the voice ID provided by Amazon Polly. The voice is not case-sensitive. For a list of voices available in Amazon Polly and their IDs, see Voices in Amazon Polly.

    Neural voices

    We only support standard voices; neural-only voices are not supported. For information about neural voices, see NTTS Speaking Styles.

    The applet validates the voice when you click Update.
    The Voice field can contain a maximum of 50 characters.  

  4. In Text, define the text you want announced.
    The Text field can contain text, digits, or a combination. You can include both static values and dynamic values from data sources.
    To use a dynamic value from a data source, type the dollar sign ($). A list of available data sources appears. Click the data source that will contain the required value at run time
    For example, Balance is $(account(1)|balance)
    The Text field can contain a maximum of 500 characters.
  5. Optionally enable barge-in.
    Select the Enable Barge-in check box to enable barge-in. Clear the Enable Barge-in check box to disable barge-in.


    If you enable barge-in and follow this applet with a Menu Tone applet, callers can press any key on their telephone keypad to skip the rest of this announcement. VCC logs the key the caller presses and uses it in the following Menu Tone applet.

    If you enable barge-in for a chain of announcements between this and the Menu Tone applet, callers will skip these announcements too. If intermediate announcements do not have barge-in enabled, the caller's keypress is lost and cannot be passed to the Menu Tone applet.

  6. In the Routing section, click the applet that Vonage Contact Center routes the interaction to after the Data Announcer applet on success and failure.
  7. Optionally, you can validate the audio.
    Error rendering macro 'excerpt-include' : No link could be created for '_ExcerptValidateAudio'.
  8. Click Update. Configure the rest of your interaction plan as required.
    Now when Vonage Contact Center routes a call through the Data Announcer applet, the caller hears the configured text in the specified Amazon Polly voice.