Guides · Setup and account
API, webhooks, Zapier and HubSpot
Send what your agents do to Zapier, Make, HubSpot or your own tools, and add invoices from any app.
Under Settings → API, webhooks and HubSpot (the account owner) you can connect Lumière Agents to the rest of your tools.
Zapier and Make
- When something happens here, do something there: in Zapier, start a Zap with Webhooks by Zapier → Catch Hook (in Make: Webhooks → Custom webhook), copy its address, and add it under Webhooks. Click Send a test so Zapier sees an example.
- Add invoices from another app: create an API key, then in Zapier use Webhooks by Zapier → POST to
${esc(config.publicUrl)}/api/v1/invoiceswith the headerAuthorization: Bearer your-keyand the fields below.
Webhook events
invoice.payment_recorded: a payment came in (sync, upload, the pay page or Mark paid).invoice.plan_created: a payment plan was set up.message.sentandtext.sent: an email or text went out.reply.received: a customer replied, with what they meant (paid, promise, dispute…).item.needs_you: something stopped and needs your decision.draft.created: an email is waiting for your approval.quote.won,quote.lost,call.missed,receipt.received.
Each request is a JSON POST: {"id": "evt_…", "type": "…", "created_at": "…", "data": {…}}, where data describes the invoice, quote or message and the customer. If your address doesn't answer with a 2xx status, we try again for about two days (1 minute, 5, 15, an hour, then longer). After 50 failures in a row the webhook is switched off and you're emailed. Addresses must be https and public.
Checking the signature
Each request has a Lumiere-Signature: t=TIMESTAMP,v1=SIGNATURE header. SIGNATURE is the HMAC-SHA256 of TIMESTAMP.BODY with your webhook's signing secret (shown once, when you add it), as hex. Check it and that TIMESTAMP is recent. Zapier and Make can skip this.
The API
Send your key as Authorization: Bearer la_…. At most 120 requests a minute per key. Read-only keys can only use the GET endpoints. The full reference and copy-paste examples (curl, Node.js, Python, and webhook receivers that check the signature) are on GitHub.
GET /api/v1/me: your business and agents.GET /api/v1/invoicesandGET /api/v1/quotes: what's open (?status=allfor everything,?limit=up to 500).POST /api/v1/invoices(JSON):company,email,amount,due_date(YYYY-MM-DD) are needed;name,invoice_number,phone,pay_url,memoare optional. A new customer still needs your one-time "this is a business" confirmation before reminders start.POST /api/v1/invoices/NUMBER/paid: marks it paid and stops reminders.GET /api/v1/activity?since=2026-10-01: the activity log.
HubSpot
Click Connect HubSpot. Every email and text the agents send, and every reply, is logged as a note on the HubSpot contact with the same email address. People who aren't in HubSpot are skipped: we never create contacts or change anything else.