All articles

Voxtral for WhatsApp: voice notes, live calls and chat actions

Give your WhatsApp assistant a voice, send booking cards during a call, and handle button and form replies in the same conversation.

You can now give your WhatsApp assistant a voice. OpenWA's Voxtral plugin handles incoming voice notes, replies with voice notes, and joins live audio calls. It also works with Jev to put useful messages into the chat while you are talking.

Ask for a booking confirmation during a call and the assistant can send a native booking card. Ask for choices and it can send buttons or a form. Your selection returns to the same conversation, with an acknowledgement through the call audio.

Start with one command

plaintext
npm init @open-wa@latest voice-bot -- --mode easy-api --plugins jev,voxtral --voxtral-mode both

The wizard lets you choose JavaScript or TypeScript, an installed browser or a browser download, and the integrations you want. Prefer a visual setup? Use the project builder to preview the files and copy the command.

In the generated project, copy .env.example to .env. Set MISTRAL_API_KEY for transcription, answer generation and speech. Set JEV_API_KEY for intent-based chat actions. Both services use their own accounts and usage billing. Calls and rich messages need the corresponding OpenWA license capabilities.

plaintext
cd voice-botnpm start

Link your WhatsApp account, then open the Neo dashboard. The Voxtral plugin page controls the mode, assistant instructions and voice. A person's normal Chat view shows transcripts and interactive messages alongside the conversation.

Talk, tap, and keep the context

Use voice notes for an exchange that can wait, or choose calls for a live conversation. In both modes, Jev selects the chat action from the request and context. Buttons and forms keep their message references, so an answer can be matched to the question that produced it.

A booking card displays the details you discussed; it does not reserve a slot in an external booking system. If the time is wrong, say “No, I said 2 pm.” The assistant can send a corrected card and remove its predecessor, while preserving the other details. It reports an uncertain removal instead of pretending the old message disappeared.

Keep control of the assistant

Pause a conversation, take over a call, or resume the assistant from Neo. Restrict which chats plugins can process with the shared hooks.chatFilter.allow setting; use the person's verified WhatsApp chat IDs, including their LID when applicable.

Audio and answer requests go to Mistral. When you enable Jev chat actions, the latest request, bounded conversation context and action outcomes also go to TypeSafe for routing and response review.

Read the Voxtral setup guide for the complete configuration. If you want an assistant that works in ordinary text chat without audio, start with Jev.