Skip to main content

Webhooks

post.buzz handles webhooks in two directions:

  • Inbound — platforms (Meta, TikTok, YouTube, Threads) POST events to post.buzz so we can update posts, ingest comments/DMs, and sync insights. These are configured by post.buzz and not something you set up.
  • Outbound — post.buzz POSTs events about your activity to URLs you configure, so you can integrate publish/analytics/inbox events into your own systems.

Inbound platform webhooks

These endpoints receive events from social platforms. They're part of post.buzz's backend and are listed here for transparency and for customers who need to verify callback URLs in a developer portal.

EndpointPlatformsPurpose
/api/meta/webhookInstagram, Facebook, Threads (shared)Comments, DMs, mentions, insights
/api/threads/webhookThreadspublish / replies / mentions (Threads-specific envelope)
/api/tiktok/webhookTikTokAsync publish completion/failure
/api/youtube/webhookYouTubeComments (PubSubHubbub Atom feed)
/api/linkedin/webhookLinkedInVerification only (comments polled)

Security model

  • Meta & ThreadsGET performs the App Dashboard verification handshake (hub.mode=subscribe, hub.verify_token, echoes hub.challenge). POST verifies X-Hub-Signature-256 (HMAC-SHA256 of the raw body keyed with the app secret). The Meta endpoint accepts any of the Facebook/Instagram/Threads secrets; Threads verifies against its own secret only.
  • TikTok — verifies TikTok-Signature (HMAC-SHA256 over <timestamp>.<rawBody> keyed with the client secret).
  • YouTubeGET echoes the hub.challenge; POST ingests the Atom XML.
  • All handlers are idempotent and always return 200 to acknowledge receipt, so platform retries never cause duplicate data.

Why LinkedIn is different

LinkedIn has no real-time comment webhook for personal pages (only for organization pages via reviewed orgSocial subscriptions). Its webhook endpoint exists so the callback URL is valid and returns 200 on pings, but comment ingestion relies on cron polling of the LinkedIn adapter.

Outbound webhooks

When you want post.buzz events in your own system, configure an outbound webhook. post.buzz will POST event payloads to your endpoint and record each delivery (with status) so you can audit and retry.

Configure outbound webhooks in the app (Settings → Webhooks). Each delivery is logged with its response status, so you can see which events your system received successfully and which need attention.