Hotel Social Media Agent.
Engineering case study by Priyansh Dobariya · n8n · GoHighLevel · Slack · Meta Graph API
Route the easy cases. Review the rest.
A social-message workflow that normalizes inbound events, applies deterministic filters, drafts replies, and sends sensitive cases to Slack approval.

Behind the build.
Cross-channel event normalization
Rule-first routing
Human approval interaction
Tools & technologies
What this solves
Hotels receive comments and direct messages across channels. Teams need a consistent response path without letting AI publish a sensitive or uncertain reply automatically.
How it works
An n8n webhook normalizes social events and collects CRM notes and conversation history. Code nodes pre-filter known cases; an LLM chain handles cases that still need language understanding. A decision router can update CRM fields or tags, request Slack approval, or call Meta Graph endpoints for a comment action.
From input to outcome
An event is normalized, checked against deterministic rules and keyword data, and only then sent for generation if required. The decision is logged and routed. A Slack interaction webhook parses an approval or edit and targets the original CRM conversation or comment before writing the reply.
Decisions visible in the code
- Rule-first filtering avoids a model call for cases with a known decision and preserves fallback behavior when keyword-sheet data is unavailable.
- The Slack callback creates an explicit human boundary for messages that should not be sent automatically.
What the workflow enables
The same workflow can triage messages from multiple channels and present reviewers with a prepared, context-rich action.
The test README documents harness and live scenario scripts, but this portfolio does not claim a measured approval rate or current production status.