Choose a Forced Announcement with a Session Parameter
A Forced Announcement action in an IVR normally plays one announcement you pick. It can instead read a session parameter when the call reaches it and play the announcement that parameter names, so each caller can hear a different announcement from the same action.
If the parameter is missing, or its value doesn't match an announcement, the action is skipped and the call continues to the next action. Nothing plays and the caller hears no error.
Example: a Data Dip looks up the caller and sets handoffAnn to Company Greeting. The Forced Announcement action reads handoffAnn, so that caller hears Company Greeting. A caller the Data Dip finds nothing for skips the announcement.
Before you start
- Availability: this works on voice IVRs on Call Hub tenants only.
- Setting: the feature is controlled by the Session Parameter Overrides setting, which is off by default and can only be changed by Xima. Contact Xima to have it turned on for your tenant. The same setting also controls session parameter overrides for Skill Priority and Queue Music.
- Announcements: the announcements you want to play must already exist.
Until the setting is on, the Forced Announcement action looks and works as it always has. Actions that already play a selected announcement keep working the same way after it is turned on.
Set up the action
1. Set the parameter earlier in the call flow
Add a step before the Forced Announcement action that gives the call a session parameter whose value is an announcement name. For example, use:
- A Set Parameter action, with Set as Static Value or a value taken from another parameter.
- A Data Dip that returns the value from your own system.
The value must be the announcement's name, spelled exactly as described in Matching rules.
2. Configure the Forced Announcement action
- Open the IVR and add or edit a Forced Announcement action.
- Enter an Action Name.
- Under Announcement source, select Session parameter.
- In Session Parameter Name, enter the parameter's name, for example
handoffAnn. It must match the name set in step 1, including upper and lower case, and must not contain stray spaces. - Click Apply.
Only the selected source is saved. If you switch between Select announcement and Session parameter, the other source's value is kept while the dialog is open and discarded when you apply.
3. Copy announcement names exactly
Expand View announcement names in the action's dialog to see every announcement, written exactly as it must be sent.
- Copy copies one name, and Copy all copies every name, one per line.
- A
·marks a space that matters: a space at the start or end of a name, or two or more spaces in a row. The row also shows the count, such as "2 spaces". - The
·is only a display marker and is never copied. If you type a name by hand, enter a space where you see it, not the·character.
Use Copy rather than retyping wherever you can, especially for a name with marked spaces.
4. Test it
Place a test call for each path: one that should play an announcement, and one with no parameter or a value that doesn't match. Then check the calls in Cradle to Grave.
Matching rules
| Rule | Example with handoffAnn = Company Greeting |
|---|---|
| The parameter name is case-sensitive. | A parameter named HandoffAnn is not read. |
| The value must match the announcement's name letter for letter. | company greeting doesn't match. |
| Spaces count and nothing is trimmed. | Company Greeting with a trailing space doesn't match. |
| Use the announcement's name, not its file name. | Company Greeting.ul doesn't match. |
The value is read each time the call reaches the action. Changing the parameter later in the call has no effect unless the call reaches the action again.
What happens on a call
| Situation | Result |
|---|---|
| The value matches an announcement. | The announcement plays, and the call moves on when it finishes. |
| The call doesn't have the parameter. | The action is skipped. |
| The value doesn't match any announcement. | The action is skipped. |
| The announcement named by the value was deleted. | The action is skipped. |
| The parameter was censored. | The value can't match, so the action is skipped. |
| The setting was turned off after the action was set up. | The action is skipped. |
There is no fallback announcement. If you want one, use a condition in the call flow to send those callers to a separate Forced Announcement action with a selected announcement.
Reporting
When an announcement plays, Cradle to Grave shows the announcement event with the parameter on it. This happens even if the step that set the parameter had Display in Historical Logging turned off. Reading the parameter here doesn't show it to the agent. Display to Agent on the step that set it still decides that.
When the action is skipped, Cradle to Grave shows no announcement event for it. The parameter only appears if the step that set it had Display in Historical Logging turned on.
Keep in mind
- Deleting or renaming announcements: a deleted announcement stops playing straight away. The in-use warning on delete can't cover names chosen by a session parameter, because the name isn't known until the call runs. Before you delete or rename an announcement, update anything that sends its name, such as Set Parameter actions and Data Dip responses.
- If the setting is turned off: the Announcement source option disappears. An action that uses a session parameter opens with an empty announcement list, and Apply stays disabled until you pick an announcement. Picking one replaces the session parameter on that action.
- Other actions: only the Forced Announcement action supports this. Other actions that play audio, such as Digit Menu and Collect Digits, can't choose their audio this way.
Troubleshooting
I don't see Announcement source. The Session Parameter Overrides setting is off, or the tenant isn't on Call Hub. Contact Xima.
The announcement didn't play. Check these in order:
- Did the call reach the step that sets the parameter before it reached the Forced Announcement action?
- Does Session Parameter Name match the parameter's name exactly, including case?
- Is the value a copied name from View announcement names, with no extra or missing spaces?
- Does the announcement still exist under Manage Announcements?
- Is the parameter censored? A censored value can't match.
To see the value the call carried, turn on Display in Historical Logging on the step that sets it, then check Cradle to Grave. Xima support can also see the value and the outcome for each call in the server logs.
Updated 1 day ago
