Contact enrichment runs through multiple data providers in a cascading sequence. This takes time—sometimes seconds, sometimes minutes.
To prevent your workflow from timing out, you need two specific nodes: HTTP Request and Wait.
The setup
Your workflow must follow this exact order:
HTTP Request node → Sends the profile to Zeliq
Wait node → Pauses until Zeliq returns the data
Step 1: HTTP Request node
This node sends the enrichment request.
Configuration:
Method: POST
URL:
https://api.zeliq.com/api/v1/enrich/phoneAuthentication: Generic Credential Type → Header Auth
(Authorization: Bearer YOUR_API_KEY)
Body (JSON format):
Include the LinkedIn profile URL and the n8n callback variable:
{ "linkedinProfileUrl": "{{ \$json.linkedinUrl }}", "callback_url": "{{ \$execution.resumeUrl }}" }⚠️ The callback_url is required. It tells Zeliq where to send the results.
Step 2: Wait node
Connect this node right after the HTTP Request.
Configuration:
Resume: On Webhook Call
Limit Wait Time: Enabled → 2 hours
Why 2 hours?
Enrichment can be instant or take longer, depending on data availability. A 2-hour buffer ensures n8n keeps the connection open, even if the lookup is slow.
When Zeliq finds the phone number or email, the Wait node resumes automatically and passes the enriched data to your next step.
One last thing
Check your workflow settings: make sure "Timeout Workflow" is either disabled or set to more than 2 hours.
That's it. Your workflow won't break, and you'll get clean, enriched data every time.
👩🏼💻 For further information, please do not hesitate to contact us:

