Connect with the API

Connect Zapier to GuardenerAI with the API.

Zapier can send leads from any app it supports into GuardenerAI through the public API. GuardenerAI has no app in Zapier, so this is a connection you build yourself with Webhooks by Zapier: the Zap looks the person up by email, then creates a new lead or updates the one it found.

Not a native integration. A trigger in Zapier sends lead details to your workspace’s API. Leads land in GuardenerAI. Nothing flows back to Zapier on its own.

What you need

  • A Zapier Professional plan or above. Webhooks by Zapier, Filter and Paths are not on the Free plan.
  • A GuardenerAI API key with the Member role and Read and write scope, created by an admin under Settings, API keys.
  • Your workspace address, https://YOUR-ORG.guardenerai.com.

Step by step

  1. Pick the trigger

    Start the Zap with the app where your leads arrive: a form, an ad platform, a spreadsheet row. Run a test so Zapier has a sample with a first name, last name and email to map.

  2. Look the person up by email

    Add Webhooks by Zapier with the GET action. Set the URL to your leads endpoint with an exact email filter, and add a header named X-Api-Key with your key. Lower-case the email first (Formatter by Zapier can do it), because the match is case-sensitive.

    GET URL, with the email mapped from the trigger
    https://YOUR-ORG.guardenerai.com/api/leads?filter=email:equals:{{email}}
  3. Branch on what came back

    Add Paths. One path continues only when totalElements is 0 (a new lead). The other continues when it is greater than 0 (a lead you already have), and uses content[0].id as the lead’s id. If you only want new leads, a single Filter on totalElements is enough.

  4. Create the new lead

    On the new-lead path add Webhooks by Zapier with Custom Request, method POST, to /api/leads. Add the X-Api-Key header and Content-Type: application/json, and map the trigger fields into the body. firstName, lastName and email are required.

    Request body
    {
      "firstName": "{{first_name}}",
      "lastName": "{{last_name}}",
      "email": "{{email}}",
      "phone": "{{phone}}",
      "company": "{{company}}",
      "message": "{{message}}",
      "sourceMedium": "zapier",
      "sourceCampaign": "spring open day"
    }
  5. Or update the lead you found

    On the other path, use Custom Request with method PUT to /api/leads/{id}. A PUT replaces the whole record, so map every field you want to keep, including the ones that did not change. Publish the Zap and send a test lead through.

Before you rely on it

What to know about this connection.

With Zapier

  • Webhooks by Zapier, Filter, Paths and Delay by Zapier need a Professional plan or above.
  • Zapier does not slow its requests down for you. For bulk runs, space them out with Delay by Zapier’s Delay After Queue so the key stays under its rate limit.
  • Zapier cannot hear about changes in GuardenerAI. To pull data out, start a Zap with Schedule by Zapier and ask the API on a timer.
  • The key sits in the Zap’s header settings, so anyone who can edit the Zap can see it. Give the Zap its own key and revoke it if the Zap changes hands.

With every API connection

  • The key must have the Member role and Read and write scope. A Read only key gets a 403 on every write.
  • There is no upsert. Search for the record by email first, then create it or update the one you found.
  • There are no outbound webhooks. Data flows into GuardenerAI; nothing tells the other tool when a record changes, so anything reading back has to ask on a schedule.
  • Each key allows 10 requests per second. Above that the API answers 429 with Retry-After: 1, so wait a second and retry.
  • An update with PUT replaces the whole record. Send every field you want to keep, not only the one that changed.
  • If one of your duplicate rules blocks it, a create answers 409 duplicate_blocked with the matching records. Update the match instead of forcing a second copy.

Checked against Zapier’s own documentation: Send webhooks in Zaps, Paths, Filters, Delay by Zapier. Their plans and features change, so confirm the current details there.

Where it lands

The modules this feeds.

FAQ

Fair questions.

Is there a GuardenerAI app in Zapier?
No. You connect Zapier with Webhooks by Zapier and the public API. GuardenerAI does not publish a Zapier app.
Can I do this on Zapier’s Free plan?
No. Webhooks by Zapier is on the Professional plan and above, and the lookup-then-branch pattern also needs Filter or Paths.
Can a Zap start when something changes in GuardenerAI?
Not directly. GuardenerAI sends no outbound webhooks, so a Zap that needs GuardenerAI data has to run on a schedule and ask the API.
Why search before creating?
The API has no upsert, so creating blindly makes a second lead every time the same person fills in a form. Searching first lets the Zap update the existing lead instead.