Webhook

A webhook is an HTTP request that one system sends to a URL you choose when an event happens, so you learn about it immediately instead of polling.

How webhooks work

You register a URL with a service and choose which events you care about. When one happens, the service sends an HTTP POST to your URL with a JSON body describing the event. Your endpoint processes it and replies with a 2xx status.

Things to get right:

  • Verify signatures: most senders sign the body with a shared secret, often HMAC-SHA256. Check it before trusting the payload.
  • Respond quickly: do slow work in the background.
  • Expect repeats: senders retry on failure, so handle duplicates with idempotency.
  • Expect disorder: events can arrive out of order.

An example

GitHub sends a webhook when a release is published. A receiver reads the release notes and creates a draft post announcing it.

Why it matters for AI-agent publishing

Webhooks connect publishing to the rest of your stack in both directions: events that should start a post, and post outcomes that other tools need to know about.

SocialHandoff accepts inbound triggers from GitHub releases or any signed webhook, turning each into a draft for approval. It also sends outbound webhooks for post.published, post.failed, and approval.requested, so tools like n8n or Zapier can react. Set them up in the webhooks guide and see the release announcements use case.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial