Hey everyone 👋
Just wrapped up a project I've been building for the past few weeks and wanted to share it here since this community will appreciate the technical side.
I built a modular 5-agent AI system for restaurant automation using n8n. Here's the architecture:
🔧 Tech stack:
→ n8n v2.6 (self-hosted + ngrok)
→ Supabase (PostgreSQL) — central database
→ OpenAI GPT-4o-mini + GPT-4o + DALL-E 3
→ SerpAPI (Google Maps, TripAdvisor, Yelp scraping)
→ OpenWeatherMap API
→ Telegram Bot + Gmail OAuth2
→ HTML/JS dashboard on Netlify
⚙️ The 5 agents:
1. Reputation Manager — scrapes reviews from 3 platforms, runs sentiment analysis, upserts to Supabase
2. Reservations Bot — multi-step Telegram conversation flow with session management in Supabase
3. Weather Menu Promoter — fetches weather, matches menu items by weather_tags, sends Telegram recommendations
4. Inventory Manager — reads stock, builds AI prompt, parses JSON response, sends low-stock alerts
5. AI Menu Photographer — dual mode: GPT-4o Vision analysis OR DALL-E 3 generation, stores in Supabase Storage
A few things I learned building this:
- Merge node must use Append mode (not Choose Branch) to avoid blocking
- Telegram Parse Mode should be removed to prevent MarkdownV2 errors
- OpenAI response lives at response.output[0].content[0].text
Full workflows on GitHub (sanitized, no credentials):
Happy to answer questions or discuss the architecture. What would you have built differently?