Skip to content
AzimeaDocs
Dashboard

Zapier, Make and n8n

Connect any app those tools know to Azimea without code, through one flow's trigger URL or through the API.

Zapier, Make and n8n connect thousands of apps: a form, a CRM, a booking tool, a spreadsheet. Azimea has no app of its own in their catalogues; they talk to it through an HTTP request, which all three can send.

Way What the tool calls Token Use it when
One flow’s trigger URL The URL shown in the flow’s editor A token for that flow only (azm_wf_…) Something in the other app should start one specific flow for one person
The API https://api.azimea.com/v1/events or /contacts An API key with only the permissions it needs The other app reports what people do and several flows may react, or it keeps contacts up to date

Start with the trigger URL: its token can do nothing except start that one flow.

  1. In Flows, create a flow with API as its trigger. Its editor shows the Trigger URL.
  2. Press Generate a token and copy it at once: it is shown only once.
  3. Add the steps and Publish.
Tool Step to add Where the token goes
Zapier Webhooks by Zapier, action Custom Request, method POST Headers: Authorization = Bearer azm_wf_…
Make HTTP, module Make a request, method POST Headers: Authorization = Bearer azm_wf_…
n8n HTTP Request node, method POST Send Headers: Authorization = Bearer azm_wf_…

In each of them, the URL is the flow’s Trigger URL, the body type is JSON, and the body maps the other app’s fields:

{
"id": "{{the other app's record id}}",
"email": "{{email}}",
"firstName": "{{first name}}",
"properties": { "service": "{{what they booked}}" }
}
  • email or externalId is required; the person is found or created.
  • id is the other app’s id for this record: if the tool retries, the flow still starts once.
  • properties can be shown in the flow’s emails as {{event.service}}.
  • Left without a consent object, the person is treated as your customer: send consent explicitly when the other app collected a marketing subscription.

Every field is described in Start one flow from outside.

  1. Create a key in Settings › API keys with only events:write (for events) or contacts:write (for contacts).

  2. In the tool, add the same HTTP step as above, with:

    • URL https://api.azimea.com/v1/events, header Authorization = Bearer azm_live_…, and the body:
    {
    "events": [{
    "id": "{{the other app's record id}}",
    "name": "booking.confirmed",
    "occurredAt": "{{when it happened, ISO 8601}}",
    "contact": { "email": "{{email}}", "firstName": "{{first name}}" },
    "properties": { "service": "{{what they booked}}" }
    }]
    }
    • or URL https://api.azimea.com/v1/contacts with the contact’s fields, as in Contacts and consent.
  3. Build flows on the event in Flows, as for any event.

Run the step once from the tool (Zapier: Test step; Make: Run once; n8n: Execute step):

  • the tool shows Azimea’s answer, 200: with the person’s contactId for a trigger URL, with what was accepted for events;
  • for a flow, the run appears in the flow’s history; for events, the name appears in Settings › Events.

Try it first with a flow or a key from a sandbox, where no email reaches anyone.

Answer in the tool Likely cause Fix
401 automation.api_trigger_invalid Wrong token, or a new token was generated. Copy the current token into the header, with Bearer before it.
automation.workflow_not_published The flow is a draft. Publish it.
automation.trigger_call_id_invalid id is empty or longer than 100 characters. Map a short, stable id from the other app.
401 from api.azimea.com The API key is wrong, revoked or expired. Create a new key and paste it again.
403 from api.azimea.com The key lacks the permission for this call. Create a key with events:write or contacts:write.
400 with fieldErrors A field is missing or in the wrong format, often the date. Read fieldErrors; dates are ISO 8601, such as 2026-10-14T09:30:00Z.