The click-to-dial buttons in Salesforce desktop are working perfectly, but any call routed through our main Architect IVR flow completely drops the screen pop event. We’re running the Genesys Cloud for Salesforce managed package version 24.3 alongside CTI adapter v3.8.1. The flow itself is straightforward. Collects an extension, passes it to a FindContactByExt data action, and then drops into a hybrid queue. The data action calls a simple Apex method that queries the Contact object and returns the record ID. Query finishes in under 200ms according to the debug logs.
It’s just that the CTI adapter never receives the screen pop payload. Console network tab shows a CTI_ADAPTER_SCREENPOP_TIMEOUT error right after the IVR transfers to the agent. You’ll see the data action node throwing a DataActionResponseTimeout after exactly 45 seconds in the Architect logs. Bumped up the timeout threshold in the flow settings to 60 seconds, but it still fails. Remember that thread from last month about Data Actions dropping payloads when the CTI session token expires mid-flow? Tried rotating the OAuth tokens in the integration settings just in case. Didn’t help. Console is doing jack all when the transfer happens.
Apex side looks clean. The method is synchronous now, using the standard GenesysCloudSalesforce.DataActionHandler interface. Return payload matches the schema exactly. Can’t see any validation errors in the debug logs. Even added a simple System.debug to verify the JSON structure before it leaves the org. Structure is valid. Click-to-dial from the Salesforce layout still works because it bypasses the IVR entirely and uses the direct CTI adapter connection. That path won’t trigger the hybrid routing timeout.
Environment is Tokyo region. Managed package is on the latest release track. Hybrid routing is enabled with WebRTC fallback disabled for this specific queue. The IVR flow uses a custom Find Customer node that maps to the data action. When the agent finally picks up, the call connects fine, but the record window stays blank. Have to manually search for the contact every single time. Real headache for the tier-1 team. Mic stays hot but the screen pop never fires.
Wondering if the data action callback URL is getting blocked by the Salesforce firewall rules when it originates from the IVR media server. IP ranges for the Architect execution environment are whitelisted, but maybe the outbound call to the CTI adapter endpoint is hitting a rate limit. Saw a similar issue mentioned in the community forums where the genesys.cloud.salesforce package drops the screen pop if the IVR flow takes longer than the CTI session TTL. Not sure how to extend that TTL without breaking the click-to-dial functionality.
Here is the exact payload the data action is trying to push back:
{
“recordId”: “0035g00000KxR9tAAF”,
“recordType”: “Contact”,
“screenPopType”: “newTab”,
“callbackUrl”: “https://na54.salesforce.com/services/data/v58.0/genesys/screenpop”
}
Flow logs show the data action completes successfully, but the CTI adapter never logs a screenPopReceived event. Network trace shows the request to the callback URL returns a 502 from the Salesforce load balancer. Might be worth checking if the hybrid routing component is stripping the custom headers before passing them to the data action node