Receive Meta Ads ad account webhooks, log to Sheets, and alert in Slack
This workflow is a production-ready Meta Ads Webhook dispatcher for the Ad Account object. It receives webhook deliveries from Meta, returns the required acknowledgement, routes events by field, logs them to Google Sh...
Template notes
This workflow is a production-ready Meta Ads Webhook dispatcher for the Ad Account object. It receives webhook deliveries from Meta, returns the required acknowledgement, routes events by field, logs them to Google Sheets (separate tabs per event type), and sends a compact Slack notification with counts.
Use Case Meta webhooks are powerful, but the “last mile” is usually missing: storing raw events, making them readable, and triggering the next automation reliably. This workflow is ideal if you want to: - Centralize all Meta Ads webhook events in one place (one endpoint, one workflow). - Log every event for auditing and analysis (Google Sheets). - Get lightweight alerts in Slack (count-based, not spammy). - Trigger downstream workflows depending on the webhook type (e.g., Creative Fatigue → replace creatives in the affected ad set).
How it Works The workflow is organized into clear blocks:
1. Webhook endpoint + verification - A Webhook trigger receives requests from Meta. - The workflow detects verification requests (hub.mode=subscribe) and validates the Verify Token. - It responds with the hub.challenge value so you can successfully subscribe your webhook in Facebook Developers.
2. Route by event field - For real webhook deliveries (object=adaccount), the workflow routes execution by: - creativefatigue - adrecommendations - adsasynccreationrequest - inprocessadobjects - productsetissue - withissuesadobjects
3. Acknowledge every webhook delivery - For each branch, the workflow immediately returns a JSON acknowledgement (e.g., { "status": "received", "field": "...", "webhooktype": "..." }), so Meta considers the delivery successful.
4. Normalize + log to Google Sheets - The workflow splits array payloads (Meta can send multiple entry items and multiple changes). - Each event type is appended to its own Google Sheets tab (one spreadsheet, multiple sheets), with the raw webhook body also saved for future debugging.
5. Summarize + notify - All event logs are merged and summarized to compute a compact count per field. - A Slack node sends a short message like “New Meta Webhook / Type / Count” with a link to the spreadsheet.