Webhooks
Status: planned, not live.
Subscribing
POST /v1/webhooks with { "url": "https://…", "events": ["filing.status_changed"] } returns an id and a signing secret. GET /v1/webhooks lists your subscriptions and DELETE /v1/webhooks/{id} removes one. This is the subscribe and unsubscribe pattern Zapier, Make and n8n use.
Events
| Event | Sent when |
|---|---|
deadline.created |
GoForma adds a deadline |
deadline.due_soon |
A deadline is close |
filing.status_changed |
A filing moves on |
mail.received |
Post arrives at your virtual office |
request.updated |
GoForma replies to or closes your request |
Payloads are thin
{
"id": "evt_…",
"type": "filing.status_changed",
"occurred_at": "2026-11-02T09:14:00Z",
"company_id": "…",
"resource_url": "https://mcp.goforma.com/v1/filings/…"
}
Fetch the details from resource_url with your own token. No client data sits in delivery logs, and disconnecting stops the data at once.
Verifying a delivery
Each request carries GoForma-Signature: t=<unix time>,v1=<hex>, an HMAC-SHA256 of <t>.<raw body> with your secret. Reject anything older than five minutes. Failed deliveries are retried with backoff for 24 hours, then the subscription is paused.