Setting Up Outbound Publishing Webhooks
Configure outbound webhooks to send ACS-generated content to any URL when a piece is published — Zapier, Make, custom endpoints, and more.
Updated April 8, 2026
Outbound webhooks let ACS send your published content to any URL you specify — no native integration required. When ACS publishes a content piece, it immediately delivers a signed HTTP POST request to your configured endpoint. This is how you connect platforms like Substack, Webflow, Zapier, Make, and any custom destination.
How Outbound Webhooks Work
- ACS generates a piece of content and marks it as published
- ACS sends a signed POST request to your webhook URL containing the full content payload
- Your endpoint receives the payload and takes whatever action you have configured (publish to a platform, log to a database, notify your team, etc.)
Delivery is handled by the ACS webhook proxy, which includes automatic retry logic for failed requests.
What Is in the Payload
Each outbound webhook delivers a JSON object with the following fields:
{
"id": "uuid",
"title": "Content title",
"body": "Plain text body",
"body_html": "<p>HTML body content</p>",
"subject_line": "Email subject line (newsletters)",
"preheader_text": "Email preheader (newsletters)",
"meta_title": "SEO meta title (articles)",
"meta_description": "SEO meta description (articles)",
"slug": "url-slug",
"focus_keyword": "primary keyword",
"hashtags": ["tag1", "tag2"],
"platform": "newsletter",
"content_type": "newsletter",
"published_at": "2026-04-07T12:00:00Z"
}
Fields that do not apply to a given content type will be null or omitted.
Setting Up an Outbound Webhook
Step 1: Add your destination URL
In ACS, go to Settings → Integrations. Under Outbound Webhooks, click Add Destination.
Enter:
- Label — a name for this destination (e.g., "Substack via Zapier")
- Destination URL — the URL that should receive the POST request
Step 2: Save and copy your HMAC signing secret
After saving, ACS generates a unique HMAC secret for this webhook endpoint. Copy and store it — you will need it to verify the authenticity of incoming requests on your receiving endpoint.
Step 3: Test the webhook
Use the Send Test button to deliver a sample payload to your URL. Confirm it arrives at your destination and that all expected fields are present.
Webhook Delivery and Retries
ACS makes up to 3 delivery attempts with exponential backoff (delays of 1s, 2s, and 4s). If all attempts fail, the delivery is marked as failed and logged. A status indicator in Settings → Integrations → Outbound Webhooks shows recent delivery history for each destination.
Signature Verification
Every outbound webhook includes an X-ACS-Signature header:
X-ACS-Signature: sha256=<hex_digest>
Your receiving endpoint can use this header to verify that the request is genuine. See Webhook Signatures and Security for implementation examples.
Multiple Destinations
You can configure multiple outbound webhook destinations simultaneously. For example, one for Zapier and one for your own logging server. All active destinations receive the same payload whenever content is published.
Disabling or Removing a Webhook
To pause or remove an outbound webhook, go to Settings → Integrations → Outbound Webhooks, find the destination, and click Disable or Delete. Disabled webhooks stop receiving payloads but retain their configuration and HMAC secret.