Hey everyone,
We’re trying to set up a simple customer lookup in Architect using the GetExternalContactAction. The goal is to pull a customer record from our external REST API based on the caller’s phone number before routing them. It sounds straightforward, but the action keeps returning an empty result set, and I’m not seeing any errors in the trace.
Here’s the JSON config I’m using for the action:
{
"actionType": "GetExternalContactAction",
"settings": {
"endpointUrl": "https://api.ourcrm.com/v1/customers/lookup",
"method": "GET",
"parameters": [
{
"name": "phone_number",
"value": "${contact.phone_number}"
}
],
"responseMapping": {
"contactId": "${result.id}",
"customerName": "${result.name}"
}
}
}
I’ve verified the endpoint works manually with curl. When I hit https://api.ourcrm.com/v1/customers/lookup?phone_number=15551234567, it returns a valid JSON object with id and name fields. The API is also configured to allow CORS, though I don’t think Architect enforces that strictly for server-side calls.
The weird part is that the action doesn’t fail. It just completes successfully with no data mapped. I’ve tried changing the value to a hardcoded string like "15551234567" instead of the expression, but that didn’t help either. I also checked the debug logs in Architect, and it shows the HTTP request was sent with a 200 status code, but the response body seems to be ignored or malformed in the mapping step.
Is there something specific about how GetExternalContactAction parses the response? Do I need to wrap the result in an array? The docs are pretty thin on this action compared to the InvokeRestAction.
Any pointers would be appreciated. I’m out of ideas.