Facebook to Slack, cleaner comment moderation reports
You open your Facebook Page, ready to respond to real customers, and instead you’re wading through spam, bait, and “helpful” comments that are anything but. Worse, the ugly stuff shows up after hours, sits there, and quietly damages trust.
Community managers live in the inbox. Marketing leads have brand reputation on the line. And support teams get dragged into threads that should’ve been flagged earlier. This Slack moderation reports automation gives you a clear, consistent snapshot of comment health without babysitting the feed.
This workflow pulls recent comments on a schedule, uses AI to score intent, toxicity, and spam, logs every decision in Supabase, then posts a clean summary to Slack (and Telegram). You’ll see what it fixes, what it costs, and how to adapt it to your own moderation rules.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Facebook to Slack, cleaner comment moderation reports
flowchart LR
subgraph sg0["AI-Based Comment Mod Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Scheduled Workflow Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Facebook Page Comments"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Prepare Comment Items for Pr.."]
n3@{ icon: "mdi:robot", form: "rounded", label: "AI-Based Comment Moderation", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Normalize AI Moderation Resu.."]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/supabase.svg' width='40' height='40' /></div><br/>Store Moderation Logs in Dat.."]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Aggregate Moderation Statist.."]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Moderation Reports to T.."]
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Send Moderation Reports to T.."]
n0 --> n1
n3 --> n4
n1 --> n2
n6 --> n8
n6 --> n7
n4 --> n5
n5 --> n6
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n3 ai
class n1 api
class n2,n4,n6 code
classDef customIcon fill:none,stroke:none
class n1,n2,n4,n5,n6,n7,n8 customIcon
The Challenge: Keeping Up With Facebook Comments (Without Missing the Bad Stuff)
Facebook comment sections change fast. A post starts normal, then a spam wave hits, then one toxic reply triggers a pile-on. If you’re checking manually, you’re always late. Even when you do catch it, you’re still stuck doing repetitive triage: skim, guess intent, decide if it’s abusive, take screenshots for proof, then tell the team in Slack what happened. That mental overhead is the real tax. You end up reacting instead of moderating with a plan, and the audit trail is usually a messy chain of messages nobody wants to search later.
It adds up fast. Here’s where it breaks down in the real world.
- Manual review means harmful comments can sit for hours, especially outside business hours or during launches.
- People don’t moderate consistently, so the same kind of comment gets treated differently depending on who’s on duty.
- Reporting to the team becomes a second job, because you’re copying examples, summarizing patterns, and trying to explain severity.
- Without a database log, you can’t easily prove what happened later or spot trends like repeat offenders and recurring spam phrases.
The Fix: AI Moderation + Supabase Logging + Slack Summaries
This workflow runs on a schedule (every 6 hours) and checks your Facebook Page for recent comments. Each comment is formatted into a clean input, then sent to OpenAI for moderation analysis. The AI returns structured results: intent (positive/neutral/negative), plus flags for toxicity, spam, and abusive language. From there, the workflow standardizes the output so it stays consistent even when comments are messy or sarcastic. Every scored comment is saved into Supabase, which gives you a searchable moderation ledger. Finally, the workflow compiles a simple “what happened since the last run” report and posts it to Slack and Telegram, so your team sees problems early without living inside Facebook all day.
The workflow starts with a scheduled trigger, then grabs the latest comment feed through a Facebook API request. AI reviews each comment, the results get normalized and logged to Supabase, and a summary is pushed to Slack and Telegram for visibility.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say your Page averages about 40 new comments a day across a few active posts. A quick manual pass is maybe 1 minute per comment once you include context-checking and deciding what’s “actually bad,” so you’re spending about 40 minutes daily, plus another 10 minutes writing a Slack update. With this workflow, you spend about 5 minutes skimming the Slack summary and only open Facebook when something is flagged. That’s roughly 45 minutes back each day, and your record is already stored in Supabase.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Facebook Page access token to fetch Page comments via API.
- Slack to post moderation summaries to your team.
- Supabase for database logging and audit trails.
- OpenAI API key (get it from your OpenAI dashboard).
- Telegram bot + chat ID to send the same report to Telegram.
Skill level: Intermediate. You’ll connect accounts, paste API keys, and map a few fields to your Supabase table.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
Scheduled check-in (every 6 hours). A Cron trigger kicks the workflow off automatically, so moderation keeps happening even when nobody is watching the Page.
Comment retrieval from Facebook. An HTTP request pulls the latest comment feed for your Page using your Page ID and access token. If Facebook returns nothing new, the workflow effectively has nothing to process.
AI review and normalization. Comments get formatted, sent to the OpenAI chat model for moderation scoring, then cleaned up into a consistent structure (intent, toxicity, spam, abusive language, plus whatever fields you add).
Logging and reporting. Every analyzed comment is saved into Supabase, then the workflow aggregates totals and key flags. A readable summary is sent to Slack and Telegram so the team can react quickly.
You can easily modify the toxicity thresholds to match your tolerance based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Cron Trigger
This workflow starts on a schedule using the built-in cron trigger.
- Add the Scheduled Automation Start node.
- Set Trigger Times to
everyXwith Value6to run every 6 units (as configured in the node). - Connect Scheduled Automation Start to Retrieve Page Comment Feed.
Step 2: Connect the Comment Data Source
Fetch the Facebook comment feed via HTTP and prepare items for AI analysis.
- Add the Retrieve Page Comment Feed node.
- Set URL to
https://graph.facebook.com/v22.0/[YOUR_ID]/comments. - Enable Continue On Fail in Retrieve Page Comment Feed if you want the workflow to proceed on API errors (already enabled in the template).
- Add the Format Comment Items node and connect it after Retrieve Page Comment Feed.
- In Format Comment Items, keep the JavaScript Code as provided to enrich each item with
myNewField.
Step 3: Set Up AI Moderation and Standardization
This step sends each comment to the AI model and standardizes the response into a consistent JSON structure.
- Add the AI Comment Review node and connect it after Format Comment Items.
- Set the Model to
gpt-4.1-miniin AI Comment Review. - In AI Comment Review, keep the prompt content as configured. It references the input comment with the expression
{{$json.message}}. - Credential Required: Connect your openAiApi credentials in AI Comment Review.
- Add the Standardize AI Output node and connect it after AI Comment Review.
- Keep the JavaScript Code in Standardize AI Output to parse AI JSON and compute
flaggedbased on toxicity, spam, or bad words.
Step 4: Configure Data Storage and Reporting Outputs
Store moderation logs, compile metrics, and send reports to Slack and Telegram. Note the parallel execution at the end of this step.
- Add the Save Moderation Logs node and connect it after Standardize AI Output.
- Set Table ID to
facebook_comment_moderationand Data to Send toautoMapInputDatain Save Moderation Logs. - Credential Required: Connect your supabaseApi credentials in Save Moderation Logs.
- Add the Compile Moderation Metrics node and connect it after Save Moderation Logs.
- Keep the JavaScript Code in Compile Moderation Metrics to generate the
slack_messagesummary. - Add the Slack Team Update node and connect it after Compile Moderation Metrics.
- Set Text to
{{ $json.slack_message }}in Slack Team Update, choose a Channel, and keep Include Link to Workflow set tofalse. - Credential Required: Connect your slackApi credentials in Slack Team Update.
- Add the Telegram Report Dispatch node and connect it after Compile Moderation Metrics.
- Set Text to
{{ $json.slack_message }}and Chat ID to[YOUR_ID]in Telegram Report Dispatch. - Credential Required: Connect your telegramApi credentials in Telegram Report Dispatch.
Step 5: Test and Activate Your Workflow
Run a manual test to verify the moderation pipeline, then activate scheduling for production.
- Click Execute Workflow to run a manual test starting from Scheduled Automation Start.
- Confirm Retrieve Page Comment Feed returns items and AI Comment Review outputs structured JSON.
- Verify Save Moderation Logs inserts rows into
facebook_comment_moderationand Compile Moderation Metrics generatesslack_message. - Check that both Slack Team Update and Telegram Report Dispatch deliver the moderation report.
- Toggle the workflow to Active to enable scheduled runs.
Watch Out For
- Facebook access tokens expire and permissions can change. If comments suddenly stop fetching, check the token validity and Page permissions in the Meta developer/app settings first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
Usually about an hour if you already have your tokens and Supabase table ready.
Yes, but you’ll want someone comfortable copying API keys and testing a run. No coding is required, although the Supabase field mapping needs a careful eye.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs (usually a few dollars a month for most Pages).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can tighten or loosen what gets flagged by changing the rules right after the AI review, where the workflow standardizes the AI output. Common tweaks include raising the toxicity threshold, flagging only spam links, and adding a “needs human review” status that routes into a different Slack channel. If you want different reporting, change the metrics compilation step to group by post, keyword, or severity label.
Most of the time it’s an expired access token or missing permissions on the Page. Regenerate the token, confirm the Page ID is correct, and re-check the Meta app settings that allow reading Page engagement. If it works in Facebook’s API tools but not in n8n, the credential stored in n8n is usually the mismatch.
For most Pages, it comfortably handles hundreds of comments per run.
Often, yes, because this workflow isn’t just “send a message when X happens.” You’re doing batch processing, AI classification, data normalization, database logging, and then an aggregated report, which is where Zapier and Make can get expensive or awkward. n8n also gives you a self-hosted option, so high-volume Pages don’t turn into a per-task bill shock. Zapier or Make can still be fine for a lightweight alert, especially if you don’t care about keeping an audit trail. If you’re unsure, Talk to an automation expert and describe your comment volume and reporting needs.
Once this is running, your team stops chasing comment fires and starts seeing patterns early. The workflow handles the repetitive review and reporting so you can focus on the conversations that actually matter.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.