Integrations

Last updated 30 October 2026

Elargi talks to Zapier, Make, n8n, Airtable and anything else that speaks HTTP. It works both ways: Elargi tells your tools when a client uploads or finishes (webhooks), and your tools can send a request through Elargi (the API). Both are on the Firm plan and are set up in Settings → Reminders & automations.

Recipes

  • Zapier. Trigger: “Webhooks by Zapier → Catch Hook”; paste its URL into Elargi’s Webhook URL. Action: “Webhooks by Zapier → POST” to the API below. Zapier’s webhook steps need a paid Zapier plan.
  • Make. Trigger: the “Webhooks → Custom webhook” module. Action: the “HTTP → Make a request” module.
  • n8n. Trigger: the Webhook node. Action: the HTTP Request node.
  • Airtable. To log uploads in a base, add an Airtable automation with the “When webhook received” trigger and paste its URL into Elargi, or go through Zapier or Make. To send a checklist when a row is added, use Zapier or Make: “New record in Airtable”, then POST to the API, and write the returned clientUrl back into the row.

Webhooks: Elargi → your tools

Paste a URL (https) into Webhook URL. Elargi sends a JSON POST for these events:

  • file.uploaded: a client uploaded a file. Adds item, filename, size (bytes) and warnings.
  • request.completed: the client finished every required item. Adds items (title, status, required, answer).
POST https://your-catch-hook-url
webhook-id: msg_…
webhook-timestamp: 1793350000
webhook-signature: v1,…

{
  "type": "request.completed",
  "timestamp": "2026-10-30T12:00:00.000Z",
  "data": {
    "request": {
      "id": "…", "title": "2026 tax return", "status": "open",
      "clientName": "Sam Lee", "clientEmail": "sam@example.com",
      "clientId": null, "dueDate": null,
      "url": "https://elargi.com/app/requests/…"
    },
    "items": [{ "title": "W-2", "status": "submitted", "required": true }]
  }
}

The headers follow Standard Webhooks, signed with the signing secret shown in Settings, so code can check that a call really came from Elargi. Zapier, Make and n8n can ignore them. If your URL doesn’t answer with a 2xx, Elargi retries for about a day (after 1 minute, 10 minutes, 1 hour, 6 hours and 24 hours), then notes the failure on the request.

API: your tools → Elargi

Create a key under API key in Settings. It’s shown once; replacing or removing it stops the old one at once. Send it as Authorization: Bearer elk_….

POST https://elargi.com/api/v1/requests creates a request and, unless sendNow is false, emails the client their link within a minute or so. Fields (JSON):

  • template: the exact name of one of your saved templates, or a starter: us-1040, monthly-close, uk-mtd-quarter, onboarding. It fills the title, message and items.
  • title, message, items (a list of { "title": "…", "description": "…", "required": true }): needed without a template; with one, whatever you send replaces the template’s.
  • clientName, clientEmail, clientPhone (with country code), ccName, ccEmail.
  • dueDate (YYYY-MM-DD), remindEveryDays (0–30; your default if left out), language (en, es, fr, ar, pl), repeatEvery (month, quarter, mtd), sendNow (default true).
curl https://elargi.com/api/v1/requests \
  -H "Authorization: Bearer elk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "us-1040",
    "clientName": "Sam Lee",
    "clientEmail": "sam@example.com",
    "dueDate": "2027-03-01"
  }'

201 Created
{ "id": "…", "url": "https://elargi.com/app/requests/…", "clientUrl": "https://elargi.com/c/…" }

Errors come back as { "error": "…" }: 400 for a bad body, 401 for a wrong key, 403 when the firm isn’t on Firm.

Questions or a tool you’d like to connect? hello@elargi.com