GetExternalContactAction returning 204 No Content on valid phone lookup

Building a lookup flow in Architect to pull CRM data based on the inbound phone number. Using the GetExternalContactAction data action. The external contact endpoint is verified and works in Postman with the same auth headers.

The Studio script sets the input correctly:

contactNumber = interaction.contact.phoneNumber

Action config:

  • Method: GET
  • URL: https://crm.example.com/api/contacts?phone={contactNumber}
  • Headers: Authorization: Bearer {{oauth_token}}

The action completes, but the status is 204. The output variable externalContactData is empty. No error message in the action result.

If I hardcode a number in the URL instead of using the variable, it works. So it’s definitely the variable substitution or type casting.

Is contactNumber coming through as a string with leading zeros or something weird? Or does the action fail silently if the variable is null at runtime?

Here’s the trace output for the input:

Input Variable: contactNumber
Value: "+15550199822"
Type: String

Action Result:

Status: 204
Headers: {}
Body: ""

Tried adding a ToString expression just in case. Same result.

204 usually means your CRM is stripping the body on success. Architect chokes if there’s no JSON to parse. Try forcing a Content-Type: application/json header in the action config, even for GET. If that fails, check if the CRM returns an empty array [] instead of null when the number isn’t found. That often triggers the 204 path in their middleware.