---
title: "KickoffChatBody"
description: "Programmatic chat kickoff — open a thread between an agent and a
user, optionally seeded with a pre-baked opening message authored by
the agent. The recipient discovers the thread via the same event-
stream invalidation that backs the chat sidebar."
section: "Reference"
group: "Types"
order: 141
---

## Definition

```ts
interface KickoffChatBody {
  workspaceId: string;
  agentId: string;
  userId: string;
  message?: string | undefined;
}
```

## Fields

| Field         | Type                  | Notes                                                                                                                                                              |
| ------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `workspaceId` | `string`              | `required` — Workspace that will own the thread.                                                                                                                   |
| `agentId`     | `string`              | `required` — Agent that participates in the thread (and authors the optional opening message).                                                                     |
| `userId`      | `string`              | `required` — User that participates in the thread (the recipient).                                                                                                 |
| `message`     | `string \| undefined` | `optional` — Optional opening message attributed to the agent. When omitted, the thread is created empty and the user sees a blank conversation when they open it. |
