Journy: AI Concierge for Hotels
Multi-tenant WhatsApp AI assistant for independent hotels. A single n8n workflow serves ALL hotels, handles text and audio, manages service requests, recommends partners, and naturally offers upsells.

Architecture
Modes
Languages
Context
Independent hotels don't have the resources of a large chain to offer a 24/7 concierge. Result: missed upsell opportunities, guests waiting at the reception desk, teams overwhelmed by repetitive requests (WiFi, hours, late check-out, restaurants). Journy solves this with a WhatsApp AI agent that responds instantly, in multiple languages, and triggers concrete actions on the team's side.
The challenge
Build an AI agent capable of serving multiple hotels simultaneously (multi-tenant) with their own config, understand text AND audio messages in multiple languages, and orchestrate concrete actions (create service requests, recommend partners, suggest upsells) without hallucinations, all in a single scalable workflow.
The solution
Multi-tenant n8n architecture with dynamic routing by Meta phone_number_id. LangChain AI Agent (gpt-4o-mini) with Postgres memory (last 10 turns), system prompt built dynamically from the hotel config, and 2 business tools (get_partners, create_service_request) that notify the team in real time. Whisper for audio transcription. Everything logged in DB for audit/analytics.
Key features
- 01ONE workflow serves ALL hotels (add a hotel = 1 row in Supabase, zero workflow change)
- 02Text + audio understanding (Whisper transcription)
- 03Auto language detection (EN/FR)
- 04LangChain AI Agent with Postgres conversation memory (last 10 turns)
- 05Dynamic per-hotel service catalog injected into the system prompt
- 06get_partners tool: recommends restaurants, activities and private chef curated by the hotel
- 07create_service_request tool: creates the request in DB and notifies the team via WhatsApp
- 08Natural upsell logic (max 1 per message, never pushy)
- 09Native WhatsApp formatting: bold, lists, raw links
- 10Full audit: all conversations logged for the analytics dashboard