Architecting Dynamic Survey Opt-In Logic Before Queue Entry
Executive Summary & Architectural Context
Post-call Customer Satisfaction (CSAT) surveys are critical for quality management. However, forcing every caller into an automated survey after a 45-minute technical support call often results in abandoned surveys or artificially low scores born purely from frustration.
The industry best practice is Pre-Queue Opt-In. Instead of surprising the caller with a survey at the end of the call, the IVR asks them before they enter the queue: “Would you like to participate in a brief survey after your call today?” If they press 1 for yes, the system flags the interaction. When the agent hangs up, the system automatically routes the caller to the survey flow instead of disconnecting them.
This masterclass details how to architect the Opt-In logic in an Inbound Call Flow, how to pass that state to the agent, and how to trigger the post-call survey automatically without agent intervention.
Prerequisites, Roles & Licensing
- Licensing: Genesys Cloud CX 2 or 3 (for advanced routing and WEM surveys).
- Roles & Permissions:
Architect > Flow > Edit,Quality > Survey > Edit. - Platform Dependencies:
- A published Post-Call Survey Flow (or web survey policy).
The Implementation Deep-Dive
1. Building the Opt-In Task
This logic sits in your main Inbound Call Flow, immediately before the Transfer to ACD node.
- Create a new Task:
Task_Survey_OptIn. - Add a Collect Input node.
- Audio Prompt: “After your conversation with our representative, would you be willing to stay on the line for a short 2-question survey? Press 1 for Yes, or 2 for No.”
- Store the result in
Task.SurveyOptIn(String).
2. Flagging the Interaction (Participant Data)
The system must “remember” the caller’s choice for the duration of the call. Architect variables (Task.SurveyOptIn) die as soon as the call is transferred to the queue. You must write the choice to the Conversation Object using Participant Data.
- Add a Decision node:
Task.SurveyOptIn == "1". - On the True path, add a Set Participant Data action.
- Attribute Name:
Survey_Opt_In - Attribute Value:
"TRUE" - On the False path, set
Survey_Opt_Into"FALSE".
3. Executing the Post-Call Routing
Genesys Cloud handles post-call routing via Agent Disconnect. If the caller hangs up first, the call ends. If the agent hangs up, the system evaluates the post-call routing rules.
There are two primary methods to trigger the survey:
Method A: Quality Management Web Surveys (Automated)
If you are using Genesys Cloud Web Surveys (Email/SMS):
- Navigate to Admin > Quality > Survey Policies.
- Create a new policy.
- In the Conditions, define an Attribute Rule:
Survey_Opt_In EQUALS TRUE. - When the call ends, the Genesys backend evaluates this rule. If it matches, it automatically dispatches the SMS/Email survey.
Method B: Voice IVR Surveys (In-Queue Flow Override)
If you want the caller to stay on the phone for a voice survey, you must configure Post-Call routing at the Queue level.
- Navigate to Admin > Routing > Queues.
- Select your target queue and go to the Voice tab.
- Locate In-Queue Flow. Ensure a flow is assigned.
- Crucially, in your Architect Inbound Flow (before the transfer), you must use a Set Participant Data node to set a highly specific, reserved variable:
PostCallSurvey_Flow_UUID. (Note: this is an advanced API technique. The standard UI approach relies on WEM Quality Policies).
Validation, Edge Cases & Troubleshooting
Edge Case 1: The Caller Hangs Up First
A voice-based post-call survey only triggers if the agent clicks the “End Call” button while the customer remains on the line.
- The Trap: If the agent says “Goodbye” and the customer immediately hangs up their cell phone, the survey flow will never execute, because the customer leg is already dead.
- Solution: Agents must be trained on a specific sign-off script: “Thank you for calling. I will now transfer you to our survey system. Have a great day!” The agent must then click “End Call” immediately, before the customer has a chance to hang up.
Edge Case 2: Fatigue Rules
If a customer calls 5 times in one week, asking them to opt-in 5 times is irritating.
- Solution: Before the
Collect Inputnode, execute a Call Data Action that checks the CRM to see if the customer has completed a survey in the last 30 days. If True, bypass the opt-in entirely and route them directly to the queue.
Official References
- Participant Data: Genesys Cloud Resource Center: Set Participant Data action
- Survey Policies: Genesys Cloud Resource Center: Create a survey policy