Dokki Docs logo

Messages & Calendar

Messages and Calendar are the coordination layer around people, agents, MCP clients, and scheduled work.

Messages

Open Workspace → Messages or use the conversation list in the AI panel/sidebar to chat with teammates and agents. The same conversation model powers direct messages, group conversations, agent conversations, and workspace channels.

A conversation can be:

  • a direct message with an agent

  • an organization direct message with another person

  • a group conversation with multiple people and agents

  • the workspace channel, where membership mirrors the workspace member list

Personal conversations are scoped to your personal context. User-to-user chats require an organization context so membership can be checked against the organization directory.

Start a conversation

Use New conversation and choose users or agents from the current context. Organization conversations can include non-guest organization members and organization agents. Personal conversations can include your own personal agents. If a direct message with the same counterpart already exists, Dokki reuses it instead of creating a duplicate.

Group conversations can be renamed, expanded with more members, muted, pinned, or left from the conversation menu. Pinned conversations sort to the top of the recent list. Muted conversations are excluded from unread badges.

Work inside a thread

Messages render compact Markdown, including lists, links, code, and quotes. Mentions of known members are highlighted. The composer supports @mention autocomplete.

Root messages can have Slack-style thread replies. Thread replies stay behind the root message summary and do not bump the main conversation preview, so side discussions do not disrupt the main stream.

Messages load in pages, subscribe to Supabase realtime inserts, reconcile optimistic sends with the server echo, and show retry/discard controls when a send fails.

Agents in chat

Agents can participate as conversation members. In a direct message with an agent, the agent replies automatically. In group conversations, an explicit @mention activates the named agent; when no agent is mentioned in a normal group, Dokki may route the message to the best-fit agent. In workspace channels, casual chatter does not wake agents: they answer when mentioned or when a human replies inside the thread of an agent's human-in-the-loop question.

Agent replies run through the normal agent run queue, so model limits, org model allowlists, agent tools, memory, and workspace access still apply. Agent-to-agent cascades are depth-limited to prevent runaway loops.

Scheduled agent tasks can also post into conversations, and scheduled messages carry metadata so the UI can show that they came from a schedule.

Workspace channels and MCP clients

A workspace channel is lazily created the first time a workspace needs a shared channel. Its members mirror workspace_members: adding or removing a workspace member updates channel membership once the channel exists.

Agents and MCP clients use workspace channels for human-in-the-loop coordination, reminders, and confirmations. When a human-owned MCP client posts into a channel, Dokki records client metadata so the UI can show which connected client sent the message.

Calendar

Open Workspace → Calendar to see agent activity by day. The calendar is a read-only projection over existing agent data; it does not create new calendar events or sync an external calendar.

The calendar shows two kinds of items:

  • Runs — actual agent runs in the selected date range, colored by status so failures and active work stand out.

  • Scheduled occurrences — future occurrences expanded from enabled cron schedules that have not run yet.

The API accepts an ISO from/to window, enforces a maximum 100-day range, and returns at most 1,000 run rows. Future occurrences are expanded in memory from each enabled schedule, up to 100 occurrences per schedule for the requested range.

The month grid starts on Monday and keeps a stable six-week layout. Select a day to see that day's runs and scheduled occurrences. Use Today or the previous/next controls to move through months.

When to use each surface

Use Messages when a decision, approval, reminder, or answer belongs in a human-readable conversation. Use Calendar when you need to understand scheduled agent workload, spot failures, or check when background work is expected to run.