- Developers
- Webhooks
REST hooks for automation platforms
Subscribe to one event from code, the way Zapier and similar tools do, and remove the subscription when done.
REST hooks let software create and remove its own webhook subscriptions through the API. Automation platforms use them: when a user turns a Zap on, the platform subscribes; when they turn it off, it unsubscribes. Subscriptions made this way show up in the app under Settings, Integrations, next to endpoints added by hand.
Subscribe
Call Register a webhook with one event and the URL to deliver to.
curl -X POST "https://howdybell.com/api/v1/hooks" \
-H "Authorization: Bearer $HOWDYBELL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event": "contact.created",
"target_url": "https://hooks.example.com/catch/123",
"location_id": 1
}'
{ "id": 42, "event": "contact.created", "target_url": "https://hooks.example.com/catch/123" }
eventis one of the events listed in Webhooks, exceptping.location_idis optional and limits deliveries to one location. With an OAuth token the subscription is always tied to the location the app was installed on.- An OAuth app may only subscribe to events its scopes cover. See Scopes.
target_urlmust be a public https address.
Deliveries have the same body, headers and retry rules as Webhooks.
Unsubscribe
Call Remove a webhook with the id you got back. It answers 204 with no body.
curl -X DELETE "https://howdybell.com/api/v1/hooks/42" \
-H "Authorization: Bearer $HOWDYBELL_TOKEN"
Sample data
Automation platforms show users sample records while they build. Call Get sample payloads with the event name:
curl "https://howdybell.com/api/v1/hooks/samples/contact.created" \
-H "Authorization: Bearer $HOWDYBELL_TOKEN"
It returns {"data": [...]} with recent real payloads for that event, or a built-in example when there are none yet.
Who am I
Get current user info returns the workspace, the location (for OAuth installs), the app and its scopes. Platforms use it to label the connection and to test that a token works.
{ "workspace": { "id": 1, "name": "Victoria Cycle Works" }, "location": null, "app": null, "scopes": ["*"] }