SSML reference for the Say node
This reference page lists supported Speech Synthesis Markup Language (SSML) tags, compatibility notes, and troubleshooting guidance.
Most users can use the built-in Speech Editor controls for common text-to-speech needs.
For advanced scenarios, you can manually add supported SSML tags to customize speech behavior.
Important!: All SSML content must be wrapped in:<speak>...</speak> tags.
For detailed configuration steps and SSML reference guidance, see Control IVR Speech in the Say Node with SSML Support.
SSML tags supported in the Say node
This section lists all supported SSML tags, including those that are manual-only.
You do not have to use every tag.
Core and common SSML tags
Commonly supported SSML tags are typically sufficient for users to control speech playback without requiring advanced configuration.
| Tag | Purpose |
Notes |
Example |
|---|---|---|---|
<speak>
|
Wraps the message | Required when using SSML | <speak>Thank you for calling support.</speak>
|
<break>
|
Adds pauses | Time or strength | <break time="500ms"/>
|
<prosody>
|
Controls speed, pitch, volume | Commonly used | <prosody rate="slow">account number</prosody>
|
<say-as>
|
Formats structured data | Dates, time, currency, phones, ordinal | <say-as interpret-as="telephone">1-800-555-1234</say-as>
|
<emphasis> |
Emphasizes words | Support varies | <emphasis level="moderate">important</emphasis>
|
<p> / <s>
|
Paragraph/sentence flow | Long prompts | <p>Welcome to our service.</p>
|
<sub>
|
Speaks an alias | Acronyms, brands | <sub alias="ACME">A C M E</sub>
|
Advanced SSML tags
This section lists SSML tags that are supported only through manual entry..
| Tag | Purpose |
Notes |
Example |
|---|---|---|---|
<phoneme>
|
Forces pronunciation | IPA / X-SAMPA | <phoneme alphabet="ipa" ph="ˈæk.mi">ACME</phoneme>
|
<lang>
|
Switches language | Provider dependent | <lang xml:lang="es-ES">Gracias por llamar</lang>
|
<voice>
|
Switches voice | Voice-tier dependent | <voice name="en-US-Wavenet-D">Please wait</voice>
|
<audio>
|
Plays audio file | Public URL required | <audio src="https://example.com/hold-music.mp3"/>
|
<mark> |
Speech markers | Runtime dependent | <mark name="menu-start"/>
|
<w>
|
Part-of-speech hint | Advanced usage | <w role="verb">record</w>
|
Voice compatibility
The Speech Editor automatically validates any SSML entered in the text field. If validation fails:
- A Validation Failed status appears.
- Detailed error messages are shown below the editor.
- The Generate Audio Preview option is disabled until all issues are resolved.
- Saving (OK) remains available, but validation errors should be corrected to ensure proper speech output.
Important!: All SSML content must be wrapped in <speak> tags.
When using SSML tags — such as <break>, <prosody>, or <say-as> — the entire message must be enclosed in:xml
<speak>...</speak>
If SSML tags are used without the <speak> wrapper, validation will fail, and audio preview will be unavailable.
The table below lists the common SSML errors, along with examples and guidance on how to fix them.
| Validation message or behavior | What it means |
Example |
How to fix it |
|---|---|---|---|
“Tags detected. For SSML, surround the text with <speak> tags.”
|
SSML tags were used, but the message is not wrapped in <speak>...</speak> |
<break time="500ms"/> Thank you for calling.
|
Wrap the entire message:
|
“Mismatched closing tag: </speak> Expected </prosody>” |
A tag was closed in the wrong order. | <speak>Hi <prosody rate="0.5">customer</speak>
|
Close inner tags first:
|
“Unclosed tags: <speak>, <prosody>”
|
One or more opening tags are missing closing tags. | <speak>Hello <prosody rate="slow">customer
|
Add the missing closing tags: </prosody></speak>..
|
“The element type ‘prosody’ must be terminated by the matching end-tag </prosody>.” |
A required closing tag is missing. | <prosody rate="slow">important message
|
Add the matching closing tag: </prosody>.
|
| Generate Audio Preview is disabled | Validation failed due to SSML errors. | Any invalid SSML structure | Resolve all validation errors. Preview becomes available once validation passes. |
| SSML has no audible effect | The selected voice does not support the SSML feature used. | <emphasis level="strong">Important</emphasis>
|
Try a different voice or remove the unsupported tag. |
Quick checklist before previewing
Before generating an audio preview, make sure that:
- All SSML is wrapped in
<speak>...</speak>tags. - Every opening tag has a matching closing tag.
- Tags are nested correctly (inner tags must close before outer tags).
- The selected voice supports the SSML features used.
For detailed configuration steps of a Say node using the Speech Editor, see Control IVR Speech in the Say Node with SSML Support.