Connect with the API

Connect Make to GuardenerAI with the API.

Make can send leads from any app it connects to into GuardenerAI through the public API. GuardenerAI has no app in Make, so this is a connection you build yourself with Make’s HTTP app: the scenario looks the person up by email, then a Router creates a new lead or updates the one it found.

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

What you need

  • A Make account. Every module run uses credits, Make’s billing unit, so a lookup plus a create costs more than a create alone.
  • 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. Start the scenario

    Use the trigger module of the app where your leads arrive, or the Webhooks app’s Custom webhook if another system can post to Make. Run it once so the scenario has sample data to map.

  2. Look the person up by email

    Add the HTTP app’s Make a request module, method GET. In Headers, add one named X-Api-Key with your key as the value. Make also offers an API key authentication type that keeps the key in a keychain; if you use it, check the request sends the key in that header. Set Parse response to Yes so the results can be mapped. Lower-case the email in the URL, because the match is case-sensitive.

    Request URL
    https://YOUR-ORG.guardenerai.com/api/leads?filter=email:equals:{{lower(1.email)}}
  3. Route on what came back

    Add a Router with two routes. The first route’s filter passes when totalElements equals 0 (a new lead). The second passes when it is greater than 0, and takes the id of the first item in content as the lead’s id.

  4. Create the new lead

    On the first route add Make a request, method POST, to /api/leads, with the same API key credential. Choose application/JSON as the body content type and map the fields. firstName, lastName and email are required.

    JSON body
    {
      "firstName": "{{1.first_name}}",
      "lastName": "{{1.last_name}}",
      "email": "{{lower(1.email)}}",
      "company": "{{1.company}}",
      "message": "{{1.message}}",
      "sourceMedium": "make",
      "sourceCampaign": "trade show"
    }
  5. Or update the lead you found

    On the second route send a PUT to /api/leads/{id}. A PUT replaces the whole record, so map every field you want to keep. Set Return error if HTTP request fails to Yes on each request, so a rejected call stops the run instead of passing silently.

Before you rely on it

What to know about this connection.

With Make

  • For bulk runs, the Sleep tool can pause a scenario for up to 300 seconds, which keeps the key under its rate limit.
  • Add a Retry error handler to the requests. Make then stores a failed run as an incomplete execution and retries it, automatically or by hand, for example after a 429.
  • Make cannot hear about changes in GuardenerAI. To pull data out, schedule the scenario to run at intervals and ask the API.
  • A Custom webhook belongs to one scenario. Each scenario that receives data needs its own.

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 Make’s own documentation: HTTP app, Webhooks, Router, Tools and Sleep, Error handlers, Credits. 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 Make?
No. You connect Make with its HTTP app and the GuardenerAI public API. GuardenerAI does not publish a Make app.
How many credits does this use?
Each module that runs uses credits, so the trigger, the lookup and the create or update all count. Check Make’s pricing for your plan’s allowance.
Can a scenario start when a GuardenerAI record changes?
Not directly. GuardenerAI sends no outbound webhooks, so a scenario that needs GuardenerAI data has to run on a schedule and ask the API.
Why look the person up first?
The API has no upsert. Without the lookup, every repeat form fill would create another lead instead of updating the one you have.