Integrations
Make, n8n, and generic HTTP recipes
Recipes for building automation flows using Zeng Book's REST API + webhooks with generic HTTP modules. For the official Zapier app spec — including REST Hooks subscriptions and write actions — see the dedicated Zapier page.
Building on Zapier specifically?
See the Zapier developer guide for the REST Hooks subscription endpoints, action specs, and how to build a private Zapier app today.
What you can do
- Trigger any flow when a Zeng Book event fires —invoice paid, quotation accepted, project status changed, etc.
- Act on Zeng Book data on a schedule — pull overdue invoices, post a daily digest, archive old projects to Google Sheets.
- Bridge Zeng Book and tools without a direct integration — Slack, Notion, Airtable, HubSpot, Pipedrive.
Setup checklist
- Generate an API key in Settings → API keys. Store it in your automation tool's secret manager (Zapier "Secret", Make "Connection", n8n "Credential").
- For event-triggered flows, register a webhook endpoint pointing at your automation tool's catch-hook URL. Copy the signing secret too if your tool can verify HMAC.
- For pull-based flows, use the "HTTP" / "Webhooks by Zapier" module with
Authorization: Bearer zb_live_....
Recipe 1 — Slack notification on every paid invoice
A push (webhook-triggered) flow. Latency ~1 second.
- In Zapier, create a new Zap with the trigger Webhooks by Zapier → Catch Hook. Copy the catch-hook URL.
- In Zeng Book, go to Settings → Webhooks → Add endpoint, paste the URL, and tick
invoice.paid. - Trigger a paid invoice in Zeng Book (mark one paid) so Zapier captures a sample.
- Add the action Slack → Send Channel Message. Map the message to:text
💰 Invoice {{data__object__number}} marked paid Project: {{data__object__title}} Total payments: {{data__object__payments}} - Turn on the Zap.
Verifying the signature in Zapier
Zapier's Catch Hook does not natively verify HMAC. For higher-trust flows, route through a small Cloudflare Worker or AWS Lambda that validates the
Zb-Signature header (see the verification snippets) before forwarding into Zapier.Recipe 2 — Nightly overdue-invoice digest in Make
A pull (scheduled) flow. Useful when you want a daily summary rather than an event for each individual change.
- In Make, create a new scenario. First module: Schedule → Every day at 08:00 SGT.
- Add HTTP → Make a request:
- URL:
https://www.zengbook.com/api/v1/invoices?status=OVERDUE&limit=100 - Headers:
Authorization: Bearer zb_live_... - Parse response: JSON.
- URL:
- Iterate
datawith Flow Control → Iterator. - Aggregate to text or CSV with Tools → Text Aggregator.
- Send via Email → Send an Email to your AR inbox, or post to a Slack channel.
Pagination
If you have more than 100 overdue invoices, Make's router can loop while nextCursor is non-null. See pagination for the cursor protocol.
Recipe 3 — n8n: log new clients to Google Sheets
- Add a Webhook node. Set the HTTP Method to POST and copy the URL.
- In Zeng Book, register the URL as a webhook endpoint subscribed to
client.created. - (Optional) Add a Function node before the Google Sheets node that verifies the HMAC signature, using the snippet from verification. Drop the request if the signature is invalid.
- Add a Google Sheets → Append Row node mapping
data.object.name,data.object.email, etc.
Push vs pull — quick guide
| Use case | Pattern |
|---|---|
| Notify a team on an event | Push (webhook) |
| Daily / weekly digest | Pull (scheduled API call) |
| Reconciliation with an external system | Pull, with event-driven invalidation |
| Update an integration after migration | Pull (one-off backfill) |