Exercises

Five changes to the demo line. Work out where each one lives by reading the flow, then make it in DFC.

Each exercise asks for a change to what a caller experiences. None of them tells you which entity to edit, because working that out is the exercise.

The method is the same every time:

  1. Open DFC Demo V1 - Inbound and find the block that produces the thing you want to change.
  2. Read the attribute it uses, something like $.Attributes.welcome.
  3. Find where that attribute was set. It will be in the Inbound Lookup module, mapped from a path into the lookup response.
  4. That path tells you the entity, the item and the field.

Answers are underneath each one. Try it first, then check.

Shared line, so put things back

Everyone works against the same demo number. Make your change, hear it, then restore it before moving to the next exercise.

1. Change what the caller hears first

The greeting should mention that the call may be recorded.

Show the answer

The flow plays $.Attributes.welcome. The lookup module sets that from experienceConfig.promptSet.welcome.content, so it is the welcome field on the Prompts item the experience points at, which is English Prompts.

Editing the prompt changes every experience pointing at that prompt set, not just the one you called.

2. Send calls somewhere else

Callers on the US line should reach the VIP queue rather than the general one.

Show the answer

The flow sets the working queue from experienceConfig.routing.queue. There are two ways to change it, and they differ in blast radius:

  • Repoint the experience. On Experience Config → US Main Line, change the routing reference from NA General to NA VIP. Only that line moves.
  • Change the destination. On Routing Destination → NA General, change its queue. Every experience pointing at NA General moves with it.

The first is almost always what you want. The second is how you would move several lines at once, deliberately.

3. Close the line

The centre has an unplanned closure today. Callers should be told, and not put in a queue.

Show the answer

The flow branches on $.Attributes.closureActive, set from experienceConfig.closures.active. Turn active on for the Closure item the experience references.

The caller then hears the outOfHours prompt and the reason on file, both from DFC, and the call ends without reaching a queue. Turning one boolean on closed the line.

4. Stop transferring altogether

The line should play its announcement and then hang up, rather than transferring.

Show the answer

The flow reads $.Attributes.transferType and branches on it. On the Routing Destination the experience points at, change transferType from queue to disconnect.

Note this is a field on the destination, not the experience, so it changes how every line using that destination leaves the flow.

5. Change the voice

The US line should answer in Spanish by default, without the caller choosing.

Show the answer

Two things come from the same place. The flow sets the text-to-speech voice from defaultLanguage.pollyVoiceId and announces defaultLanguage.name, so change the defaultLanguage reference on Experience Config → US Main Line to the Spanish language item.

The prompts follow separately, through promptSet. Changing only the language gives you Spanish words read by an English voice, or the reverse, which is a good illustration of references being independent of each other.

What these have in common

Every answer was a field on an item, found by reading one attribute in the flow and following it back to a path. No exercise needed the flow to be edited, and none of them needed a deployment.