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.

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.
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.
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.
order.createdA new order is placedorder.status_changedAn order moves to another statusorder.completedAn order is completed
invoice.createdAn invoice is createdinvoice.paidAn invoice is paidinvoice.overdueAn invoice passes its due date
ticket.createdA client opens a ticketticket.repliedSomeone replies on a ticket
client.createdA client is addedlead.createdA lead comes in

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.
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.


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.
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.


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.
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.
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.
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.
- 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