Lumière Agents
Get started
← All guides

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

  1. 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.
  2. Add invoices from another app: create an API key, then in Zapier use Webhooks by Zapier → POST to ${esc(config.publicUrl)}/api/v1/invoices with the header Authorization: Bearer your-key and 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.sent and text.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/invoices and GET /api/v1/quotes: what's open (?status=all for 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, memo are 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.