v3.1.4: Dictation That Actually Works, Copy That Keeps Your Formatting, and a Kanban That Knows Who Did What
The dictation button in the chat used to be one of those features you tried once. It is now one you will use every day.
One quick note before the features: if your employees take phone calls, there is a security update in this release that needs about two minutes of your time. It is described near the bottom under Security, and it comes with one recommended action.
Voice dictation, rebuilt
The old dictation leaned on your browser's own speech recognition, which meant poor accuracy, a cut every time you paused, nonsense as soon as you mixed French with technical English, the wrong language unless you picked it by hand, and nothing at all in Firefox.
It has been replaced from the ground up.
It transcribes phrase by phrase while you keep talking. Each time you pause, the phrase you just finished is transcribed and appears about two seconds later. You are not waiting at the end for a wall of text. A spinner shows you which phrase is still in flight.
The text comes out clean. Punctuation and capitals, hesitations removed, technical terms and product names kept exactly as you said them, and your name and your employee's name spelled properly. Each phrase is transcribed with the previous ones as context, so it understands what you are talking about rather than guessing word by word.
There is no language to choose. It detects what you are speaking, including several languages in the same message. The language menu is gone, because it is no longer needed.
While you talk you get a microphone level bar and a timer. Insert and Send wait for the last phrase to land before they use the text. It works in every browser with a microphone, Firefox included.
It costs roughly half a cent per minute of dictation, on your instance's Gemini key.
Copying a message now keeps the formatting
Small feature, disproportionate relief.
The copy button under a message used to hand you raw markdown, stars and hashes and pipes and all. Now it copies the message as it looks. Paste into Gmail, Google Docs, Word or Notion and your tables are still tables, with headings, bold, lists, links, quotes and code blocks intact.
Paste somewhere that only accepts plain text and you get clean text with no markdown symbols, and tables arrive tab separated, so they drop straight into Excel or Google Sheets as columns.
Kanban now knows who did what
If you share an employee with colleagues, anyone could move its cards, but neither the board nor the employee could tell who had. Everything showed as "by you", and the employee assumed every change came from its owner. If you have ever had an employee reply to the wrong person about a card, that is why.
Names, everywhere. The chat badge now reads "moved to In progress by Thomas Pell", or "by you" when it was you. The employee is told who acted and whether that person is its owner or someone it is shared with, so it answers the right person.
History on every card. Open a card and there is an Activity list: who created it, who moved it and between which columns, who edited or commented, and when, newest first. Your employee can read that history too.
At a glance on the board. Each card carries the initials of whoever last touched it, with the full name on hover. The employee's own changes show in grey, so human and agent activity are distinguishable without reading anything.
Connectors: a picker that can actually find an employee
Connecting Telegram, Discord, WhatsApp, Slack, Teams, Google, Office 365 or a Twilio number used to mean scrolling a plain drop-down. On an instance with hundreds of employees, that is not a feature, it is an obstacle course.
It is now a searchable picker. Type a few letters to filter by employee name, job title, or the owner's name or email. Results come from the server, twenty at a time, so it stays quick no matter how many employees exist. Employees are grouped by owner with "My employees" first, each with their photo, and anyone already connected elsewhere is greyed out.
Admins can now connect any employee on the instance, not just their own. Previously an admin had to take an employee over, connect it, then hand it back, and handing it back removed the connection they had just made.
Scheduled tasks can be paused
A scheduled task used to be create or delete, nothing in between. Now it pauses and resumes with its name, prompt and schedule intact.
Each task has a pause button, in the chat and on the employee edit pages. A paused task stays in the list, dimmed, with a badge, and Run now still works on it. Your employee can pause and resume its own tasks too, and its task list now shows which are active, which are paused, and since when.
The scheduler skips paused tasks until you resume them. A paused one-time task survives its own date passing, and if you resume it afterwards the employee tells you it has been dropped rather than silently doing nothing.
Calls can run on Gemini 3.8, if you want
Gemini 3.8 Live Extended Thinking is now available for browser calls, video calls, phone calls and Nova, by setting one variable in your .env. No rebuild.
We tested it and deliberately did not make it the default, which is worth explaining. What it gains: the employee acknowledges immediately, saying something like "let me check that for you" and continuing to talk while its tools run, with first words in about half a second instead of a second. It handles 97 languages with automatic switching mid-call, and reads out codes and numbers more reliably.
What it costs: the voices sound flatter than 3.1, and the Live API offers no setting to make them more expressive. It also speaks about 15% slower, which we compensate for automatically with a pace instruction added to the call prompt, measured at 176 words per minute against 185 for 3.1.
So: better at listening and multilingual work, slightly less pleasant to listen to. Your call, literally. Gemini 3.1 remains the default.
Security
Phone call webhooks now verify they came from Twilio. The voice webhooks, covering incoming calls, call instructions, call status and recording notifications, were not checking the signature on incoming requests. Someone who knew an employee's phone number could have forged a call, then a "recording ready" notice pointing at their own server, and the server would have sent Twilio account credentials to it. Every voice webhook now verifies Twilio's signature, as the SMS webhooks already did, and recordings are only ever fetched from Twilio's own API.
Recommended after updating: change your Twilio Auth Token in the Twilio console, under Account, then API keys and tokens, and enter the new one in Geta.Team. We cannot prove the old token never leaked, so the honest advice is to rotate it. Nothing else needs changing: genuine calls are signed by Twilio and keep working.
Channel assignments are owner-only again. The Telegram and Discord assignment routes were not checking who owned the employee, which meant any signed-in user could read, change or remove those connections on somebody else's employee. They now require the owner or an admin, like every other connector.
Fixed
A microphone that stops working during a call no longer goes unnoticed. When another application grabs the microphone mid-call, typically Teams or Zoom running alongside on Windows, the browser keeps the call open and feeds it pure silence. The employee simply stopped hearing you after your first sentence, with no error anywhere.
The call now notices after two seconds of digital silence while you are unmuted, because a working microphone always picks up some room noise. It reopens the microphone and swaps it in without hanging up, up to three times per call, leaving the session and avatar untouched. While the silence lasts you see a message explaining that another app may have taken the microphone, and it disappears the moment sound returns.
The "can only email the addresses below" box stays unchecked when you uncheck it. It was saving correctly and then re-ticking itself, so an unrestricted employee looked restricted until you reopened the panel.
Want to test the most advanced AI employees? Try it here: https://geta.team