Per-task screen recording in Twilio Flex, even in parallel chats
A supervisor reviewing a Twilio Flex conversation wants to press play on that conversation and see what the agent saw. That sounds like "one video per task" until you watch an agent work: a voice call open, two chats waiting, a WhatsApp thread they come back to every few minutes. The screen is one picture; the conversations overlap.
This post explains how Floor Walker's screen recording handles that, and what it means for the people who review recordings. The short version: we record each agent's screen once, in parts of about 30 seconds, label every part with the conversations that were open while it was recorded, and give each conversation its own recording made of the parts that carry its label.
What reviewers need from a screen recording
Quality and compliance reviews start from a conversation, not from an agent's day. The usual questions are:
- What did the agent look up, and where did they go while the customer was talking?
- Why did this chat customer wait four minutes for a reply?
- Did the agent follow the script, read the disclosure, close the case properly?
All of them need the recording of one conversation, from the moment the agent picked it up to the moment they closed it, found next to the conversation itself. A recording of "Tuesday, 14:00 to 15:00, agent 12" is not something anyone wants to scrub through.
Why one video per conversation doesn't work
The obvious design is to start a new video when a conversation starts and stop it when the conversation ends. It runs into three problems as soon as agents work in parallel:
- Overlap. When two chats are open side by side, both recordings need the same screen. Either the agent's computer records the same picture twice, at twice the cost, or one recording is cut into pieces afterwards, which means processing video every time a conversation starts or ends.
- Loss. A video that is uploaded when the conversation ends is lost if the computer crashes or the battery dies in the middle of a 40-minute call. A long call also means a long upload just as the agent should be taking the next customer.
- Moving edges. Conversations are transferred, put in wrap-up and closed in an order nobody controls. Every one of those cases becomes a question about where one video should stop and the next should start.
Record once, label every part
Floor Walker records one session per agent, however many conversations are open:
- When the agent accepts a conversation that the recording policy covers, recording starts.
- Conversations accepted later join the same recording.
- When a conversation is completed, it leaves the recording; recording continues while anything else is open.
- When the last open conversation is completed, the recording is finished.
- Floor Walker then creates one recording per conversation, and each appears on the Recordings page and in the CRM.
The recording is cut into parts of about 30 seconds as it goes, and every part is labeled with all the conversations that were open at any time while it was recorded. A conversation's recording is simply the parts that carry its label. Nothing is copied or edited per conversation, so three overlapping chats take the same storage as one.
What this means when you press play
A conversation's recording covers its whole open period. That includes time the agent spent looking at another chat. We went back and forth on this and kept it, because it answers the question reviewers ask most: what was the agent doing while this customer waited? If two chats are handled side by side, both recordings show the same footage for that stretch, and each still plays on its own.
Edges are rounded to the part. A recording can start up to 30 seconds before the conversation was accepted and end up to 30 seconds after it was completed. For quality review we think that is the right trade: reviewers get a little context on either side, and nobody has to reason about frame-accurate cuts.
Long recordings start quickly. Recordings are streamed in the browser, so even an hour-long recording starts playing right away instead of after a download.
The agent does nothing
Recording follows the agent's work in Flex. There is nothing to start, name or upload, and the desktop app on the agent's computer has no settings for agents to fill in; it gets everything it needs from Flex. The Flex header shows Recording, Recording Paused or Not Recording, so the agent always knows the state.
Pausing for sensitive data. Agents pause recording from the Flex header or the task header before a card number or an ID document appears on screen, and resume when it is gone. Nothing is captured while paused, so the paused time does not exist in the recording; playback simply continues with the next part. Because the screen is shared by every open conversation, pause applies to all of them.
Choosing what is recorded
By default every accepted conversation is recorded, on every channel. Admins can narrow that in Flex:
- by channel (voice, chat, SMS, video);
- by queue;
- by rules on task attributes, such as "record only tasks where the customer tier is premium", combined with AND or OR.
Admins can also let agents opt out of recording their own sessions. Changes reach every agent within a minute.
Small uploads, small losses
Each part is uploaded as soon as it is finished, so at most about 30 seconds of recording waits on the agent's computer at any moment. A laptop closed mid-call loses seconds, not the call.
The edges are worth knowing before rollout:
- A recording that is never finished does not appear. If the agent's computer is switched off mid-call, the recording is not completed and is not listed.
- Flex disconnects. If the Flex tab is closed or reloaded, or the network drops, recording continues for 30 seconds. If Flex comes back in time, nothing is lost; otherwise the recording is finished.
- Maximum length. A recording stops after one hour, and what was recorded up to then is kept.
- Failed uploads are not retried. A part that fails to upload is missing from the recording, so agents' computers need a reliable route to the Floor Walker service.
Audio and AI insights
For voice tasks, the call audio is also recorded on its own and sent for transcription. The transcript feeds the AI summary, sentiment, outcome and topics that appear on the customer's timeline in the Agent Workspace, so a reviewer can read what a call was about before deciding to watch it.
Playback and coaching in Flex
Recordings are found where reviewers already work:
- the Recordings page, with filters by status, customer phone number and date;
- a play button on each interaction in the CRM;
- a Screen Recordings tab on voice tasks.
While watching, supervisors and QA reviewers pin coaching notes to moments in the recording, with a category (General, Positive, Needs Improvement, Compliance, Technique, Communication) and an optional 1 to 5 star rating. Notes show as markers on the timeline, and the player has keyboard shortcuts for skipping back and forth. Coaching notes are kept after the recording itself expires.
Where recordings live
Recordings are kept in private storage by the Floor Walker service, which we either host for you or install in your own cloud or data center. They are played only through short-lived links issued to a signed-in Flex user, and the agent's computer and the reviewer's browser only need to reach the Floor Walker service over HTTPS. Recordings are deleted automatically after a retention period, 90 days by default, which we can change for your installation.
FAQ
Can Twilio Flex record an agent's screen natively?
Flex can record calls, but not the agent's desktop. Screen recording needs software on the agent's computer that captures the screen, plus somewhere private to keep and play the recordings. Floor Walker adds a desktop app for Windows and macOS that follows the agent's Flex tasks, with playback inside Flex.
How does each conversation get its own recording when an agent handles several chats at once?
The agent's screen is recorded once, in parts of about 30 seconds, and each part is labeled with every conversation that was open while it was recorded. A conversation's recording is made of the parts that carry its label, so overlapping chats share footage and each plays on its own.
How do agents keep card numbers out of screen recordings?
They press Pause Recording in the Flex header or the task header before the sensitive data appears, and Resume when it is gone. Nothing is captured while paused, and the pause covers all of the agent's open conversations.
Floor Walker adds per-task screen recording, a predictive dialer, a CRM and live and historical reporting to Twilio Flex, hosted by us or installed in your own cloud or data center. Read more in the screen recorder docs at https://floorwalker.dev/docs/screen-recorder.
Book a demo: hello@floorwalker.dev