Back to work

AI/SaaS / Maintained

Voice-Driven CRM Assistant

Drop a voice note in Slack — the assistant transcribes it with Whisper, uses GPT-4o function calling to decide the right CRM action (create contact, log activity, query, or answer), runs it against Supabase, and replies with a spoken confirmation. Short-term memory keeps multi-turn context across requests.

Role

Designer and engineer (solo)

Disciplines

AI Integration / Backend Systems

Status

Maintained

Voice-Driven CRM Assistant preview

System overview

Full conversational loop: Slack file_shared event → Whisper STT → GPT-4o with three strict-schema function definitions (create_contact, log_activity, query_contact) and tool_choice: auto → Switch node dispatches to the right Supabase action → spoken reply synthesized with ElevenLabs and returned as a Slack file. Short-term memory via Supabase: last 10 turns per user replayed into the message array for follow-up requests. Defensive handling for Slack URL verification, mime-type gating, Whisper hallucination detection, and error sub-workflow.

Validation and results

Working voice CRM loop with multi-turn memory, three LLM-dispatched function tools, production-grade error handling, and all the defensive edge cases handled — Slack handshake, hallucination detection, mime-type gating.

Media gallery

Full n8n workflow canvas — Slack event routing, Whisper STT, GPT-4o function calling, Supabase dispatch, ElevenLabs TTS reply, and error sub-workflow.
Full n8n workflow canvas — Slack event routing, Whisper STT, GPT-4o function calling, Supabase dispatch, ElevenLabs TTS reply, and error sub-workflow.
Slack conversation: voice note from user triggers the pipeline — bot replies with the CRM action taken (create_contact dispatched).
Slack conversation: voice note from user triggers the pipeline — bot replies with the CRM action taken (create_contact dispatched).
Supabase database tables — activities, contacts, and voice_conversations storing the 10-turn short-term memory per user.
Supabase database tables — activities, contacts, and voice_conversations storing the 10-turn short-term memory per user.