Hello, Pierre
System status
Live health of Lucy's connections.
Webhook for Twilio
Set this URL as “Webhook URL for incoming messages” (method POST) on your WhatsApp sender: Twilio Console → Messaging → Senders → WhatsApp senders → your sender. If the sender is attached to a Messaging Service, set it on that service's Integration → Incoming Messages instead.
—Recent digests
Communication controller — WhatsApp via Twilio
Credentials can also come from env vars (TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN / TWILIO_WHATSAPP_FROM), which override these fields. Use your approved WhatsApp Business sender; WhatsApp only allows freeform messages within 24h of a person's last reply, so set the out-of-window template below to guarantee digest delivery.
When does Lucy speak?
Drafts awaiting your approval
Lucy emails freely inside the autonomous domains below. Anything outward-facing lands here (and pings you on WhatsApp) for a one-tap decision — approve, edit, or scrap. You can also reply approve 12 / edit 12: make it warmer / scrap 12 straight from WhatsApp.
Lucy's channels
Every medium Lucy can speak through. One person across channels is ONE contact with one continuous memory — a chat started on WhatsApp continues over SMS or email without losing the thread. Calendar and voice join this list next.
Email identity — lucy@intelgic.com
Lucy sends and reads mail as her own Google Workspace mailbox via a service account with domain-wide delegation — no password stored, revocable in one click from the Workspace admin console. She answers internal mail autonomously; the domains below define "internal".
Sales group
WhatsApp's Business API doesn't let bots join native group chats yet (Meta platform limit), so Lucy runs the group herself: everyone below shares one pooled conversation she fully sees; her answers and the 7am digest go to every member; replies are labeled like a group thread. When Meta opens native groups to the API, this roster maps straight onto it.
| Name | WhatsApp number (E.164) | Email (links identity) |
|---|
Daily CRM digest
Every morning Lucy pulls the same digest the CRM dashboard's main search bar generates (from crm.intelgic.ai), formats it for WhatsApp, and sends it to the sales group.
Memory controller
Global concepts are Lucy's app-wide, all-user memory: durable knowledge she extracts from conversations, reinforces over time, and injects into every chat and digest. Pin a concept to guarantee it's always in her head; edit or delete anything.
Global concepts
| Concept | Content | Conf. | × |
|---|
Memory upkeep
Nightly (02:00 America/Los_Angeles) Lucy merges near-duplicate concepts — contradictions resolve toward the newer statement with a dated note, genuinely unresolvable ones get flagged ⚠️ below for your review — decays concepts that haven't been used in two weeks, prunes dead ones, and compacts very long threads into rolling summaries. Memory that builds and stays fresh instead of silting up.
| When | Kind | Merged | Decayed | Pruned | Flagged | Compacted |
|---|
Engine — the replaceable brain
The engine is never hard-wired: point Lucy at any OpenAI-compatible endpoint and key here. Blank endpoint = api.openai.com; the key can also come from env var OPENAI_API_KEY (env wins). Stored encrypted at rest.
CRM connection — crm.intelgic.ai
Lucy pulls the dashboard digest and live context from these endpoints. The API key can also come from env var CRM_API_KEY.
Ops — self-healing & guardrails
Watchdog alerts and go-live testing go to the owner's WhatsApp number (env var LUCY_OWNER_WHATSAPP overrides the field). Backups rotate under the data volume and are integrity-checked; a corrupt database is auto-restored from the newest good backup on boot.
Security — the Lucy page itself
You sign in with the admin token plus an authenticator code (once 2FA is enrolled) and get a short-lived session you can revoke below. Deploy automation uses the separate machine API token. Sensitive changes ask for a fresh code even mid-session.
| Started | Last seen | IP |
|---|
| When | Actor | Action | Detail |
|---|
Persona charter — the single source of who Lucy is
This document is compiled into Lucy's brain on every reply and is the only authority on her identity, role, voice, and boundaries — she is explicitly forbidden from assuming any role, title, or trait not written here. Edit it like a living document: every save is a restorable version. Markdown; the section structure (Identity → NOT → Mission → Voice → Rules → People) is the recommended shape.
Conversation threads
Lucy's episodic memory — one thread per conversation plus the pooled sales-group thread. One person is one thread across every channel.
| Thread | Kind | Messages | Last activity |
|---|
Contacts — who Lucy knows
Built automatically as people talk to her. Every address that belongs to the same human maps onto one contact and one memory thread.
| Name | Addresses | Thread | Since |
|---|
Incidents — first ping to all-clear
Every failure that produced a user-facing apology is tracked here until it's fixed. Lucy re-pings the contacts below while an incident stays open, probes herself for recovery every few minutes, and sends the all-clear when she's thinking again. From WhatsApp you can reply status, resolved, or mute 2h.
| # | What went wrong | Fix | Seen | Status |
|---|
Error alerts — who gets texted when something breaks
The moment a reply fails, Lucy texts the owner plus everyone below — in plain English, with the exact fix — and keeps re-pinging until it's fixed, then sends the all-clear herself once she recovers. Recipients can reply status, resolved, or mute 2h right in the chat, or just ask follow-up questions like any conversation. Customers never see an error: they get a graceful note instead.
| Name | WhatsApp number (E.164) |
|---|
Self-healing & the database
Watchdog self-checks every 15 min and WhatsApps the owner number once per new failure (and once on recovery). Failed sends retry with backoff; dead letters wait below for a manual retry — nothing is silently lost. Daily backups are integrity-checked with a 14-day rotation; a corrupt database restores itself from the newest good snapshot on boot. Lucy's database is her own — separate from the CRM and everything else — and the next-generation memory store (see BRAIN-ROADMAP.md) plugs into this room.
| To | Kind | Last error | Attempts |
|---|