Concierge

Production-grade WhatsApp orchestration daemon for OpenClaw agent workflows.

Get Started GitHub
v2.0.0 · Elixir/OTP

Why Concierge

The missing orchestration layer between WhatsApp and your AI agents.

🔒

Process Isolation

Every WhatsApp contact gets its own Elixir process with dedicated state, context, and identity. Crashes are contained.

📦

Docker Sandboxing

Sessions run inside OpenClaw Docker containers with restricted workspace access and no tools by default.

🤝

Human Takeover

Detects manual replies and auto-pauses the bot, preventing conversations from being hijacked by AI.

Message Coalescing

Three quick texts become one AI response. Smart wait windows reduce noise and improve response quality.

📋

Backlog Catch-Up

Responds to missed messages on startup or on schedule. Never leaves a customer hanging after downtime.

💾

Single-Writer SQLite

All DB writes are serialized through dedicated GenServers. No lock contention, no corruption, no surprises.

Architecture

A clean data flow from WhatsApp to AI and back, powered by OTP supervision.

WhatsApp
wacli sync
Monitor
ChatHandler
OpenClaw Agent
wacli send
WhatsApp
Concierge.Supervisor
├── ChatRegistry
├── ConfigServer
├── WacliDB
├── Store
├── AgentManager
├── SyncController
├── SandboxCleaner
├── ChatSupervisor
└── Monitor

Features

Everything you need for production WhatsApp AI workflows.

Per-JID isolated workspaces
Sandboxed Docker sessions
Per-workspace tool allowlists
Human takeover detection
Message coalescing
Backlog catch-up
Single-writer sync controller
Auto sandbox cleanup
Hot-reload configuration
Business hours scheduling
Per-chat rate limiting
Safety keywords & escalation
Admin notifications
CLI for reprocess, reset, deploy

Quick Install

Up and running in two steps.

🍺 Homebrew

brew tap arvorco/tap
brew install concierge --HEAD
cp config.example.json config.json
bin/concierged

🔧 Manual

git clone https://github.com/arvorco/concierge
cd concierge
mix deps.get
cp config.example.json config.json
mix run --no-halt
Elixir 1.14+
SQLite
Docker
wacli
OpenClaw
macOS or Linux