Skip to main content

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

  1. In Zapier, create a Zap and choose Webhooks by Zapier, then Catch Hook.
  2. Copy the HTTPS catch URL Zapier shows you.
  3. In SaaSy, open Developer Tools, then Webhooks, then Create endpoint.
  4. Paste the catch URL into Endpoint URL.
  5. Tick the events you want, such as invoice.created or invoice.paid.
  6. Select Create endpoint and store the signing secret.
  7. Select Test on the endpoint row. Zapier should show a sample payload.
  8. 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

  1. In Make, add a Webhooks module and choose Custom webhook.
  2. Copy the HTTPS URL Make gives you.
  3. Create the same Webhooks endpoint in SaaSy as in the Zapier steps above.
  4. Run Test in SaaSy so Make can determine the data structure.
  5. Add later modules that read fields such as invoice_id or status.

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.created when a draft invoice is created
  • subscription.trial_extended when Stripe moves trial_end later on an existing trial. A first stamp of trial_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:

HeaderValue
X-Webhook-EventCanonical name, such as invoice.paid
X-Webhook-IdDelivery id
X-Webhook-TimestampUnix seconds
X-Webhook-Signaturev0= 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.