Integrations

Every capability is a tool server ODIN admitted. Each is a class of system; the products named are examples.

exampleHealthokprod
Tokens 24h1.84M
Month41.37

An integration is a tool server (MCP) that ODIN admits by hash, with every tool classed read, write or blocked. Write tools are hidden unless the server is write-enabled for that specialist, and blocked tools never reach the model. The server holds its own scoped, read-only credential, rendered at deploy time from the vault; the agent holds none.

01Integration classes

Read
show commands, parsed network checks, API reads, discovery, job status
Write
check a change, run a change, cancel a job
Never
creating, editing or deleting automation objects (no such tool)
Cache
Identical reads answered from memory for minutes (a fresh read on request)
guards in code
  • Launches only named job templates; nothing arbitrary
  • Device commands must be read commands; anything that could write (redirect, append, tee, >, ;) is refused
  • API reads are GET only, with deny lists for sensitive endpoints (backup and restore, certificates, users, SSO)
  • Discovery may log in only inside a configured scope
  • Every result is redacted: keys, secrets, community strings, hashes
  • Check and run: variables may not override which change or playbook runs; a run syncs to the default branch first
  • Device credentials stay in the platform and the vault; the tool server has no tool to read them

02Remote tool servers

A tool server can run elsewhere (another cluster, another team's platform) over an authenticated HTTP transport, reached through ODIN's loopback gateway with a token exchanged for the person who sent the turn, or ODIN's service account with read tools only. The remote side verifies issuer, audience, expiry and signature, and requires a write role for write tools.

03Everything else the orchestrator talks to

SystemDirectionForGuards
Model gatewayout · HTTPS from the agent processevery model turn, plus small side calls (fresh-chat summary, next-prompt suggestion, spoken summary)one credential per environment, given to the agent process only; endpoint and token overrides never pass
Identity providerout · OIDCsign-in; directory groups → rolesauthorization code with PKCE, state, nonce; JWKS signature (an unsigned token is refused); issuer, audience, expiry; return URLs limited to the client's origins
Zero-trust edgein · signed headerrequests through the edgeoptionally require the edge's signed assertion on every request that came through it, including the WebSocket upgrade
Push notificationsoutthe on-call app (production mode only)titles and ids only
Git hostout · API; in · webhookthe operations brief; merge-request approvals while a merge card waitsread token; timeouts; webhook secret compared in constant time; approvals count only at the checked head and only for mapped approvers
Alert sendersin · internal triggeralert chats (SIEM, Alertmanager-compatible, event-driven automation, generic JSON)trigger secret (bearer, header, query token, or an HMAC of the body); body size cap; dedupe and hourly limits; evidence capped
Dashboardsoutstatus dials in the web clienta relay that runs only fixed named queries; the token never reaches the browser
Metrics scrapeintokens, cost, turns, budget stopsloopback, listed addresses or a bearer token; no user names or chat ids in labels
Speech service (optional)out · a standard speech protocolhands-free status: speech to text and text to speechvoice requests rate-limited per person; timeouts

04The contract with your infrastructure repository

ODIN and your infrastructure repository meet only through interfaces: change records and merge requests, automation job templates, the operations brief, secrets rendered by your deploy automation, and the platforms it builds. The rules both sides must agree on (API deny lists, parsed checks, the change-record schema and reserved words) should be compared in CI on both sides, so a drift between what the agent validates and what the pipeline enforces fails a build instead of a change.