Voice commands (Molly)
Tap the mic button to start and tap again to stop, or hold it while you speak. Check Voice history for transcript, tools run, and reply.
At an event
Pin the event, create a contact by voice, and add a note on that contact.
Open /event-tutorialBefore you test
- Online: xAI cloud planner (full command set).
- Offline: local pattern matcher (subset — see Offline section).
- If Molly asks yes/no, answer Yes, Yeah, Do it, or That's right on the next tap or hold.
- Create-Scripts: formal Create a Lead named … and Create an Action/Reminder to … phrases (team doc).
- Update-Scripts: formal Update the Lead named … and Update the Action/Reminder to … phrases (team doc).
- After each take: Voice history → session → What happened — plain-language trace lines.
- On phone: Help is in the menu. At an event is in the menu and in the account menu. Scroll a page or a drawer to bring the last line above the mic.
- Printable markdown copy lives in
apps/winningCRM/docs/voice-commands-checklist.md
Reads
Lookup and context answers — no CRM writes.
| Done | Say this | Expected |
|---|---|---|
| Count (context) | ||
| query_leads or /leads?abc=A | ||
| query_leads or /leads?abc=B | ||
| get_lead_detail | ||
| query_actions — today | ||
| query_actions — overdue | ||
| query_activity_log — last 7 days | ||
| mic_check — echoes both phrases; xAI must answer before the pipeline is nominal |
Writes — leads
A contact is not a lead. Opportunity create by voice is off. Ordinary create-lead still runs now.
| Done | Say this | Expected |
|---|---|---|
| create_lead | ||
| create_lead | ||
| create_lead + phone | ||
| create_contact — no lead | ||
| create_contact for the person already in this chat | ||
| update_contact when this chat just created that contact | ||
| Opens the card scanner and saves a lead | ||
| Opens the card scanner and saves a contact | ||
| No tool. Use New Opportunity on the screen. | ||
| Fresh Molly chat. The blank chat stays open. No CRM write. | ||
| log_activity — called | ||
| log_activity — left_vm | ||
| update_lead — last name |
Create-Scripts — Lead
Exact Create a Lead named … wording (team doc). Test online; trace should show create_lead_script.
| Done | Say this | Expected |
|---|---|---|
| create_lead — name only; voice_rule trace | ||
| create_lead + phone | ||
| create_lead + email | ||
| create_lead + title | ||
| create_lead + company | ||
| create_lead + address fields | ||
| create_lead + abc_rating A | ||
| create_lead + notes | ||
| Asks first/last split if not already in DB |
Create-Scripts — Action / Reminder
Create an Action to … and Create a Reminder to … share create_action_script.
| Done | Say this | Expected |
|---|---|---|
| create_action — lead + date | ||
| create_action — Action alias | ||
| create_action + note in message | ||
| create_action — text verb | ||
| create_action — meeting verb |
Update-Scripts — Lead
Exact Update the Lead named … with a new … wording (team doc). Test online; trace should show update_lead_script.
| Done | Say this | Expected |
|---|---|---|
| update_lead + nickname; voice_rule trace | ||
| update_lead + phone | ||
| update_lead + email | ||
| update_lead + title | ||
| update_lead + company | ||
| update_lead + address fields | ||
| update_lead + abc_rating A | ||
| update_lead + notes |
Update-Scripts — Action / Reminder
Update the Action to … and Update the Reminder to … share update_action_script.
| Done | Say this | Expected |
|---|---|---|
| update_action — lead + date | ||
| update_action — Action alias | ||
| update_action + note in message | ||
| update_action — text verb | ||
| update_action — meeting verb |
Create-Scripts — unknown lead & trace
Rejected lead match should offer add-to-list, not attach the wrong lead.
| Done | Say this | Expected |
|---|---|---|
| Offers add to list — no wrong fuzzy attach | ||
| create_lead for that name | ||
| Plain-language voice_rule + lead-match summary |
Writes — reminders
Deleting a reminder asks first. Yes on the next tap runs it.
| Done | Say this | Expected |
|---|---|---|
| create_action — lead + date | ||
| create_action — personal (no lead) | ||
| update_action | ||
| delete_action — Molly asks first; yes runs it |
Writes — notes
First-class Note (Team or Just me). Default Team. “Company” is not the tenant.
| Done | Say this | Expected |
|---|---|---|
| create_note — work-context, Team | ||
| create_note — Just me | ||
| create_note — tenant parent | ||
| create_note — named lead (not update_lead notes) | ||
| create_note — pinned event. Pin one first. | ||
| delete_note — Molly asks first; yes on the next tap runs it |
Events
One owned name match pins that event. Zero or many matches do not pin. The event tutorial is /event-tutorial.
| Done | Say this | Expected |
|---|---|---|
| Pin the owned event named KBIS |
Screen navigation
Opens a filtered Leads or Actions page (no DB write).
| Done | Say this | Expected |
|---|---|---|
| /leads?abc=A | ||
| /leads?abc=A,B | ||
| /leads?abc=B | ||
| /leads?abc=B | ||
| /actions?filter=overdue | ||
| /actions?filter=today |
Offline / local planner
Airplane mode or Offline-only in the connectivity drawer. Opportunity create by voice is off. Delete still asks first; yes on the next tap runs it.
| Done | Say this | Expected |
|---|---|---|
| create_lead (local) | ||
| No tool (local). Use New Opportunity on the screen. | ||
| create_contact (local) | ||
| create_action (local) | ||
| query_leads or /leads?abc=A | ||
| delete_action (local) — Molly asks first; yes runs it | ||
| create_note (local) |
Confirmation follow-up
When Molly asks a question, answer on the next hold.
| Done | Say this | Expected |
|---|---|---|
| Molly asks which lead | ||
| Pending action runs | ||
| Molly asks first/last split | ||
| create_lead uses confirmed split |
Tool reference
- query_leads — Search or list leads
- create_contact — Add a contact that is not a lead
- create_opportunity — Off by voice. Use New Opportunity on the screen.
- create_lead — Add a lead (when you say lead or prospect)
- update_lead — Fix spelling, nickname, phone, email, A/B/C rating
- update_contact — Change the contact this chat just created. Not update_lead.
- log_activity — Log called, emailed, voicemail, etc.
- query_actions — Today, overdue, upcoming, or a date
- create_action — Lead follow-up or personal task
- update_action — Edit, reschedule, mark complete
- delete_action — Remove open reminder for a lead
- query_activity_log — Recent activity log
- get_lead_detail — One lead snapshot
- create_note — Team or Just me note on a lead, the team, or the pinned event
- delete_note — Soft-delete a note for a named person. Molly asks first.
Not available via voice yet
- Delete lead
- Create a Contact named … (Create-Scripts) — deferred until Person/Contact/Lead model
- Company / Organization / Event Create-Scripts — deferred
- Company / Organization / Event Update-Scripts — deferred
- Dedicated complete_reminder — say mark reminder complete or use the Actions UI
Checkboxes are saved only for this browser session. For a blank paper copy, use Print checklist or open the markdown file in the repo.