Skip to main content
PostlyBee sends one HTTPS POST per event to each matching subscription. Events are signed with the Standard Webhooks scheme, retried for about 24 hours, and delivered at least once.

Events

Drafts do not emit events. post never contains the post content:
error.code is one of quota_exceeded, integration_disconnected, content_rejected, media_invalid, rate_limited, provider_error, or unknown. unknown is never retryable: the provider may have accepted the post, and retrying could publish it twice.

Subscriptions

Create subscriptions in Settings → Webhooks or with the API (webhooks:write scope). The secret is returned only once:
Omit events to receive every type, and omit integrationIds to cover every account. Endpoints must be public HTTPS URLs.

Verifying signatures

Each request carries three headers: Verify with the raw body, reject timestamps more than five minutes old, and de-duplicate by webhook-id. With the Node SDK (works in Node 18+, Cloudflare Workers, and Deno):
Any Standard Webhooks library works too. During a secret rotation, deliveries carry signatures from both the old and the new secret for 24 hours.

Delivery and retries

  • A 2xx response within 10 seconds counts as delivered. Redirects are not followed.
  • Other responses and timeouts are retried after 30 s, 2 min, 10 min, 30 min, 1 h, 3 h, 6 h, and 12 h. After the eighth failed attempt the delivery is marked failed.
  • After 50 failed deliveries in a row, or 72 hours without a success while deliveries fail, the subscription is paused and workspace admins are notified. Re-enable it in Settings once the endpoint is fixed.
  • Pause or resume a subscription with PUT /webhooks/{id}/enabled or in Settings. While a subscription is paused, its events are held. Re-enabling it delivers what was held during the last 7 days, in order; older held events expire.
  • Events about the same post (or the same account) are delivered in order: a later event waits until the earlier one is delivered or has failed every retry. Events about different posts may arrive in any order.
  • Recent deliveries are listed in Settings and at GET /webhooks/{id}/deliveries. Use GET /posts/lookup to reconcile anything you missed.
Last modified on October 3, 2026