ReadonlyAgentThe agent the turn resolved to. Null only when the args were built without turn details.
ReadonlyAgentThe agent's name, when known.
ReadonlyApplicationOptionalCancelReadonlyConversationReadonlyMessageSet to send the turn to a different agent instead. Null (the default) keeps
AgentId. The turn then runs with Route 'Redirect'.
ReadonlyRouteHow the agent was chosen.
ReadonlyUserThe person's saved message the turn answers.
Fired once per agent turn, BEFORE any reply row exists: the person's message is saved and the chat area has picked the agent that will answer it, on whichever route chose it (a tagged agent, the last agent that answered, a pinned or host default agent, or the conversation manager). A message that starts no turn (see
AgentReplyMode) fires nothing.A listener can:
Cancel = true). Nothing more is written: no placeholder, no reply row, andAfterAgentTurndoes not fire.CancelReasonis logged, not shown.AllowedAgentIDs); otherwise the turn is refused with a notice.Listeners run synchronously: the chat area reads
CancelandRedirectAgentIdas soon asemit()returns.Earlier releases fired this event only on the conversation-manager route, after that route's placeholder row was saved, so a cancel left the row behind marked "Turn canceled".