Architect Data Action: GetExternalContactAction returning 404 on phone number lookup

Hey everyone,

I’m running into a wall with a Data Action in Architect. I need to pull customer details from our external CRM before the agent picks up the call. The plan is to use the GetExternalContactAction to query the CRM API by the caller’s phone number.

I’ve set up the Data Action as a POST request to our internal endpoint. The CRM API expects the phone number in the JSON body. Here is the mapping I have configured in the Architect UI:

{
 "action": {
 "type": "GetExternalContactAction",
 "settings": {
 "method": "POST",
 "url": "https://api.example.com/v1/customers/lookup",
 "headers": {
 "Content-Type": "application/json",
 "Authorization": "Bearer static_token_here"
 },
 "body": "{}"
 },
 "inputs": [
 {
 "name": "phone",
 "value": "{{trigger:fromNumber}}"
 }
 ]
 }
}

I tried mapping the input directly in the body string like "{\"phone\": \"{{trigger:fromNumber}}\"}" but the syntax highlighting turned red and it wouldn’t save. So I tried using the inputs array instead, assuming it would merge into the body.

When I test this in the Architect flow simulator, the action fails immediately. The error log shows:

Action Failed: HTTP 404 Not Found
Response Body: {"error": "Resource not found"}

I’ve verified the URL and the token work fine in Postman. If I send {"phone": "5551234567"} manually, I get the customer record back. But through Architect, it seems like the payload isn’t being sent correctly or the endpoint isn’t being hit at all.

Is there a specific way to format the JSON body for GetExternalContactAction when passing dynamic inputs? The documentation is pretty light on how the inputs map to the actual HTTP request body.

Thanks for any pointers.

1 Like