Browse docsMenu

SDK

Conversations

Conversation-first agent and assistant interactions, including instructions, metadata, streaming, and final output.

Create, then send

tscopy
const thread = await client.conversations.createForAgent("triage_agent", {
  title: "Triage ticket ticket_123",
  instructions: "Triage the ticket, propose the next owner, and explain confidence.",
  metadata: { source: "support_queue", ticket_id: "ticket_123" },
  type: "TASK",
});

await client.conversations.messages.send(thread.id, {
  content: JSON.stringify({
    ticket_id: "ticket_123",
    prompt: "Triage this ticket.",
  }),
  metadata: { source: "support_queue", ticket_id: "ticket_123" },
});

React hook

tsxcopy
const conversation = useConversationMessages({
  client,
  agentName: "triage_agent",
  autoResume: true,
});

await conversation.createConversation({
  title: "Triage ticket ticket_123",
  instructions: "Return owner, priority, and reasoning.",
  metadata: { ticket_id: "ticket_123" },
  type: "TASK",
  setActive: true,
});

await conversation.sendMessage("Please triage ticket_123.", {
  conversationId: conversation.conversationId,
  metadata: { ticket_id: "ticket_123" },
});

Use the right surface

NeedSurface
List previous conversationsuseConversations
Load one conversationuseConversation
Stream messages and final outputuseConversationMessages
Build full assistant UI behavioruseAssistantController / useAssistantRuntime
Inspect agent input schemauseAgentInputSchema