Integrations
Which third-party services the platform is connected to, and how to read the integration status page.
The Integrations page tells you which third-party services your deployment is connected to and whether they're healthy.
Where to find this
Account menu → Integrations (/settings/integrations).
The page is read-only for end users. It reflects what your operator has configured at the platform level via environment variables — "Keys are configured via environment variables — edit .env then restart the app."
What's on the Integrations screen
The page is organised into sections you can scroll through.
LLM models — the model assignment matrix
This is the most useful panel. It shows exactly which model handles each tier / agent / task. The matrix has three columns:
TIERS — how the platform routes by reasoning weight:
- Lead (e.g.
claude-sonnet-4-6) — the Lead Agent orchestrating each run. - Specialist (
claude-sonnet-4-6) — RCA / Forecast / Optimize / Attribution analysts. - Synthesis (
claude-sonnet-4-6) — composing the final answer. - Classifier (
gpt-4o-mini) — intent classification and routing. - Extraction (
gpt-4o-mini) — pulling values out of documents.
AGENTS — per-specialist overrides:
- Rca (
claude-sonnet-4-6) - Forecast (
claude-sonnet-4-6) - Optimize (
claude-sonnet-4-6) - Attribution (
claude-sonnet-4-6) - Foresight (
gpt-4o)
TASKS — small, focused jobs with their own models:
- Ingestion Analyze (
gpt-4o-mini) - Document Summarize (
gpt-4o-mini) - Brief Me (
claude-sonnet-4-6) - Foresight Suggestions (
gpt-4o-mini)
Each call routes through a tier; agents and tasks can override. Set the corresponding
LLM_*_MODELenv var to swap a specific model without code changes.
Models — connection status
Below the matrix, a list of LLM providers with their connection status:
- Anthropic (Claude) — ✓ connected — env:
ANTHROPIC_API_KEY— Docs link. - OpenAI (fallback) — ✓ connected — env:
OPENAI_API_KEY— Docs link. - (Plus Google Generative AI, Voyage AI for embeddings, AssemblyAI for transcription — visible as you scroll.)
What you'll see
The page groups integrations by purpose:
Models (LLM providers)
- Anthropic — primary reasoning models (Claude)
- OpenAI — fallback + specialised reasoning + embeddings
- Google Generative AI — Gemini models
Each shows whether the API key is configured and the model tier mapping (which model is used for which kind of task — lead agent, brief generation, deep reasoning, embeddings, etc.).
Data sources
- BigQuery — for direct warehouse connections (requires GCP service account + a default dataset)
- GCS — Google Cloud Storage for uploaded file bytes
Pipelines
- Activepieces — workflow runner used for notification delivery and connector flows
- AssemblyAI — call/meeting transcription
Observability
- Langfuse — distributed tracing / LLM observability
- needs verification — Langfuse env vars are configured in the platform, but the SDK is not actively called in the current codebase. Confirm with engineering before claiming Langfuse traces are being captured.
Notifications
- Slack — configured per-tracker, not globally. Setup happens in each tracker's notification settings.
Reading the status
Each integration shows:
- Connected ✓ — the required environment variables are present
- Not configured — the env vars are missing; the integration is inactive
A "not configured" integration doesn't break the platform — it just means that feature is unavailable. For example, with no ASSEMBLYAI_API_KEY, call uploads use a stub transcript instead of a real transcription.
Adding a new integration
No self-service today. Integration keys are configured via the platform's environment variables (
.envon the deployment). To add or change an integration:
- Talk to your admin / operator.
- They update the env vars on the deployment.
- They restart the service.
- The Integrations page reflects the new state.
OAuth-style "click to connect" flows are on the roadmap.
Why this is operator-driven
Tattva is deployed as a single multi-tenant service per company. All workspaces in your deployment share the same provider keys. This keeps the security surface small (one set of credentials, one secret manager) but means a workspace can't BYO its own LLM key today.
Status: gap. Per-workspace LLM provider keys are not supported. If you need to isolate one workspace from sharing the company's Anthropic key, this is a roadmap item.
What end users can configure themselves
End users can configure integrations at a per-tracker level (Slack channels, custom alert routes) and per-project (Foresight trusted/excluded domains, custom HTTP tools). See:
- Custom tools — bring your own HTTP / MCP tools
- Notifications — channel subscriptions
- Foresight — pinned URLs and trusted domains
Related
- Data & privacy — which providers see which data
- Custom tools