Tattva Docs
Trust & administration

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_*_MODEL env 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 (.env on the deployment). To add or change an integration:

  1. Talk to your admin / operator.
  2. They update the env vars on the deployment.
  3. They restart the service.
  4. 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: