Hey everyone.
I’m trying to set up a simple lookup in Architect to pull customer data before the call routes to an agent. The goal is to match the incoming phone number against our external database to see if they’re a premium user.
I’ve created an External Contact Provider in Genesys Cloud. It hits a basic endpoint on our internal server that returns JSON. I tested the endpoint directly in Postman and it works fine. It returns a 200 OK with the expected body.
Here is the JSON response from the external service:
{
"status": "found",
"data": {
"tier": "gold",
"last_call": "2023-10-01"
}
}
In Architect, I added a Get External Contact action. I configured it like this:
- External Contact Provider: My provider
- Lookup Key:
{{contact.phone_number}} - Result Map:
external_lookup
The issue is that when I run the flow, the external_lookup map comes back completely empty. There are no errors in the flow log, just an empty object. I added a log action right after the lookup and it prints {}.
I’m a bit confused because the provider is set to “Phone” type. Does the phone number format matter? I’m passing it as +15551234567. Should it be stripped of the plus sign?
Also, I noticed the docs mention a timeout. Our internal service takes about 300ms to respond. Is that too slow for the action?
Here is the JSON configuration for the action from the flow JSON:
{
"id": "get-external-contact",
"type": "GetExternalContact",
"properties": {
"externalContactProviderId": "abc-123-def",
"lookupKey": "{{contact.phone_number}}",
"resultMap": "external_lookup"
}
}
What am I missing here?