Hi everyone! This is my first post in the n8n community.
I wanted an Instagram keyword automation similar to ManyChat, but with full control over the logic, data and infrastructure.
So I built a self-hosted system in my homelab using n8n and Meta’s official Graph API.
It:
- Manages multiple posts and campaigns from one workflow
- Detects keywords and small typos
- Sends private DMs and optional public replies
- Rotates message variations and prevents duplicates
- Logs successful and rejected deliveries
- Feeds a real-time dashboard connected to my Docker-based n8n database
Campaigns and messages are managed through n8n Data Tables, so I can add new posts without duplicating the workflow.
For this use case, it gives me more flexibility than ManyChat while keeping everything inside my own infrastructure.
I’d love to hear how you would handle deduplication: per user, post, campaign or with a cooldown?