Trying to implement a customer lookup in Architect using the GetExternalContactAction. The goal is to fetch customer details from an external CRM via a custom webhook before the call rings. I’ve set up a simple Express server to handle the GET request with a phone number query parameter. The endpoint returns valid JSON when tested with curl, but the Architect action returns an empty object.
Here’s the JSON configuration I’m passing to the action:
{
"request": {
"method": "GET",
"url": "https://api.example.com/customers?phone={QueueEntryData.PhoneNumber}",
"headers": {
"Authorization": "Bearer {ExternalContactData.Token}"
}
},
"response": {
"successCodes": [200],
"resultExpression": ".data.customer"
}
}
The webhook logs show the request arriving correctly. The phone number format is E.164, just like in the queue entry data. The response from my server is:
{
"data": {
"customer": {
"id": "12345",
"name": "John Doe"
}
}
}
The resultExpression should map to the customer object. Instead, the Architect trace shows the output as an empty object {}. No errors in the trace, just empty data. I’ve verified the token is valid and the endpoint is accessible from the Genesys Cloud environment. Tried changing the resultExpression to .data but still empty. The action completes successfully, so it’s not a network timeout or auth issue. What’s the correct way to reference the queue entry phone number in the URL? Or is there a specific format required for the resultExpression? The documentation is vague on nested object extraction.