# `Jido.Messaging.Instance`
[🔗](https://github.com/agentjido/jido_messaging/blob/v1.0.0/lib/jido_messaging/instance.ex#L1)

Represents a channel instance (e.g., a Telegram bot, Discord connection).

Instances manage connections to external messaging platforms and
maintain their own credentials and settings.

# `t`

```elixir
@type t() :: %Jido.Messaging.Instance{
  channel_type: :telegram | :discord | :slack | :whatsapp | :internal,
  credentials: map(),
  id: binary(),
  inserted_at:
    nil
    | nil
    | %DateTime{
        calendar: term(),
        day: term(),
        hour: term(),
        microsecond: term(),
        minute: term(),
        month: term(),
        second: term(),
        std_offset: term(),
        time_zone: term(),
        utc_offset: term(),
        year: term(),
        zone_abbr: term()
      },
  name: binary(),
  settings: map(),
  status: :connected | :disconnected | :connecting | :error
}
```

# `new`

Creates a new instance with generated ID and timestamp

# `schema`

Returns the Zoi schema for Instance

---

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