Connect Zapier or Make
SaaSy has no listing in the Zapier or Make app directories yet. Use an outbound webhook as the trigger, and the REST API as the action, the same way you would with any other HTTPS service.
For the screens that create endpoints and keys, see Developer Tools and API and webhooks.
Catch an event in Zapier
- In Zapier, create a Zap and choose Webhooks by Zapier, then Catch Hook.
- Copy the HTTPS catch URL Zapier shows you.
- In SaaSy, open Developer Tools, then Webhooks, then Create endpoint.
- Paste the catch URL into Endpoint URL.
- Tick the events you want, such as
invoice.createdorinvoice.paid. - Select Create endpoint and store the signing secret.
- Select Test on the endpoint row. Zapier should show a sample payload.
- Turn the Zap on.
SaaSy POSTs JSON to the catch URL. The event name is in the X-Webhook-Event
header. The body is the inner payload, for example:
{
"tenant_id": "11111111-1111-1111-1111-111111111111",
"invoice_id": "22222222-2222-2222-2222-222222222222",
"status": "draft",
"total": "49.00",
"currency": "usd"
}
Catch Hook does not check HMAC. If you need to verify the signature, send the webhook to your own HTTPS endpoint instead, then call Zapier from there.
Catch an event in Make
- In Make, add a Webhooks module and choose Custom webhook.
- Copy the HTTPS URL Make gives you.
- Create the same Webhooks endpoint in SaaSy as in the Zapier steps above.
- Run Test in SaaSy so Make can determine the data structure.
- Add later modules that read fields such as
invoice_idorstatus.
Call the REST API from a Zap or a scenario
Create a tenant API key under Settings, then API Keys
(/dashboard/settings/api-keys). Store the secret. You see it once.
In a Zapier Webhooks by Zapier action, or a Make HTTP module, send:
GET https://api.hellosaasy.ai/api/v1/customers
Authorization: Bearer sk_…
You can send the same key as X-API-Key instead of Authorization. Do not send
both with different values. The gateway rejects that pair.
API access is a Growth-plan feature. See Why can't I see a feature?.
Event names that fire today
The picker on Create endpoint is the live list. Two events that used to be listed without a publisher now fire:
invoice.createdwhen a draft invoice is createdsubscription.trial_extendedwhen Stripe movestrial_endlater on an existing trial. A first stamp oftrial_end(none to some) is not an extension.
invoice.sent, invoice.paid, invoice.overdue, payment.failed, and
payment.refunded already had publishers.
Verify a signature on your own server
Each delivery includes:
| Header | Value |
|---|---|
X-Webhook-Event | Canonical name, such as invoice.paid |
X-Webhook-Id | Delivery id |
X-Webhook-Timestamp | Unix seconds |
X-Webhook-Signature | v0= plus hex HMAC-SHA256 of {timestamp}.{body} |
HMAC the string {timestamp}.{raw body} with the signing secret, hex-encode
it, and prefix v0=. Compare that to the header with a constant-time check.
Reject a timestamp that is too old.