Acting on a Session
Assigning, escalating, firing custom actions and disconnecting.
Watching is only half the point. The sidebar beside every transcript carries the levers for stepping in, each gated by its own permission so a role can watch without being able to touch.
Assigning
The Assigned to: control opens a searchable list of the organisation's members. Pick someone to make them responsible for the session - it appears in their Assigned to me scope and their sidebar badge - or choose Unassign to hand it back. To take a session yourself, simply pick your own name.
Most sessions arrive already assigned by workload management, which picks a watcher when the agent starts the session and can move sessions off members who go offline. Assigning by hand always overrides it. Needs liveView.intervene.
Escalating
Escalate session raises the session to the Escalated queue for a manager's attention. There is no confirmation - escalation only adds visibility, and the agent keeps running. Escalating:
- Marks the session Escalated (the badge appears on its card and in the transcript header) and lists it in the Escalated queue scope.
- Unassigns it, so it leaves the original watcher's list and is picked up from the queue instead.
- Takes it out of automatic assignment for good - workload management won't hand it to anyone.
Escalation is one-way, and escalated sessions stay in the queue after they end - however long ago - so nothing is lost before a manager has looked at it. Needs liveView.escalate; seeing the queue needs review.view.
Sessions and interrupts escalate differently
Escalated interrupts go to the inbox's manager review scope and are decided there. Escalated sessions have no decision to make - the queue is a watch list, and the only way out is the session ending. Escalating a session also sends no webhook, unlike an interrupt.
Custom actions
If your organisation has defined custom actions under Integrations → Live View, they appear as buttons in an Actions panel. Pressing one delivers a session.action webhook event to your endpoints carrying the action's name, the session, and who pressed it; a confirmation - Sent "pause" to your webhook endpoints. - flashes above the transcript.
What an action does is entirely up to your agent side. Common uses are pausing a run, handing it to a different model or workflow, dumping state for debugging, or injecting an instruction. Actions fire on a single click with no confirmation step, so name them clearly. Needs liveView.trigger.
Disconnecting
Disconnect session force-ends an active session from the dashboard. A confirmation explains the consequences: tracking ends immediately, no further messages from the agent are logged, and the session cannot be reopened. Any messages the agent tries to append afterwards are rejected.
Your systems learn about it through the session.ended webhook, whose reason is manual rather than agent or timeout - so the agent can tell it was cut off rather than finishing on its own. Needs liveView.intervene.
Permissions
| Permission | What it allows |
|---|---|
liveView.view | Open Live View and watch transcripts. Without it the page reads You don't have access to Live View. |
liveView.intervene | Assign, unassign and disconnect sessions |
liveView.trigger | Fire custom actions |
liveView.escalate | Escalate a session |
review.view | See the Escalated queue scope |
integrations.update | Define custom actions and the session timeout |
Controls you don't hold the permission for are simply absent - the assignee becomes a read-only chip, and the Actions panel, Escalate and Disconnect buttons don't render. None of these actions are available to API keys; they are for humans in the dashboard. Custom roles can grant any mix through access control.