Send leads from Zapier or Make into Cold Leads
- Who it is for
- Teams automating with Zapier or Make
- The problem
- Leads arrive in many tools: chat widgets, booking pages, e-commerce checkouts, form builders. Cold Leads has no app in the Zapier or Make directories, so there is no ready-made action to pick.
- The solution
- Use the generic HTTP step both platforms have. One request to the lead endpoint with a website key creates or updates a contact; on the Business plan a second request to the stage hook moves a contact to customer when, for example, a payment arrives.
- What you get
- A Zap or Make scenario that turns any trigger into a Cold Leads contact with tags and stage, and optionally updates the stage later.
Addresses, IDs and results in the examples are illustrative. example.com is reserved for documentation, so a real check of these addresses returns invalid.
Two endpoints
| Endpoint | Key | Plans | What it does |
|---|---|---|---|
| POST /api/hooks/lead | Website key (lk_…) in x-api-key | All plans | Creates a contact (or adds tags to an existing one) with stage subscriber or lead and consent status inquiry |
| POST /api/hooks/stage | Secret key (sk_…) in x-api-key or Authorization: Bearer | Business | Moves an existing contact to cold, subscriber, lead, customer or regular |
Only send people who contacted you to the lead endpoint. Cold prospect lists belong in a CSV import, which saves them with the B2B outreach consent status.
Zapier
- Pick the trigger app and event, for example a new booking or a new form entry.
- Add the action Webhooks by Zapier → POST. Webhooks by Zapier is not available on Zapier's free plan.
- URL: https://coldleads.app/api/hooks/lead. Payload Type: json.
- Data: email, name, company, phone and message mapped from the trigger; tag with a fixed value such as zapier; stage set to lead if these are sales leads.
- Headers: x-api-key with your website key. Test the step; the response is {"ok":true}.
Make
- Start the scenario with the trigger module of the app that collects leads.
- Add HTTP → Make a request with URL https://coldleads.app/api/hooks/lead and method POST.
- Headers: x-api-key with your website key. Body type: Raw, content type JSON, request content as below.
- Turn on Parse response to see ok or the error code in later modules.
{
"email": "{{1.email}}",
"name": "{{1.name}}",
"company": "{{1.company}}",
"message": "{{1.message}}",
"tag": "make",
"stage": "lead"
}Move a contact to customer (Business)
When a deal closes elsewhere, for example a paid invoice, call the stage hook with a secret key. Keep this key in Zapier or Make only; never put a secret key in a web page.
curl -X POST https://coldleads.app/api/hooks/stage \
-H "Content-Type: application/json" \
-H "x-api-key: sk_your_secret_key" \
-d '{ "email": "jane@example.com", "stage": "customer" }'The contact must already exist; otherwise the hook answers not_found. An unknown stage returns bad_input with the list of valid stages.
Limits and errors
- The lead endpoint accepts 30 requests a minute per IP address and 500 a day per website key. Zapier and Make send from shared addresses, so a large backfill can hit rate_limited; send it in smaller batches or import a CSV file instead.
- The stage hook accepts 120 requests a minute per secret key.
- 402 contact_limit means the plan's contact limit is reached; existing contacts are still updated.
- Cold Leads does not call Zapier or Make on its own: there are no outgoing webhooks, so a Zap cannot be triggered by a new Cold Leads contact.
FAQ
Is there an official Cold Leads app for Zapier or Make?
No. Use Webhooks by Zapier or Make's HTTP module as described here.
Can a Zap start when a contact is created in Cold Leads?
No. Cold Leads has no outgoing webhooks. The Business plan's REST API can be polled, but there is no event feed for new contacts.
Do I need the Business plan?
Not for creating contacts: website keys work on every plan. Moving stages with the stage hook needs a secret key, which only the Business plan can create.