Connect Make and n8n to Klozeo over HTTP
Klozeo is the lead database your automations write to, and your team and AI assistants read from.
How Klozeo connects
Klozeo has no native Make app or n8n node. Your scenario or workflow sends each lead with Make's HTTP module or n8n's HTTP Request node, using an API key the client creates. Three ways connect to Klozeo:
- Make or n8n, over HTTP. One request per lead from Make's HTTP module or n8n's HTTP Request node. See Make and n8n.
- Code, over the REST API. Plain HTTP, or the TypeScript and Python SDKs. See REST API and SDKs.
- Claude and developer tools, over MCP. A connector for Claude, and an MCP endpoint for Claude Code, Cursor, Cline, Roo Code and Smithery. See Claude and Developer tools.
Going the other way, webhooks send lead events back to your scenario.
Every plan has the API, webhooks and the Claude connector. Plans differ by stored leads, limits, members and support response time.
Make: send leads with the HTTP module
In your scenario, add Make's HTTP module, "Make a request", and send one POST per lead.
- URL:
POST https://api.klozeo.com/api/v1/leads - Authentication: an API key sent in the header
X-API-Key, set to the client's key - Body:
application/json. Send at least a name and a source, plus a match key: the lead's email, SIREN or your ownsource_id.
Here, source_id holds the ID of a row in the client's Google Sheet.
POST https://api.klozeo.com/api/v1/leads
X-API-Key: <the client's API key>
Content-Type: application/json
{
"name": "Acme Studio",
"source": "make",
"email": "[email protected]",
"source_id": "gsheet-0042"
}The response is an acknowledgment with the lead's id. To read the record, call GET /leads/{id}.
| Status | What happened |
|---|---|
| 201 | Klozeo created the lead. |
| 200 | The lead matched an existing one on a match key. Klozeo updated it and returned "duplicate": true and the same id. |
n8n: send leads with the HTTP Request node
In your workflow, use n8n's HTTP Request node with Header Auth. Send one POST per lead to https://api.klozeo.com/api/v1/leads, with the API key in the X-API-Key header and a JSON body that has at least a name and a source, plus a match key: the lead's email, SIREN or your own source_id. Klozeo answers 201 when it creates the lead and 200 when it updates the matching one.
Example: your workflow sends a row for [email protected] with the city Lyon. Later the row says Paris and the workflow sends it again. Klozeo matches the email, updates the same lead to Paris and answers 200 with the same id.
What your client sets up first
The client owns the Klozeo account, so a few steps come before your scenario can write.
- The client signs up. Every new account starts with 14 days of Pro. No credit card required.
- The client creates an API key and gives it to you. The owner or an admin creates API keys. A full-access key acts with the owner's rights, so store it in the scenario's credentials and keep it out of messages and email.
- If your scenario listens to events, the client adds the webhook. The owner or an admin creates webhooks.
- The client invites you as editor, so you can see and fix leads. The invitation expires after seven days. Accept each client's invitation with the same login and switch between their workspaces in the dashboard.
Invitations work on Pro, Scale and during the trial; a Free workspace has one user. If the trial ends without a subscription, nothing is deleted, invited members can read but not edit, and the API key keeps writing.
Webhooks: send events back to the scenario
A webhook sends lead events to a URL, so your scenario can react when a lead changes. Each webhook subscribes to the events it chooses:
lead.createdlead.updated(a merge sendslead.updated)lead.scoredlead.deleted- the batch forms of these events
- note events
Retries. Klozeo retries a failed delivery, up to 10 attempts over about 24 hours.
Who manages them. The owner or an admin creates, edits or pauses a webhook, and can redeliver a failed delivery within 72 hours.
Pause. A paused webhook records its events as failed instead of holding them. When the owner resumes it, it delivers new events only.
Signing. A webhook to your own URL is signed when it has a secret: deliveries carry a timestamped Klozeo-Signature header, and the secret can be rotated. The dashboard asks for a secret on every new webhook to your own URL. Through the API, set one to get signed deliveries. Webhooks to a Discord or Slack URL are not signed.
REST API and SDKs, for code
From code, call the same endpoint: the REST API, or the TypeScript and Python SDKs. Batch endpoints create, update and delete several leads in one request. A 207 means some items failed and the others were saved. Batch delete is owner-only.
Limits depend on the plan:
| Plan | Requests per 10 minutes | Batch size | API keys |
|---|---|---|---|
| Free | 250 | 100 | 10 |
| Pro | 2,500 | 500 | 25 |
| Scale | 5,000 | 500 | 50 |
Claude: read and update leads in your workspaces
Connect Claude and it reads the leads, notes, statistics, categories, cities and statuses of one or more workspaces, which you choose when you connect.
Writes need a second consent and the owner, admin or editor role in each workspace you chose. Then Claude can update a lead, add a tag or a note, and save new leads. When Claude sets tags on a lead, it replaces the whole list. Claude cannot delete leads.
To disconnect, open Dashboard → MCP → Connected applications. Access stops at the next request.
Claude Code, Cursor and other developer tools
Claude Code, Cursor, Cline, Roo Code and Smithery connect to https://mcp.klozeo.com/mcp with an API key. The owner or an admin creates the key under Dashboard → API Keys; revoking it disconnects the client.
Questions about connecting
Is there a native Make app or n8n node?
No. Make calls Klozeo through its HTTP module, and n8n through its HTTP Request node, with your API key. The step-by-step guides exist in English and French.
Which fields match a lead I send again?
Klozeo matches on the email (not case-sensitive), then the SIREN, then your own source_id, then an exact phone number plus a name more than 80% similar. Matching stays within one account.
What happens if I replay a run without a match key?
A lead sent without email, SIREN, source_id or phone creates a new record, so a replay adds it again. Name plus city only flags a possible duplicate.
Will my scenario overwrite the client's edits?
It can overwrite some. A merge keeps the lead's name, status, coordinates (latitude, longitude) and do-not-contact, adds new tags, and skips locked fields. Each other field you send with a value, including phone, email and website, replaces the stored value unless locked; fields you leave out or send empty stay unchanged. To keep a client's edit to a phone or an email, lock that field on the lead: later merges and imports leave it alone, and an explicit update still writes it. Custom attributes cannot be locked. Do-not-contact survives every merge and import: only an explicit, recorded action lifts it, and your sending scenario must still check it.
Can I use ChatGPT?
The ChatGPT app is not available yet.
14 days of Pro. No credit card required.