Skip to main content
ClientNest365

Gmail / Outlook

Send a polite reminder when an invoice goes overdue

The day after an unpaid invoice passes its due date, send the client a short reminder from your own mailbox. ClientNest365 marks the invoice overdue and sends the event once.

8 min setup Trigger: invoice.overdue easy
works with Zapierworks with Make.comworks with n8n

Setup steps

  1. In Zapier, Make or n8n, start a new automation with a webhook trigger ('Catch Hook' in Zapier, 'Custom webhook' in Make, 'Webhook' in n8n) and copy the webhook address it gives you.
  2. In ClientNest365, open Settings → Integrations and choose Add webhook. Name it 'Overdue reminders', paste the address from the step above as the Target URL, tick invoice.overdue under Events and choose Add webhook.
  3. Copy the signing secret that appears. It is shown once. Store it in your automation if you want to check the X-ClientNest365-Signature header.
  4. Add a short delay step if you want to give the client a few days first.
  5. Add a Gmail 'Send email' or Outlook 'Send email' step. To: client.email. Body: 'Hi, a quick reminder that invoice {{invoice.number}} for {{invoice.total_formatted}} was due on {{invoice.due_at}}. You can pay or download it from your client portal.'
  6. To test, send an invoice with yesterday as its due date. It is marked overdue, and the event sent, on the next overdue check. The webhook's Recent deliveries list in Settings → Integrations shows whether it arrived.

Payload fields you'll use

  • invoice.number
  • invoice.total_formatted
  • invoice.due_at
  • invoice.days_overdue
  • client.name
  • client.email

Example invoice.overdue payload

Made-up values, real shape. Amounts are in cents.

{
  "id": "evt_3f6a1c9e-8b2d-4e7f-a5c3-1d9b7e2f4a60",
  "event": "invoice.overdue",
  "occurred_at": "2026-10-20T14:05:00.000Z",
  "workspace": {
    "id": "1d4f7a2c-9e3b-4c8d-b6a1-7e5c3f9d2b40",
    "name": "Your workspace"
  },
  "client": {
    "id": "8f0c2a64-1b7e-4c1d-9a55-3e2f6b1d7c90",
    "name": "Example Client Ltd",
    "email": "accounts@example.com",
    "url": "https://clientnest365.com/app/clients/8f0c2a64-1b7e-4c1d-9a55-3e2f6b1d7c90"
  },
  "invoice": {
    "id": "2b7d9e10-5c3a-4f8e-b1d2-7a6c5e4f3d21",
    "number": "INV-0042",
    "status": "overdue",
    "currency": "EUR",
    "subtotal_cents": 120000,
    "tax_cents": 0,
    "total_cents": 120000,
    "total_formatted": "€1,200.00",
    "due_at": "2026-10-15T00:00:00.000Z",
    "sent_at": "2026-10-17T09:30:00.000Z",
    "paid_at": null,
    "days_overdue": 5,
    "line_items": [
      {
        "description": "October retainer",
        "quantity": 1,
        "unit_price_cents": 120000,
        "total_cents": 120000
      }
    ],
    "url": "https://clientnest365.com/app/invoices/2b7d9e10-5c3a-4f8e-b1d2-7a6c5e4f3d21"
  }
}

Where to add it in ClientNest365

In your workspace, open Settings → Integrations and choose Add webhook. Paste the webhook address from Zapier, Make or n8n (or your own endpoint) as the Target URL, tick invoice.overdue under Events and choose Add webhook. The signing secret appears once; copy it if you want to check signatures on the receiving end. You can pause, resume or delete the webhook from the same list, and Recent deliveries shows what was sent.

Checking the signature

Each request carries an X-ClientNest365-Signature header with the value sha256=<hmac>, where the HMAC-SHA256 is computed over the raw request body with the webhook's signing secret. Compare it in constant time and reject a mismatch.