Webhooks overview
Create outbound and inbound webhooks, choose events, manage secrets, and inspect delivery history for Zapier, Make, and custom apps.
Pointerly Webhooks connect your team to external automation tools. Use the Webhooks panel (WebhookSettingsPanel) to add outbound endpoints (Pointerly POSTs events to your URL) or inbound endpoints (external apps POST to Pointerly). Each webhook has a signing secret, optional event filters, activate/pause controls, and a delivery history.
Integrations navigation surfaces webhooks alongside the marketplace (“apps & webhooks”). Prefer webhooks when you need event-driven sync; use API keys when you need to pull data on a schedule.
What you'll do
- Create an outbound or inbound webhook
- Select events (or leave empty for all events)
- Copy URL and secret into Zapier / Make / your app
- Review deliveries, regenerate secrets, pause, or delete
Before you start
- Correct team selected (webhooks are team-scoped)
- Permission to manage integrations / team settings
- For outbound: an HTTPS catch URL (Zapier “Catch Hook”, Make webhook, etc.)
- For inbound: readiness to POST JSON to
/api/webhooks/[id]with the signing secret
Concepts
| Concept | Meaning |
|---|---|
| Outbound | Pointerly sends event payloads to your Target URL via POST |
| Inbound | External services POST to https://<app>/api/webhooks/<id> |
| Events | Subscription list; no selection means all events |
| Secret | whsec_… style shared secret for signing / verification |
| Delivery | Attempt record with status pending / success / failed / retrying |
| Active / Paused | Only active webhooks receive or emit traffic |
Supported events
| Event id | Label |
|---|---|
new_link | New Link Created |
new_deal | New Deal Saved |
new_campaign | New Campaign |
link_clicked | Link Clicked |
application_received | Application Received |
application_approved | Application Approved |
application_rejected | Application Rejected |
shopify_order_paid | Shopify Order Paid |
shopify_refund_created | Shopify Refund Created |
mailchimp_member_added | Mailchimp Member Added |
hubspot_deal_stage_changed | HubSpot Deal Stage Changed |
Create a webhook
- Open the Webhooks panel for your team and click Add webhook (or Create webhook when empty).
- Choose Direction:
- Outbound — send events to an external URL
- Inbound — receive data from external apps
- Enter a Name (e.g. “Zapier — New Links”).
- For outbound, paste the Target URL.
- For outbound, tick the Events to send you care about. Leave all unchecked to receive every event.
- For inbound, note that after create you will get an endpoint URL and signing secret to configure in Zapier/Make.
- Click Create Webhook.
Manage webhooks
On each card you can:
- See Active / Paused, direction, and URL
- Expand details for event badges and the Secret (reveal / copy)
- Open the ⋮ menu: View deliveries, Regenerate secret, Activate / Deactivate, Delete
- Open History for delivery attempts (status codes, retries, errors)
Inbound endpoint format: {appUrl}/api/webhooks/{webhookId}.
Tips
- Start with a narrow event list (
new_link,link_clicked) before enabling high-volume click streams. - Rotate secrets with Regenerate secret after staff changes; update Zapier/Make the same day.
- Pause instead of delete when debugging a flaky endpoint so you keep history.
- Verify signatures with the shared secret before trusting inbound payloads.
Troubleshooting
| Symptom | Likely cause | What to try |
|---|---|---|
| No deliveries | Webhook paused or event not selected | Activate; confirm event fires; use “all events” to test |
| Failures climbing | Endpoint 4xx/5xx or timeout | Fix catch URL; inspect History; retry after fix |
| Signature errors | Stale secret after regenerate | Copy the new secret into the consumer |
| Inbound 401/403 | Bad signature or unknown id | Use exact /api/webhooks/{id} and current secret |
| Create blocked | Missing name or outbound URL | Fill required fields |