2.4 KiB
EventBuzz Concierge
Independent Node.js service for the EventBuzz Virtual Concierge chatbot. Uses Amazon Bedrock for Call 1 (intent classification). Connects to the same MongoDB as the main EventBuzz backend.
Setup
cp .env.example .env
# Set MONGODB_URI and AWS / Bedrock credentials
npm install
npm run dev
Server defaults to http://localhost:3010.
Production deploy (same server as backend)
From the repo root (EventBuzz_Dashboard_V4/):
./deploy.sh concierge
# or full stack:
./deploy.sh all
Deploys to /var/www/concierge on the backend host, reloads PM2 app concierge-api, and syncs public/embed to the backend so dashboard embed snippets stay current.
First time on the server: create /var/www/concierge/.env (copy from .env.example), set MONGODB_URI, AWS/Bedrock, and mail vars, then run deploy. If package.json / lockfile changed, run npm ci --omit=dev on the server and deploy again.
Embed demo
- Start the server.
- Open http://localhost:3010/embed/demo.
- Set
botIdin the page script to a realConciergeBotdocument_idfrom MongoDB.
API
| Method | Path | Purpose |
|---|---|---|
| GET | /api/public/concierge/{botId}/config |
Widget greeting / config |
| POST | /api/public/concierge/{botId}/chat |
Send message (Call 1 classification) |
| GET | /api/public/concierge/{botId}/session/{sessionRef} |
Resume session |
| GET | /webhook/whatsapp |
Meta webhook verification |
| POST | /webhook/whatsapp |
Inbound WhatsApp (reception + follow-up) |
Pipeline
- Call 1 (Nova Micro) — intent + entities
- Call 2 (Claude 3 Haiku) — agenda replies with Sessions DB context
- Bookmark mutations —
agenda_bookmark_add/agenda_bookmark_removewriteSessionBookmarkrecords (no Call 2) - Email OTP — required for personal schedule, conflict check, and bookmark mutations; auth is stored on the web chat session
Set BEDROCK_CALL2_MODEL_ID, OTP_PEPPER, and SMTP/MAIL_* vars in .env (see .env.example). Without SMTP, OTP codes are logged to the server console.
Reception WhatsApp: point the Meta webhook at GET/POST /webhook/whatsapp on this service (verify token META_WHATSAPP_WEBHOOK_VERIFY_TOKEN). Configure copy and drips in the dashboard WhatsApp Chatbots → Reception tab. WABA credentials come from Organisation WhatsApp settings.