showcase/shell-docs/src/content/reference/channels/components/Input.mdx
Input describes a single- or multiline text field.
import { Input, Message } from "@copilotkit/channels/ui";
<Message>
<Input
name="reason"
placeholder="Why should this be approved?"
multiline
onSubmit={async ({ action, thread }) => {
await thread.post(`Recorded: ${String(action.value)}`);
}}
/>
</Message>;
| Prop | Type | Description |
|---|---|---|
name | string | Logical field name. |
placeholder | string | Native placeholder or label text. |
multiline | boolean | Requests a multiline native input. |
onSubmit | ClickHandler<string> | Text submission callback where the provider dispatches it. |
Managed Slack renders a dispatching plain-text input block. Managed Teams
renders Input.Text, but the managed Teams ingress currently routes only
Button submissions and discards other submitted card fields. Use
Button.value for managed cross-provider approvals and treat Input as
provider-specific until Teams field-value ingress is implemented.