Hi Muhammed Shaibant,
After reviewing the proposed Azure Voice Bot to Genesys Cloud integration requirements, I would recommend the following approach to support both intelligent routing and CRM screen-pop functionality using the incident number generated by the bot.
1. Passing the Incident Number from Azure Bot to Genesys Cloud
The recommended method is for the Azure Voice Bot to include the incident number as a custom SIP header when transferring the call to Genesys Cloud via the External SIP Trunk.
Example:
X-Incident-Number: INC123456
Within the Architect Inbound Call Flow, the **Get SIP Headers** action can be used to retrieve the value of the custom SIP header and store it in a flow variable (e.g., Flow.IncidentNumber). This value can then be leveraged for:
* CRM screen pop
* Participant attributes
* Data Actions
* Agent Scripts
* Salesforce/Dynamics integrations
If the transfer mechanism uses SIP REFER instead of a SIP INVITE, custom headers may not always be preserved. Therefore, the preferred design is for the Azure Bot to initiate the transfer using a SIP INVITE containing the required custom headers.
2. Custom SIP Header Naming Convention
While custom SIP header names are generally flexible, it is recommended to follow standard SIP conventions by prefixing custom headers with "X-".
Examples:
* X-Incident-Number
* X-Department
* X-CRM-ID
This approach helps avoid conflicts with standard SIP headers and improves maintainability.
3. Routing Strategy
Although routing can be performed using multiple destination numbers and evaluating Call.CalledAddress within Architect, this approach requires maintaining multiple DIDs and routing configurations.
Example:
*Sales → +12345678900
*Finance → +12345678901
*HR → +12345678902
Architect can evaluate Call.CalledAddress within a Switch action and route calls to the appropriate queue.
However, a more scalable and maintainable approach would be to use a single DID for all bot transfers and pass the target department as a custom SIP header.
Example SIP headers:
X-Department: Sales
X-Incident-Number: INC123456
Architect Flow:
1. Retrieve X-Department using Get SIP Headers.
2. Store the value in a flow variable.
3. Route calls using a Switch action based on the department value.
Example:
* Sales → Sales Queue
* Finance → Finance Queue
* HR → HR Queue
4. CRM Screen Pop Recommendation
Upon receiving the interaction:
1. Retrieve the X-Incident-Number SIP header.
2. Store the value as a Participant Attribute.
3. Invoke a Data Action or CRM integration using the incident number.
4. Present the corresponding incident details to the agent through a screen pop before the interaction is answered.
This method provides a more reliable customer context than performing CRM lookups solely based on ANI.
### Recommended End-State Architecture
Azure Voice Bot transfers the call to Genesys Cloud using a single destination number and includes:
* X-Incident-Number
* X-Department
Genesys Cloud Architect:
1. Retrieves custom SIP headers.
2. Stores values in flow variables and participant attributes.
3. Routes interactions based on X-Department.
4. Performs CRM lookup using X-Incident-Number.
5. Delivers the interaction to the appropriate queue with the relevant customer context.
### Benefits of this Approach
* Single DID to manage
* Simplified routing logic
* Easy onboarding of new departments
* Reduced telephony administration
* Reliable CRM screen pop capability
* Improved scalability and maintainability
Regards,
Niraj Kumar
------------------------------
Niraj Kumar
------------------------------