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
clientUrlback 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. Addsitem,filename,size(bytes) andwarnings.request.completed: the client finished every required item. Addsitems(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