Architect GetExternalContactAction returning null for phone lookup

I’ve got a flow where I need to pull customer details from our external CRM before the agent takes the call. I’m using the GetExternalContactAction in Architect to hit a simple HTTP endpoint we set up.

Here is the JSON configuration for the action:

{
 "actionType": "GetExternalContactAction",
 "name": "Lookup Customer",
 "settings": {
 "url": "https://api.internal-crm.com/contacts?phone={%22key%22:%22{{contact.phone}}%22}",
 "method": "GET",
 "headers": {
 "Authorization": "Bearer {{system.authToken}}"
 },
 "timeout": 5000,
 "result": {
 "contact": "{{result.contact}}"
 }
 }
}

The flow runs without erroring out. The status code comes back as 200. But when I check the result.contact variable in the debug log, it’s just empty or null. The external endpoint definitely returns a JSON object with the customer ID and name.

I’m guessing I’m messing up the URL parameter substitution or the result mapping. The docs say to use {%22key%22:...} for query params but I’m not sure if that’s the right syntax for a simple phone number lookup. Also, is there a specific format the external JSON response needs to be in for Architect to parse it into the contact object?

Any ideas?