I’m trying to use the GetExternalContactAction in Genesys Cloud Architect to fetch customer details before routing a call. The goal is to pass the caller’s phone number to an internal endpoint and use the response to update the interaction attributes.
The action is configured to call https://internal-api.example.com/customers/lookup, but I’m getting a 500 Internal Server Error from the Genesys side, not my backend. My backend logs show the request never arrives.
Here is the configuration JSON for the action:
{
"actionType": "GetExternalContact",
"settings": {
"endpoint": "https://internal-api.example.com/customers/lookup",
"method": "GET",
"headers": {
"Authorization": "Bearer {{auth.token}}"
},
"queryParameters": {
"phone": "{{interaction.telephony.caller.phoneNumber}}"
}
}
}
I’ve verified that {{interaction.telephony.caller.phoneNumber}} contains a valid E.164 string like +15551234567. The internal API works fine when called directly via curl with the same query param.
Is there a specific format required for the phone number in the queryParameters map? Or does GetExternalContactAction expect a different field name than phone?
Also, I noticed the documentation mentions a contactId field. Do I need to pre-create the contact in Genesys first, or can this action purely fetch external data?
I’ve tried changing the method to POST with a JSON body, but the behavior is identical. The Genesys logs just show ExternalContactAction failed: HTTP 500.
Any ideas on what’s blocking the outbound request?