Chapter 6: Webex Contact Center Implementation -- 6.5 IVR Flow Implementation¶
6.5 IVR Flow Implementation¶
6.5.1 Flow Migration Overview¶
+-----------------------------------------------------------------------------+
| UCCX -> FLOW DESIGNER MIGRATION |
+-----------------------------------------------------------------------------+
| |
| [!]️ CRITICAL: NO automated migration tool exists. |
| All flows must be MANUALLY RECREATED in Flow Designer. |
| This is a RE-BUILD, not a CONVERSION. |
| |
| UCCX SCRIPT | WXCC FLOW | COMPLEXITY | STATUS |
| ---------------------+-----------------------------+------------+---------|
| MainMenu_EN.aef | India_MainMenu_Flow_v1 | MEDIUM | Build |
| MainMenu_HI.aef | (merged with EN flow) | MEDIUM | Build |
| SalesQueue.aef | Sales_QueueTreatment_v1 | LOW | Build |
| SupportQueue.aef | Support_QueueTreatment_v1 | MEDIUM | Build |
| BillingQueue.aef | Billing_QueueTreatment_v1 | MEDIUM | Build |
| TechSupport.aef | TechSupport_Flow_v1 | MEDIUM | Build |
| AfterHours.aef | AfterHours_Subflow_v1 | LOW | Build |
| Callback.aef | Callback_Flow_v1 | HIGH | Build |
| Survey.aef | Survey_PostCall_v1 | MEDIUM | Build |
| ---------------------+-----------------------------+------------+---------|
| |
| TOTAL: 9 UCCX Scripts -> 9 WxCC Flows |
| |
+-----------------------------------------------------------------------------+
6.5.2 India Main Menu Flow - Detailed Node Structure¶
Per Chapter 3.6.3:
+-----------------------------------------------------------------------------+
| INDIA_MAINMENU_FLOW_V1 - NODE-BY-NODE DESIGN |
+-----------------------------------------------------------------------------+
| |
| NODE | TYPE | CONFIGURATION | OUTPUT |
| ========================================================================= |
| |
| 1 | Start | Entry Point trigger | -> Node 2 |
| | | Auto-accepts call | |
| -----+-------------------+------------------------------------+-----------|
| 2 | Set Variable | Initialize variables: | -> Node 3 |
| | | consent_status = "pending" | |
| | | selected_language = "en" | |
| | | callback_requested = false | |
| -----+-------------------+------------------------------------+-----------|
| 3 | HTTP Request | Business Hours Check | -> Node 4 |
| | | URL: {{API}}/business-hours | or 3A |
| | | Parse: business_hours = response | |
| -----+-------------------+------------------------------------+-----------|
| 3A | GoTo | IF business_hours = FALSE | -> After |
| | | GoTo: AfterHours_Subflow | Hours |
| -----+-------------------+------------------------------------+-----------|
| 4 | Play Message | Welcome + Recording Consent | -> Node 5 |
| | | "Welcome to Abhavtech. This call | |
| | | may be recorded for quality. | |
| | | Press 1 for English. | |
| | | Hindi ke liye 2 dabaiye." | |
| | | Audio: welcome_bilingual.wav | |
| -----+-------------------+------------------------------------+-----------|
| 5 | Collect Digits | Language Selection | -> Node 6 |
| | | Variable: language_choice | or 6A |
| | | Min: 1, Max: 1, Timeout: 5s | |
| | | No Input: Default to "1" (English) | |
| -----+-------------------+------------------------------------+-----------|
| 6 | Condition | IF language_choice = "1" | -> Node 7 |
| | | THEN: Set language = "en" | |
| 6A | Condition | IF language_choice = "2" | -> Node 7 |
| | | THEN: Set language = "hi" | |
| -----+-------------------+------------------------------------+-----------|
| 7 | Virtual Agent V2 | AI Intent Detection (Optional) | -> Node 8 |
| | | Agent: Abhi_VA | or 8A |
| | | Timeout: 5s | |
| | | ON Handled: -> End (contained) | |
| | | ON Escalate: -> Node 8 | |
| | | ON No Intent: -> Node 8 | |
| -----+-------------------+------------------------------------+-----------|
| 8 | Play Message | Main Menu (language-specific) | -> Node 9 |
| | | IF language = "en": | |
| | | "Press 1 for Sales. | |
| | | Press 2 for Support. | |
| | | Press 3 for Billing. | |
| | | Press 4 for Technical Support. | |
| | | Press 0 to speak with agent." | |
| | | Audio: main_menu_en.wav | |
| | | IF language = "hi": | |
| | | Audio: main_menu_hi.wav | |
| -----+-------------------+------------------------------------+-----------|
| 9 | Menu | Main Selection | -> Per |
| | | Variable: menu_selection | option |
| | | Options: 1, 2, 3, 4, 0 | |
| | | Invalid: Replay (max 3x) | |
| | | 1 -> Sales Queue (Node 10) | |
| | | 2 -> Support Queue (Node 11) | |
| | | 3 -> Billing Queue (Node 12) | |
| | | 4 -> TechSupport Queue (Node 13) | |
| | | 0 -> General Queue (Node 14) | |
| -----+-------------------+------------------------------------+-----------|
| 10 | Set Variable | Set skill requirements: | -> Node 15 |
| | | skill_sales = TRUE | |
| | | queue_name = "Sales_India_Queue" | |
| -----+-------------------+------------------------------------+-----------|
| 11 | Set Variable | skill_support = TRUE | -> Node 15 |
| | | queue_name = "Support_India_Queue" | |
| -----+-------------------+------------------------------------+-----------|
| 12 | Set Variable | skill_billing = TRUE | -> Node 15 |
| | | queue_name = "Billing_Queue" | |
| -----+-------------------+------------------------------------+-----------|
| 13 | Set Variable | skill_techsupport = TRUE | -> Node 15 |
| | | queue_name = "TechSupport_Queue" | |
| -----+-------------------+------------------------------------+-----------|
| 14 | Set Variable | Direct to agent | -> Node 15 |
| | | queue_name = "Support_India_Queue" | |
| -----+-------------------+------------------------------------+-----------|
| 15 | Queue Contact | Route to selected queue | -> Agent |
| | | Queue: {{queue_name}} | or |
| | | Skills: Per variables set | Node 16 |
| | | ON No Agent: -> Node 16 | |
| -----+-------------------+------------------------------------+-----------|
| 16 | Play Message | Callback Offer | -> Node 17 |
| | | "All agents busy. Press 1 for | |
| | | callback, 2 to continue waiting." | |
| -----+-------------------+------------------------------------+-----------|
| 17 | Menu | Callback Selection | |
| | | 1 -> Callback_Flow (Subflow) | |
| | | 2 -> Return to Queue (Node 15) | |
| -----+-------------------+------------------------------------+-----------|
| 18 | Disconnect | End Call | END |
| | | Play: goodbye.wav | |
| |
+-----------------------------------------------------------------------------+
6.5.3 Flow Creation Procedure¶
Navigation: Control Hub -> Contact Center -> Flows
Step 1: Create New Flow
- Click "Create Flow"
- Select Type: Inbound Voice Flow
- Name: India_MainMenu_Flow_v1
- Description: Primary India IVR - English/Hindi main menu
Step 2: Build Flow Canvas
- Drag "Start" node (auto-placed)
- Add nodes per design (Section 6.5.2)
- Connect nodes with edges
- Configure each node properties
Step 3: Configure Virtual Agent Node (Node 7)
+-----------------------------------------------------------------------------+
| VIRTUAL AGENT V2 NODE CONFIGURATION |
+-----------------------------------------------------------------------------+
| |
| FIELD | VALUE |
| ---------------------------+--------------------------------------------|
| Virtual Agent | Abhi (select from dropdown) |
| Input Audio | {{NewPhoneContact.MediaResourceId}} |
| Language | {{selected_language}} |
| Welcome Event | WELCOME |
| Timeout Per Turn | 30 seconds |
| Max No Input | 3 |
| ---------------------------+--------------------------------------------|
| |
| OUTPUT VARIABLE MAPPING: |
| VirtualAgent.TranscriptSummary -> {{va_summary}} |
| VirtualAgent.LastIntent -> {{va_intent}} |
| VirtualAgent.EscalationReason -> {{va_reason}} |
| |
+-----------------------------------------------------------------------------+
Step 4: Validate Flow
- Click "Validate" button
- Review all errors/warnings
- Fix any issues
Step 5: Publish Flow
- Click "Publish"
- Add version note: "Initial release"
- Confirm publication
6.5.4 Audio Prompt Migration¶
6.5.4.1 Prompt Inventory (Per Chapter 3.1.4)¶
+-----------------------------------------------------------------------------+
| AUDIO PROMPT INVENTORY - 87 FILES |
+-----------------------------------------------------------------------------+
| |
| ENGLISH PROMPTS (62 files): |
| =========================== |
| Category | Count | Examples |
| ---------------------+-------+--------------------------------------------|
| Welcome/Greeting | 5 | welcome_main.wav, welcome_support.wav |
| Main Menu | 8 | menu_options.wav, press_1_sales.wav |
| Queue Messages | 12 | queue_position.wav, hold_music.wav |
| Error Messages | 6 | invalid_option.wav, timeout.wav |
| Transfer Messages | 4 | transfer_agent.wav, please_hold.wav |
| After Hours | 3 | after_hours.wav, leave_message.wav |
| Holiday | 8 | holiday_general.wav, diwali.wav |
| Survey | 5 | survey_intro.wav, rate_experience.wav |
| Callback | 4 | callback_offer.wav, callback_confirm.wav |
| System | 7 | goodbye.wav, thankyou.wav |
| |
| HINDI PROMPTS (25 files): |
| ========================= |
| Category | Count | Examples |
| ---------------------+-------+--------------------------------------------|
| Welcome/Greeting | 3 | swagat_main.wav |
| Main Menu | 8 | menu_hindi.wav, ek_dabaye.wav |
| Queue Messages | 5 | pratiksha.wav, dhanyawad.wav |
| Error Messages | 3 | galat_chunav.wav |
| After Hours | 2 | office_band.wav |
| System | 4 | namaste.wav, alvida.wav |
| |
+-----------------------------------------------------------------------------+
6.5.4.2 Audio Format Conversion¶
WxCC Audio Requirements:
| Parameter | Specification |
|---|---|
| Format | WAV (RIFF) |
| Sample Rate | 8000 Hz |
| Bit Depth | 16-bit |
| Channels | Mono |
| Max File Size | 10 MB |
| Max Duration | 5 minutes |
Conversion Command (FFmpeg):
# Single file conversion
ffmpeg -i input.wav -ar 8000 -ac 1 -acodec pcm_s16le output.wav
# Bulk conversion script
for file in *.wav; do
ffmpeg -i "$file" -ar 8000 -ac 1 -acodec pcm_s16le "converted/${file}"
done
6.5.4.3 Audio Upload Procedure¶
Navigation: Control Hub -> Contact Center -> Resources -> Audio Files
- Click "Upload Audio"
- Select converted file
- Enter Name (e.g.,
welcome_main_en) - Select Language: English or Hindi
- Click "Upload"
REPEAT for all 87 audio files.