Back to Home

Buddy AI chat

Buddy is the AI assistant built into Unit Oncall. It helps you investigate alerts, configure resources, draft documents, and search past incidents through a conversational interface. Buddy chats can run in two places:

  • Personal chat — a private chat with Buddy from anywhere in the console.
  • Incident room — a chat attached to an open Bundle. Every member of the Team can see and post in the same conversation while the incident is open.

Buddy reads from your Organization's data through a strict tool layer (see How tools work). The underlying AI model can be tuned per Organization in the AI feature settings.

Where Buddy lives

SurfacePurpose
Personal chat (Buddy side panel)Setup help, configuration drafting, document search, general Q&A.
Incident roomPer-Bundle investigation chat. Shared by every responder on the Team.
Document comment threadBuddy can post replies in document comments when mentioned.

Context types

When a chat starts, the console attaches a context type so Buddy knows what you are trying to do. The context type controls which tools and system instructions are loaded.

context_typeWhen it is usedWhat Buddy focuses on
generalDefault personal chat.Any question, including documents, search, and general help.
webhook_setupOpened from the Webhook editor.Drafting and validating a Webhook configuration.
team_setupOpened from the Team editor.Drafting and validating a Team configuration.
schedule_setupOpened from the Schedule editor.Drafting and validating a Schedule configuration.
bundle_settingsOpened from the Bundle Settings editor.Drafting and validating Bundle Settings.
json_transformOpened from the Transformation Rule editor.Mapping a sample payload into the normalized alert format.

The incident room uses its own dedicated context that is set automatically when a Bundle is opened.

If the console sends an unknown context_type, Buddy falls back to the general context.

How tools work

Buddy answers using two kinds of tools:

  • Built-in tools — list resources, search documents, draft configuration, query recent alerts, and so on. These are provided by Unit Oncall and always available.
  • MCP tools — tools exposed by external MCP servers your Organization has connected (for example GitHub or Datadog). See MCP integrations.

Each tool has a side-effect class (read / write / destructive) and an approval layer:

  • Built-in read tools run automatically. They never change data; they only fetch or search.
  • MCP tools (including read-only ones) are subject to the 3-layer authorization model. Their default behaviour depends on how an Organization owner / admin has classified them — auto-execute, approval-required, or hidden. See MCP integrations for how the classification is decided.
  • Write / destructive tools (both built-in and MCP) require explicit approval before they run. When Buddy wants to call one, the console shows an approval card with the tool name, a human-readable description, and the exact parameters it will use. The call only happens after you approve it.

Approval flow

  1. Buddy decides it needs a write or destructive tool (for example update_document_content or create_routing_rule).
  2. The console shows a tool approval card with: the tool's purpose, the target resource, and the full parameters.
  3. You either Approve to run the call, or Decline to cancel. The tool only runs after Approve.
  4. The result is posted back into the chat and Buddy continues the conversation.

If you do not respond within the approval timeout, Buddy treats the request as declined and reports the failure in the chat.

Investigation Hints

Several resources can carry free-text investigation hints that Buddy reads into its prompt:

  • Teaminvestigation_hints on the Team. See Team configuration.
  • Scheduleinvestigation_hints on the Schedule. See Schedule configuration.
  • MCP connectioninvestigation_hints per MCP connection.

Use these to teach Buddy your conventions ("always check the deploy log before paging the database team", "this Schedule's owner is offline on weekends — escalate sooner") without re-typing them every chat.

Language

Buddy's chat replies follow the user's preferred language setting. AI-generated artifacts that other people will read (Runbooks, Postmortems, Org-scoped notifications) follow the Organization's default language setting instead. See Organization settings for default_locale.

AI feature toggles

Buddy chat can be disabled or restricted per Organization. The relevant Org settings are:

  • ai_enabled — master switch for every AI feature.
  • ai_settings.features.personal_chat.enabled — turns off Buddy in personal chats.
  • ai_settings.features.bundle_alert_chat.enabled — turns off Buddy in incident rooms.
  • ai_settings.buddy_chat_allowed_roles — limits which Org roles can use Buddy.
  • ai_settings.alert_chat_allowed_roles — limits which Team roles can use the incident-room chat.

See Organization settings for the full list and defaults.

Examples

Drafting a Schedule with Buddy:

  1. Open the Schedule editor and click the Buddy button. A chat starts with context_type = schedule_setup.
  2. Ask: "Create a weekly Schedule for the SRE team with three members on rotation."
  3. Buddy proposes a draft. It reads /docs/config/schedule to check field rules.
  4. When you ask Buddy to save the draft, it requests approval for create_schedule and shows the parameters.
  5. You approve and the Schedule is created.

Investigating an open incident:

  1. Open the incident room from a Bundle. The chat starts automatically.
  2. Ask: "Has a similar alert been resolved recently?"
  3. Buddy uses semantic and keyword search across past alerts, postmortems, and runbooks to answer.
  4. Buddy can also call MCP tools (for example, fetch a GitHub issue or pull a Datadog metric) if they are connected.

Related