WebhooksWebhooks overview

Help Center/Webhooks

Webhooks overview

Create outbound and inbound webhooks, choose events, manage secrets, and inspect delivery history for Zapier, Make, and custom apps.

draft

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
Image placeholder — add `images/overview-cover.png` under this category
Webhooks settings panel with Add webhook button and webhook cards

Concepts

ConceptMeaning
OutboundPointerly sends event payloads to your Target URL via POST
InboundExternal services POST to https://<app>/api/webhooks/<id>
EventsSubscription list; no selection means all events
Secretwhsec_… style shared secret for signing / verification
DeliveryAttempt record with status pending / success / failed / retrying
Active / PausedOnly active webhooks receive or emit traffic

Supported events

Event idLabel
new_linkNew Link Created
new_dealNew Deal Saved
new_campaignNew Campaign
link_clickedLink Clicked
application_receivedApplication Received
application_approvedApplication Approved
application_rejectedApplication Rejected
shopify_order_paidShopify Order Paid
shopify_refund_createdShopify Refund Created
mailchimp_member_addedMailchimp Member Added
hubspot_deal_stage_changedHubSpot Deal Stage Changed

Create a webhook

  1. Open the Webhooks panel for your team and click Add webhook (or Create webhook when empty).
  2. Choose Direction:
    • Outbound — send events to an external URL
    • Inbound — receive data from external apps
  3. Enter a Name (e.g. “Zapier — New Links”).
  4. For outbound, paste the Target URL.
  5. For outbound, tick the Events to send you care about. Leave all unchecked to receive every event.
  6. For inbound, note that after create you will get an endpoint URL and signing secret to configure in Zapier/Make.
  7. Click Create Webhook.
Image placeholder — add `images/overview-step-01.png` under this category
Create Webhook dialog with Outbound Inbound, name, URL, and event checkboxes

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}.

Image placeholder — add `images/overview-step-02.png` under this category
Webhook card expanded showing events, secret controls, and History

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

SymptomLikely causeWhat to try
No deliveriesWebhook paused or event not selectedActivate; confirm event fires; use “all events” to test
Failures climbingEndpoint 4xx/5xx or timeoutFix catch URL; inspect History; retry after fix
Signature errorsStale secret after regenerateCopy the new secret into the consumer
Inbound 401/403Bad signature or unknown idUse exact /api/webhooks/{id} and current secret
Create blockedMissing name or outbound URLFill required fields