---
title: Integrations & credentials
description: Connect agent providers, GitHub, Slack, Google Workspace, MCP servers, and custom secrets — the platform handles rotation and distribution.
status: draft
sidebar:
  order: 3
---

You configure credentials once in the dashboard; the platform validates them,
distributes short-lived tokens to session machines, and rotates them while
sessions run. Long-lived refresh tokens never leave the broker.

## Agent providers

Each provider accepts an API key **or** an OAuth login — configuring one
clears the other:

| Provider | API key | OAuth |
|---|---|---|
| Claude | `ANTHROPIC_API_KEY` | yes — takes precedence; tokens refresh every 45 minutes |
| Codex | `OPENAI_API_KEY` | yes — tokens refresh every 6 hours |
| Gemini | `GEMINI_API_KEY` | yes |

Additional agents from the registry use the same schema-driven API-key flow.

## GitHub

Two options; the personal access token wins if both are configured:

- **GitHub App** — one-click install; you choose all repos or a selection.
- **Personal access token** — paste and go.

Commit attribution is a policy you pick: the first person to mention the bot
in a thread becomes the commit author, later participants become
`Co-authored-by` trailers; or attribute everything to Nori, or to the agent.

## Everything else

- **Slack / Discord** — chat surfaces; see the [Slack guide](/sessions/guides/slack/).
- **Google Workspace** — OAuth-only; per-user scopes distributed to sessions.
- **MCP servers** — OAuth-managed connections available inside sessions.
- **Custom env vars** — arbitrary key/value secrets, with an admin-only flag
  to hide values from members.
- **Managed CLIs** — curated presets (AWS: access key + secret, region
  defaults to `us-east-1`).
