> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Client events

> Prepare client event selections and UI handling without assuming a released conversation transport.

Client events help an interface distinguish user input, agent output, interruptions, and tool activity. The configuration can store event selections, but a verified Threetone client subscription API is not established by the documented runtime.

## Review the event selection

The schema includes names such as `user_transcript`, `agent_response`, `interruption`, `client_tool_call`, `agent_tool_response`, and `context_usage`. Use [Update agent](/api-reference/agents-platform/update-agent) to inspect the exact accepted selection under `conversation_config.conversation.client_events`.

Keep the selection focused on the interface's needs. Transcript and tool data can include private information. Define which events are displayed, retained, or excluded from logs before the channel is enabled.

## Prepare handlers

| Scenario | Expected integration behavior |
| - | - |
| A user or agent transcript arrives | Associate it with the intended conversation and distinguish partial from final data when the released contract supports that distinction. |
| An interruption occurs | Update the interface using the released event identity and ordering rules. |
| A tool action is requested | Check the owning service's permission and confirmation requirements. |
| The client reconnects | Reconcile available server state instead of assuming every event was received. |

Do not invent a socket URL, payload envelope, or `onEvent` SDK method. Add runnable handlers when those contracts are released and tested.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Will every selected event be emitted today?" id="faq-client-events-current">A saved selection does not prove emission. Conversation initiation and execution remain separately gated.</Accordion>
  <Accordion title="Should I log all events during testing?" id="faq-client-event-logging">Use controlled data and retain only what the test needs. Keep credentials and unnecessary transcript content out of application logs.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.