# `Jido.Chat.Participant`
[🔗](https://github.com/agentjido/jido_chat/blob/v1.0.0/lib/jido/chat/participant.ex#L1)

Represents a participant in conversations (human, agent, or system).

Participants are mapped to external identities via `external_ids`
which stores platform-specific user IDs.

# `t`

```elixir
@type t() :: %Jido.Chat.Participant{
  capabilities: [atom()],
  external_ids: map(),
  id: binary(),
  identity: map(),
  metadata: map(),
  presence: :online | :away | :busy | :offline,
  type: :human | :agent | :system
}
```

# `new`

Creates a new participant with generated ID

# `schema`

Returns the Zoi schema for Participant

---

*Consult [api-reference.md](api-reference.md) for complete listing*
