CLIENT PORTAL API & WEBHOOKS · UPDATED OCTOBER 2026

Client Portal API and Webhooks for Agencies

A client portal API lets your other tools read and change what happens in your portal, and webhooks tell them the moment something happens. Clientish gives your agency both, plus its own app on Zapier, on every plan from $29 a month: signed events for orders, invoices, tickets, clients and leads, and API keys that read, create and update only what you allow.

Included in every plan
14-day free trial
No credit card required
Clientish Webhooks and API page with webhook endpoints, their events, success rate and status

Everything You Need to Connect Your Portal

Webhooks, a REST API and a Zapier app cover every way an agency connects its client portal to other tools, from a no-code Zap to your own scripts and dashboards, without paying for a higher plan to unlock any of it.

10 Webhook Events

Orders, invoices, tickets, clients and leads. Pick the events each endpoint needs.

Signed Deliveries

Every delivery is signed with HMAC-SHA256, so you can verify the sender.

Automatic Retries

Failed deliveries are retried automatically, 6 attempts in total.

Delivery Log

30 days of deliveries, with attempts, response codes and the body.

Read and Write REST API

15 endpoints to read and 14 to create and update clients, orders, tickets and leads.

Scoped API Keys

Tick what each key may read and what it may change, area by area.

Rate Limits

120 requests a minute per key by default, adjustable up to 1,000.

A Clientish App on Zapier

10 instant triggers, 10 actions and 4 searches, with no webhook URLs to copy.

Webhooks or the API: Which One You Need

A webhook pushes news out of your client portal the moment it happens; the API lets another tool ask for data or make a change when it needs to. Most agency workflows use both, and the Zapier app uses both for you.

What you want to do
WebhooksThe portal tells you
Use bothREST APIYour tool asks
Hear about a new order, payment or ticket at once
✓
—
Look up a client, order or invoice when you need it
—
✓
Add a lead or client from a form, CRM or shop
—
✓
Change an order status or a lead’s stage
—
✓
Signed so you can prove where it came from
✓
Your API key
Works in Zapier without code
✓
✓

Ten Events, Sent the Moment They Happen

Choose which of the ten events each endpoint receives, so your CRM hears about new clients and your accounting tool about paid invoices without anyone exporting a list. Sample and demo data never fires an event.

Orders3 events
  • order.createdA new order is placed
  • order.status_changedAn order moves to another status
  • order.completedAn order is completed
Invoices3 events
  • invoice.createdAn invoice is created
  • invoice.paidAn invoice is paid
  • invoice.overdueAn invoice passes its due date
Tickets2 events
  • ticket.createdA client opens a ticket
  • ticket.repliedSomeone replies on a ticket
Clients & leads2 events
  • client.createdA client is added
  • lead.createdA lead comes in
Clientish app on Zapier: start a Zap, popular Zaps and the triggers, actions and searches for orders, invoices, tickets, clients and leads

ZAPIER APP

Your Client Portal on Zapier, No Code Needed

Pick Clientish in any Zap, sign in with an API key and choose an event or an action. A new lead can land in Google Sheets, a Typeform answer can become a lead, and a paid invoice can post in Slack.

10 instant triggers, from New Order to Invoice Paid and New Lead
10 actions: create a lead, client, order, ticket or draft invoice, and more
4 searches find a client, order, lead or ticket by email or number
Dropdowns list your own clients, services and team
Open the app from the Zapier tab in your workspace

DELIVERY LOG

See Every Delivery. Resend Any of Them.

Each delivery shows its attempts, the response code and the exact request body, so when a Zap or your own endpoint misses an event you can see why and resend it with one click instead of guessing.

30 days of delivery history
Send a test event to any endpoint
Pause, resume or roll the signing secret
Endpoints that fail 20 times in a row are switched off, and you’re notified
Webhook delivery details in Clientish with each attempt, the request body, the last response and Resend now
New webhook endpoint in Clientish showing the signing secret once and a Node.js signature check

SIGNED

Prove Every Delivery Came From Your Portal

Each endpoint has its own signing secret. Every delivery carries a signature made from the timestamp and the raw body, so your app can check it before trusting it.

HMAC-SHA256 signature in the Clientish-Signature header
Clientish-Id stays the same on retries, so you can skip repeats
Reject old timestamps to stop a replayed request
HTTPS endpoints only; private and internal addresses are refused

RETRIES

Failed Deliveries Try Again on Their Own

Your endpoint has 10 seconds to answer with a 2xx. If it doesn’t, the delivery is tried again on a schedule, up to 6 attempts over about 15 hours.

A paused endpoint keeps its deliveries and sends them when resumed
Redirects count as a failure, so use the final URL
Every attempt is signed with a fresh timestamp
Any delivery can be resent by hand from the log
Clientish webhook retry schedule: six attempts over about 15 hours, then the delivery is marked failed
Edit API key window with Read and Create and update permissions per area, read-only services, team and reports, and 500 changes a day

API KEYS

API Keys That Read, and Change Only What You Allow

Create a key for each tool and tick, area by area, what it may read and what it may create or update. Every change it makes is listed under What it changed, and simple ones can be undone for 7 days.

Read or Create & update per area: clients, orders, tickets, leads, invoices
Invoices are always drafts for your team; nothing can be deleted
Up to 500 changes a day per key
Optional IP allowlist and expiry date, and a log of every request

REST API

Simple Requests, Clean JSON

Send the key as a Bearer token and get JSON back. Lists are paged and newest first, records have the same shape as the webhook payload, and an Idempotency-Key header stops a retried request from adding the same record twice.

15 read and 14 create or update endpoints under /api/v1
Filter by status, client, date or search text
Adding a client with an email already on file updates that client
Clear error messages with the HTTP status
POST /api/v1/leads
curl -X POST "https://<workspace>.clientish.io/api/v1/leads" \
  -H "Authorization: Bearer ck_live_XXXX_YYYY" \
  -H "Idempotency-Key: typeform-48213" \
  -d first_name=Maya -d email=maya@northwind.dev \
  -d message="Needs a new website by March"

201 Created
{
  "data": { "done": true, "id": 512, "type": "lead",
            "summary": "Lead Maya added",
            "created": true }
}

Client Portal API and Webhooks FAQ

Straight answers about the client portal API and webhooks for agencies: what each one is, Zapier, creating records, safety, limits and what it costs.

What is a webhook?

A webhook is a message your client portal sends to another app’s address the moment something happens, such as a new order or a paid invoice. The other app does not have to keep asking; it is told, with the record attached and a signature to prove it came from you.

What is the difference between a webhook and an API?

A webhook pushes news out when an event happens. The API is the other direction: your tool asks for data or sends a change when it needs to, using an API key. Use webhooks to react, the API to look things up or add records, and often both in one workflow.

Is there a Clientish app on Zapier?

Yes. Open it from the Zapier tab under Webhooks & API, sign in with an API key and pick from 10 instant triggers, 10 actions and 4 searches. It is shared by invite for now rather than listed publicly in Zapier’s directory.

Can I create or update records through the API?

Yes, for the areas you allow on each key: add and update leads, clients, orders and tickets, add tasks and notes, reply to tickets and prepare draft invoices. Nothing can be deleted, invoices stay drafts until your team sends them, and each key can make up to 500 changes a day.

Can I undo a change an API key made?

For 7 days, yes, when the change was a status, a stage or a detail: open the key’s What it changed list and press Undo. Records the key created, notes and replies are listed there too but stay as they are.

How do I know a webhook really came from my portal?

Check the Clientish-Signature header. It is an HMAC-SHA256 of the timestamp, a dot and the raw body, made with your endpoint’s signing secret. Compare it in constant time and refuse old timestamps, so a copied request cannot be replayed.

What happens if my server is down?

The delivery is tried again on its own, up to 6 attempts over about 15 hours, and you can resend it by hand from the log. After 20 failed attempts in a row the endpoint is switched off and you get a notice, so a dead address does not fail quietly for weeks.

Can I use Make, n8n or my own code instead of Zapier?

Yes. Anything that can receive an HTTPS request or send one with an API key works: point a Make or n8n webhook trigger at an endpoint, and call the REST API for lookups and changes.

How do I send portal data to Google Sheets or my CRM?

The quickest way is a Zap: when a new lead, client or paid invoice arrives, Zapier adds a row to Google Sheets or a contact in HubSpot. For your own dashboard, send the webhook events to your server and fetch more detail through the API. Data goes one way; a change in the sheet does not flow back.

How many webhook endpoints and API keys can I have?

Up to 10 webhook endpoints and 10 API keys per workspace, each key with its own permissions, rate limit, optional expiry date and allowed IP addresses.

Who can manage webhooks and API keys?

Only the workspace owner. Co-admins and team members cannot see or change them, and revoking a key stops every Zap that uses it at once.

How much does it cost?

Webhooks, the API and the Zapier app come with every Clientish plan, from $29 a month, with no add-on and no charge per request. Zapier or Make bill you for their own plans, and the lead pipeline itself starts on Growth at $49.

14-day free trial · no credit card

Connect your portal to the rest of your stack.

Add a webhook endpoint, create an API key with only the access a tool needs, or open the Clientish app on Zapier. Every event is signed and every change is listed. Try it with example data first.

$29 /mo, every plan10 signed webhook events14 day free trial
What every API key gets
  • Read or change, area by area
  • 500 changes a day
  • Undo for 7 days
  • Expiry date and allowed IPs
  • No deletes, invoices as drafts
  • A log of every request
Every feature unlocked in the trial. Pick a plan only when you are ready.
Scroll to Top