Reagent Docs

AI tools

Connect the AI platforms your teams use, from Claude and ChatGPT to Copilot, Atlassian Rovo, Snowflake Cortex, ServiceNow, Slack, Agentforce, Devin, Glean, Perplexity, and Replit, through their admin, compliance, and audit APIs.

This is section 03, AI tools, on the Connections page. Every tile here is a pull connector against a vendor's admin, compliance, or audit API, or an alias that reuses a cloud credential with one extra permission. They inventory the agents, assistants, and custom GPTs built on each platform, read who used which AI feature, and, where the vendor publishes it, read cost.

The coding agents and desktop apps that push telemetry from developer machines (Claude Code, Claude Cowork, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Kiro) sit in the same section of the Connections page but work differently. They are documented on Coding agents and desktop telemetry.

Every tile needs the manage integrations permission (Administrator, MSSP Admin, or a custom role with it). Plan gates are called out per tile; a gated tile stays connectable, but the reads behind the gate return nothing until the plan or plugin is in place.

Claude API Console Admin

Connector: anthropic-admin · Auth: Admin API key (sk-ant-admin) in the x-api-key header · Requires: a Claude Console organization

Reagent reads your Claude Console organization through the Anthropic Admin API: who is in the org, which workspaces exist, which API keys are live, and how many tokens each model, workspace, and service tier consumed. Access is read-only.

Lights up: no discovery signal of its own. Feeds Optimize with token usage and cost in USD at daily granularity, plus Claude Code productivity analytics per user.

Before you start

  • You need the manage integrations permission in Reagent.
  • You need a Claude Console organization. The Admin API is unavailable for individual accounts.
  • Only organization users with the admin role can create Admin API keys.
  • This key is separate from the Claude Enterprise Analytics key and the Compliance Access Key. Those are minted in claude.ai; this one is minted in the Claude Console.

Setup

  1. Log into the Claude Console at console.anthropic.com as an organization user with the admin role.
  2. Go to Settings > Admin Keys.
  3. Click Create Key. Name it, for example "Zaun Integration".
  4. Copy the key immediately. Admin keys start with sk-ant-admin. Regular API keys (sk-ant-api) will not work.
  5. In Reagent, open Connections, click Claude API Console Admin, paste the key into Admin API Key, and save.

Permissions

CredentialSent asPurpose
Admin API key (sk-ant-admin)x-api-key headerRead-only access to the Admin API

Reagent adds the anthropic-version header to every request automatically. There are no scopes to pick; the key's admin role covers every read below.

What Reagent reads

  • Organization users, invitations, workspaces, and who belongs to each workspace
  • API key inventory with status and creator details
  • Token usage reports by model, workspace, and service tier
  • Cost breakdowns in USD with daily granularity
  • Claude Code analytics: sessions, commits, PRs, and lines of code per user

A regular API key (sk-ant-api) is rejected when you save. Use an Admin key, and copy it at creation time; the Console asks you to copy it immediately for a reason.


Claude Enterprise Analytics

Connector: anthropic-enterprise-analytics · Auth: Analytics API key with the read:analytics scope in the x-api-key header · Requires: a Claude Enterprise organization

On the Connections page this tile sits in the Claude Enterprise group. Reagent reads org-wide engagement, adoption, and cost across Claude products (chat, Claude Code, Cowork, Office Agent, Design, and Science) from the Claude Enterprise Analytics API. All reports are read-only.

Lights up: no discovery signal of its own. Feeds Optimize and adoption reporting: seats, invites, adoption, usage and cost by product, model, or RBAC group, and per-user engagement.

Before you start

  • You need the manage integrations permission in Reagent.
  • Your organization must be on a Claude Enterprise plan.
  • Only the organization's primary owner can mint an Analytics API key. An org admin cannot.
  • This is a different credential from the Console Admin API key (sk-ant-admin01-). The two are not interchangeable. Anthropic does not publish a prefix for Analytics API keys, so the form accepts the key as issued.

Setup

  1. Log into claude.ai as the organization's primary owner.
  2. Go to Organization settings > API.
  3. Create an Analytics API key with the read:analytics scope.
  4. Copy the key immediately. It is shown once.
  5. In Reagent, open Connections, click Claude Enterprise Analytics, paste the key into Analytics API Key, and save.

Permissions

ScopeRequiredPurpose
read:analyticsRequiredSeat, adoption, usage, cost, and engagement reports

Reagent sends the anthropic-version: 2023-06-01 header with every request. The API allows 60 requests per minute per organization. The limit is shared across every key in the org, not per key, so any other collector using its own Analytics key draws from the same budget.

What Reagent reads

  • Seat assignment, pending invites, and daily, weekly, and monthly adoption
  • Usage and cost bucketed over time, grouped by product, model, or RBAC group
  • Per-user usage and cost leaderboards
  • Per-user engagement across chat, Claude Code, Cowork, Office Agent, Design, and Science

Coverage limits. Read these before trusting a zero.

  • Bedrock blind spot. Claude Code running through Amazon Bedrock returns no activity here at all. Zero Claude Code usage is not proof Claude Code is unused.
  • Credits, not dollars. Seat-based plans report usage credits. Only usage-based plans give real dollar cost.
  • Data floor. No data exists before 2026-01-01.
  • Timing and revision. Engagement data aggregates at 10:00 UTC the next day and is queryable about 3 days later. Cost lands in 4-24h and is revised for up to 30 days. Only dates older than 30 days are invoicing-grade.
  • Units. Amounts are decimal strings in cents. For example "41280.000000" is $412.80.
  • Zero does not mean unlicensed. Per-product metrics are always present and default to zero, so zero does not distinguish "no usage" from "product not licensed".

Claude Enterprise Compliance

Connector: anthropic-compliance · Auth: Compliance Access Key (sk-ant-api01-) in the x-api-key header · Requires: a Claude Enterprise plan with the Compliance API enabled by your Anthropic account team

On the Connections page this tile sits in the Claude Enterprise group. Reagent reads the Anthropic Compliance API for audit visibility into Claude usage across your organization: the activity feed, chat conversations and messages, projects, and organization users and roles. Anthropic retains this data for 6 years, so it stays directly queryable for long-term audit.

Lights up: AI Utilization in Sanctioned SaaS (Claude usage, live-validated).

Before you start

  • You need the manage integrations permission in Reagent.
  • Enterprise plan only. The Compliance API is not available on non-Enterprise plans. Contact Anthropic sales if you are not on Enterprise.
  • The Compliance API must be enabled by your Anthropic account team before the settings page is visible in claude.ai.
  • You sign in to claude.ai as the organization owner to create the key. Compliance Access Keys are created in claude.ai, not the Claude Console.

Setup

  1. Contact your Anthropic account team to enable the Compliance API.
  2. Sign in to claude.ai as the organization owner.
  3. Go to Organization settings > API and create a Compliance Access Key.
  4. Grant the scopes you need. Reagent recommends all three: read:compliance_activities, read:compliance_user_data, read:compliance_org_data.
  5. Copy the key immediately. The secret is never shown again. It starts with sk-ant-api01-.
  6. In Reagent, open Connections, click Claude Enterprise Compliance, paste the key into Compliance Access Key, and save.

Permissions

ScopeRecommendedPurpose
read:compliance_activitiesYesActivity Feed
read:compliance_org_dataYesOrganizations, roles, groups, settings
read:compliance_user_dataYesUsers, who is in each group, chat content

Reagent adds the anthropic-version header to every request automatically.

Using an Admin API key instead? An Admin key (sk-ant-admin01-) reaches the Activity Feed only. Every other operation here (directory, effective settings, chats, projects) returns 403. Use a Compliance Access Key for full coverage.

What Reagent reads

  • Activity events: authentication, sessions, chat lifecycle, file operations, project changes, org settings changes, API key lifecycle, RBAC changes, and SCIM provisioning
  • Chat conversations and messages across all users
  • Project details, instructions, and attachments
  • Organization users, roles, and configuration
  • 6-year data retention on Anthropic's side for long-term compliance and audit

ChatGPT

Connector: openai-compliance · Auth: Compliance API key (Bearer token) plus Workspace ID · Requires: ChatGPT Enterprise or Edu

Reagent reads the ChatGPT Enterprise Compliance API for your workspace: the compliance log feed (conversations, uploaded files, auth events, admin audit events, Codex agent activity), plus inventories of users, custom GPTs, projects, memories, and Codex tasks. With the delete scope it can also remove conversations and memories as a remediation step.

Lights up: Custom Agents on Builder Platforms (custom GPTs, template pack).

Before you start

  • You need the manage integrations permission in Reagent.
  • Your workspace must be on a ChatGPT Enterprise or Edu plan.
  • The Compliance API key is distinct from the OpenAI Platform admin key (sk-admin-...). An admin key does not work here.
  • Have your Workspace ID ready. It is in the ChatGPT admin console under Settings > Workspace Settings, or OpenAI provides it during Compliance Platform onboarding.

Setup

  1. Find your Workspace ID in the ChatGPT admin console under Settings > Workspace Settings.
  2. Create the Compliance API key.
    • Newer workspaces: go to ChatGPT Global Admin Console > API keys > Compliance API key and create it there.
    • Otherwise: create an API key on platform.openai.com in the same org, then email [email protected] with the key name, last 4 digits, creator, and requested scope to have it granted Compliance API scopes.
  3. Request the read scope. Add delete if you want remediation actions.
  4. In Reagent, open Connections, click ChatGPT, enter the Workspace ID and the Compliance API Key, and save.

Permissions

ScopeRequiredPurpose
readRequiredCompliance logs and the users, custom GPTs, projects, memories, and Codex task inventories
deleteOptionalRemediation: delete conversations and memories

What Reagent reads

  • Compliance logs: conversations, uploaded files, auth events, admin audit events, and Codex agent activity, over a 30-day rolling window
  • Workspace users, custom GPTs and their configurations, and projects
  • Persistent user memories (a prompt-injection persistence surface)
  • Codex cloud agent task history
  • With the delete scope: delete conversations and memories

The compliance log feed is a 30-day rolling window on OpenAI's side. Logs arrive as JSONL files within minutes, but anything older than 30 days is no longer available from the source. Conversation content is delivered through that log feed; there is no separate conversation list to query.


Microsoft 365 Copilot and Copilot Cowork

Connector: microsoft-graph · Auth: same credential as Microsoft Graph (Entra ID app registration) · Requires: an active Microsoft Graph connection

Two tiles, Microsoft 365 Copilot and Microsoft 365 Copilot Cowork, share this section. Both are aliases of Microsoft Graph and carry no credential of their own. Microsoft 365 Copilot is the inline chat assistant inside Microsoft 365 apps. Copilot Cowork is Microsoft's agentic system that plans and executes multi-step work, including browser automation, on a user's behalf. Reagent tracks it separately because an agent that acts is a different risk from an assistant that answers.

Lights up: AI Utilization in Sanctioned SaaS through the Purview unified audit log (CopilotInteraction records, template pack). Also feeds Monitor through the Microsoft 365 Copilot agentic security detector pack.

Before you start

  • You need the manage integrations permission in Reagent.
  • Connect Microsoft Graph first. Follow the steps on the Identity page. Either path works: bring your own Azure app, or grant consent to a Zaun-managed app.
  • The Copilot usage report and interaction operations ride the Microsoft Graph credential, but they need two application permissions the Graph capability picker does not request: Reports.Read.All for the Copilot usage report and AuditLogsQuery.Read.All for Purview audit log queries. Add both to the app registration by hand and grant admin consent again. The Purview unified audit log must also be enabled in your tenant.

Setup

  1. Connect Microsoft Graph from the Connections page as described on the Identity page.
  2. Return to Connections. Both Copilot tiles show Connected once the Microsoft Graph connection is active. There are no fields to fill.

What Reagent reads

  • Microsoft 365 Copilot usage reports from Microsoft Graph
  • Copilot interaction events and CopilotCoworkAction events from the Purview unified audit log

This tile uses the same credential as Microsoft Graph. Connect Microsoft Graph first and both Copilot tiles activate on their own. To change what the app can read, delete the existing Microsoft Graph credential and reconnect with the capabilities you need; the setup script requests exactly the permissions for the capabilities you select.


Copilot Studio

Connector: copilot-studio · Auth: Entra ID app registration with client credentials and Power Platform API application permissions · Requires: a Power Platform Administrator or Global Administrator to grant admin consent

Copilot Studio is a read-only pull connector against the Power Platform Admin API. Reagent inventories your Copilot Studio agents (environments, bots, connectors) and reads admin audit events and session analytics. The point is to surface agents published without review or wired to over-broad data connectors.

Lights up: Custom Agents on Builder Platforms (template pack).

Before you start

  • You need the manage integrations permission in Reagent.
  • You need a Power Platform Administrator or Global Administrator in your tenant to grant admin consent on the app registration.
  • Have the Microsoft Entra admin center open. You will copy three values out of it: the Directory (tenant) ID, the Application (client) ID, and a client secret value.

Setup

  1. In the Microsoft Entra admin center, go to Entra ID → App registrations → New registration.
  2. Name it, for example Zaun Copilot Studio. Choose single tenant. Register.
  3. On the app's overview, copy the Directory (tenant) ID and the Application (client) ID.
  4. Go to API permissions → Add a permission → Power Platform API → Application permissions. Add the admin and read application permissions (for example AppManagement.ApplicationPackages.Read and the Analytics and Environment read permissions). Then click Grant admin consent.
  5. Go to Certificates & secrets → New client secret. Copy the secret value immediately. It is shown only once.
  6. In Reagent, open Connections, click Copilot Studio, enter the Directory (tenant) ID, Application (client) ID, and Client secret (value), and save.

Reagent requests a client-credentials token scoped to https://api.powerplatform.com/.default against login.microsoftonline.com/<tenant>. Microsoft's reference: Power Platform API authentication docs.

Permissions

PermissionTypePurpose
AppManagement.ApplicationPackages.ReadApplicationExample of the Power Platform API admin and read permissions the connector needs
Analytics and Environment read (Power Platform API)ApplicationExample of the Power Platform API admin and read permissions the connector needs

All permissions are read-only.

What Reagent reads

OperationWhat it returns
environments.listEvery Power Platform environment in the tenant, the isolation boundary agents live inside
bots.list, bots.getInventory of Copilot Studio agents per environment, with publish status and enabled channels
connectors.listData connectors wired to each agent (the data-exposure surface)
admin_audit.searchAdmin activity for agents: publish, share, connector changes
analytics.get_session_summaryPer-agent session and usage summary

Grant application permissions, not delegated, and grant admin consent. Without both, the client-credentials token authenticates but every call returns 403. The client secret value is shown only once; if you lose it, create a new secret and update the tile.


Gemini

Connector: gemini-workspace · Auth: reuses the Google Workspace service account JSON and admin subject (domain-wide delegation) · Requires: an active Google Workspace connection, plus an active GCP connection for the Code Assist lane

Gemini is a read-only pull connector that reads Google's own audit surfaces for Gemini usage. It carries no credential of its own: it rides the same Google service account you configured for the Google Workspace connection. It covers two products, Gemini in Google Workspace and Gemini Code Assist.

Lights up: AI Utilization in Sanctioned SaaS (Gemini in Workspace activity, template pack), IDE Coding Agents (Gemini Code Assist logs via GCP, template pack).

Before you start

  • You need the manage integrations permission in Reagent.
  • Google Workspace must already be connected with a service account JSON key and a Workspace admin subject for domain-wide delegation.
  • For the Code Assist lane, GCP must be connected too. See the Cloud page. That lane reads with the GCP service account, not the Workspace one.
  • Code Assist prompt-and-response logging is off by default. Until an admin turns it on, the Code Assist lane stays empty.

Setup

  1. In Reagent, open Connections and click Gemini.
  2. Paste or drop the same service account JSON key you used for the Google Workspace connection. The backend adds the extra Reports API and Cloud Logging scopes automatically.
  3. Enter the Workspace admin subject to impersonate, for example [email protected]. The Reports API is queried through domain-wide delegation as this admin.
  4. Save. The tile checks both lanes and reports each one: Google Workspace and GCP (Code Assist).

Enable Code Assist prompt and response logging

  1. In the Google Cloud console, open Gemini Code Assist → Settings for your project.
  2. Turn on prompt and response logging. It is off by default. This opt-in is what populates the Code Assist lane.
  3. Grant roles/logging.viewer to the service account behind your GCP connection. That is the identity this lane reads with. Granting it to the Workspace service account has no effect, because a domain-wide-delegation token authorizes as the impersonated Workspace user rather than as the service account.

Permissions

LaneIdentityGrantPurpose
Gemini in Google WorkspaceWorkspace service account, impersonating the admin subjecthttps://www.googleapis.com/auth/admin.reports.audit.readonly, which must be in the service account's domain-wide delegation grant in the Google Admin console or the token exchange failsPer-user Gemini activity (gemini_in_workspace_apps)
Gemini Code AssistService account behind the GCP connectionroles/logging.viewer on the project, plus the logging opt-inPrompt, response, and code-acceptance telemetry from Cloud Logging

Reference: Google Admin SDK Reports API docs.

What Reagent reads

  • Gemini in Google Workspace: per-user activity from the Admin SDK Reports API (gemini_in_workspace_apps). Identity plus action and feature signal across Gmail, Docs, Drive, Chat, Meet, Sheets, Slides, and the Gemini app.
  • Gemini Code Assist: developer prompt and response content and code-acceptance telemetry from Cloud Logging, only when the opt-in above is on.

Honest scope limits. Neither surface exposes model name, token counts, cost, or safety and policy-filter decisions. Workspace activity is identity plus action signal with no prompt or response content. Code Assist content appears only when prompt and response logging is on. Gemini API, AI Studio, and Vertex AI are out of scope; Vertex has its own tile.


AWS Bedrock

Connector: aws-aws · Auth: same credential as AWS (the IAM role your AWS connection assumes) · Requires: an active AWS connection

Reagent monitors Amazon Bedrock read-only: model and inference-profile inventory, provisioned capacity, Guardrails configuration, invocation-logging posture, Agents, AgentCore, and token and cost usage. It uses the same role your AWS integration already assumes. There is no new credential to save.

Lights up: AI Control-Plane Activity (Bedrock admin activity from CloudTrail management events, live-validated), Deployed Models (inference profiles, live-validated; provisioned throughput, template), AI Prompts & Model Routing/Use (cost and usage, template), Custom Agents on Builder Platforms (Bedrock Agents, template), Platform Agent Registries (AgentCore workload identities, template).

Before you start

  • You need the manage integrations permission in Reagent.
  • This tile uses the same credential as AWS. Connect AWS first. The tile shows Connected as soon as AWS is, before the policy is attached; data flows only once the policy is attached. See the Cloud page.
  • You need rights in AWS to attach an IAM policy to the role your AWS connection assumes, or to the IAM user or execution role it uses.

Setup

  1. In Reagent, open Connections and click AWS Bedrock. The page shows the additional IAM policy for your environment.
  2. Copy the policy and attach it to the role your AWS connection assumes, or to the IAM user or execution role it uses.
  3. There is no credential to save. Once the policy is attached, Bedrock data starts flowing on the next scheduled pull.
  4. After the first pull, check the tile. It reports the invocation-logging and Guardrail posture it found, with what to do about each.

Permissions

The policy has two statements. The second is the one that gets missed.

StatementGrantsPurpose
Firstbedrock:ListFoundationModels, bedrock:ListInferenceProfiles, bedrock:ListProvisionedModelThroughputs, bedrock:ListCustomModels, bedrock:ListImportedModels, bedrock:ListMarketplaceModelEndpoints, bedrock:ListGuardrails, bedrock:GetGuardrail, bedrock:GetModelInvocationLoggingConfiguration, bedrock-agent:ListAgents, bedrock-agent:ListKnowledgeBases, bedrock-agentcore:ListAgentRuntimes, bedrock-agentcore:ListGateways, bedrock-agentcore:ListMemories, bedrock-agentcore:ListWorkloadIdentities, bedrock-agentcore:ListBrowsers, bedrock-agentcore:ListCodeInterpreters, sagemaker:ListEndpointsModels, inference profiles, provisioned throughput, Guardrails, logging posture, Agents, AgentCore
Secondcloudwatch:GetMetricData, cloudwatch:ListMetrics, ce:GetCostAndUsageToken usage and spend per model

SecurityAudit is not sufficient, and neither is ReadOnlyAccess. Both grant the inventory reads and neither grants cloudwatch:GetMetricData or ce:GetCostAndUsage. Without them Reagent lists every model the account can call and reports no usage and no spend for any of them, which looks like an account nobody is using rather than a permission that is missing.

What Reagent reads

  • Foundation model and inference-profile inventory
  • Provisioned throughput capacity
  • Guardrails configuration
  • Model invocation logging posture, per region
  • Bedrock Agents and AgentCore workload identities
  • Token usage and cost from CloudWatch metrics and Cost Explorer
  • Bedrock control-plane (admin) activity from CloudTrail management events. This is an audit trail, not invocations; usage comes from CloudWatch and Cost Explorer

Two settings live outside IAM, and Reagent cannot turn either on for you.

  • Model invocation logging is off by default, per region. While it is off, token totals still arrive but no calling identity does, so usage cannot be attributed to a person or team.
  • Bedrock applies no content filtering by default. With no Guardrail, prompts and completions pass unscreened.

Both are checked after you save and reported on the tile with what to do about them.


Azure AI Foundry

Connector: azure-monitor · Auth: same credential as Azure (the existing app registration) · Requires: an active Azure connection

Reagent monitors Azure AI Foundry read-only: account and project inventory, model deployments, token and call volume, Responsible AI guardrail activity, and diagnostic-logging posture. It uses the same app registration your Azure integration already authenticates with. There is no new credential to save.

Lights up: AI Prompts & Model Routing/Use (Azure OpenAI accounts, live-validated), Deployed Models (live-validated).

Before you start

  • You need the manage integrations permission in Reagent.
  • This tile uses the same credential as Azure. Connect Azure first. The tile shows Connected as soon as Azure is, before the roles are granted; data flows only once the roles are granted. See the Cloud page.
  • You need rights in Azure to assign roles at the subscription scope that covers your AI Foundry resources.

Setup

  1. In Reagent, open Connections and click Azure AI Foundry. The page shows two az role assignment create commands for your environment, one per role, scoped to your subscription.
  2. Run them in the Azure CLI. Or use the portal: Subscription → Access control (IAM) → Add role assignment, and assign each role to your existing app registration.
  3. There is no credential to save. Data starts flowing on the next scheduled pull once the roles are granted.

Permissions

RoleScopePurpose
Cognitive Services ReaderThe subscription covering your AI Foundry resourcesAccount and project inventory, model deployments, token and call volume, guardrail activity, logging posture
Cost Management ReaderThe same subscriptionBilled AI spend. Reader does not cover it, and without this role cost queries return an empty result rather than an error, which reads as zero AI spend

What Reagent reads

  • Account and project inventory
  • Model deployments
  • Token and call volume
  • Responsible AI guardrail activity
  • Diagnostic-logging posture

Two things worth turning on at the same time, because they unlock per-call and per-user detail rather than per-model totals.

  • Set each AI account's diagnostic setting to send logs to a Log Analytics workspace with the destination table mode set to Resource specific. The default folds everything into AzureDiagnostics and the per-call token table never gets created.
  • Have your applications authenticate to Azure OpenAI with Entra ID rather than an API key. Key callers leave the caller identity field empty, so usage cannot be attributed to a person.

Google Vertex

Connector: gcp-security · Auth: same credential as GCP (the existing service account) · Requires: an active GCP connection

Reagent monitors Vertex AI read-only: endpoint and model inventory, deployed Agent Engine (Reasoning Engine) agents, IAM access on those resources, and model-monitoring coverage. It uses the same service account your GCP integration already authenticates with. There is no new credential to save.

Lights up: AI Prompts & Model Routing/Use (Vertex model usage, live-validated), Deployed Models (endpoints and model registry, live-validated), Custom Agents on Builder Platforms (Agent Engine, template), Platform Agent Registries (Discovery Engine agents, template).

Before you start

  • You need the manage integrations permission in Reagent.
  • This tile uses the same credential as GCP. Connect GCP first. The tile shows Connected as soon as GCP is, before the role is granted; data flows only once the role is granted. See the Cloud page.
  • You need rights in GCP to grant an IAM role on the project.
  • The GCP section of the Cloud page also has notes on the Monitoring Viewer role and Vertex Data Access audit logging. Read them; they decide how much usage detail this tile can attribute.

Setup

  1. In Reagent, open Connections and click Google Vertex. The page shows a gcloud command for your environment that binds the role to your service account.
  2. Run it. Or use the console: IAM & Admin → IAM → find your service account → Edit → Add Role → Vertex AI Viewer.
  3. There is no credential to save. Data starts flowing on the next scheduled pull once the role is granted.

Permissions

RoleScopePurpose
Vertex AI ViewerProjectEndpoint and model inventory, Agent Engine agents, IAM access on those resources, model-monitoring coverage

What Reagent reads

  • Endpoint and model registry inventory
  • Deployed Agent Engine (Reasoning Engine) agents
  • Discovery Engine agents
  • IAM access on Vertex resources
  • Model-monitoring coverage
  • Vertex model usage

Requests currently target the us-central1 region endpoint. Resources in other regions are not visible yet.


Atlassian Rovo

Connector: atlassian-admin · Auth: Organization API key, sent as Bearer against api.atlassian.com/admin · Requires: Atlassian Guard Standard or Premium, or an Enterprise plan, for the organization audit log. Directory, API key, workspace, and policy reads work on any plan.

Reagent reads the org-level control plane of your Atlassian Cloud tenant: the organization audit log, the managed-account directory, groups, org API keys, workspaces, security policies, and third-party app access settings. Since October 2025 every tool invocation through the Atlassian Rovo MCP Server is written to the audit log with the tool name, the action, and the user. That log is the only programmatic way to see which external AI assistants are reading and writing your Atlassian estate. The API key inventory shows the non-human credentials MCP clients use when they authenticate with a token instead of OAuth. Atlassian's MCP domain allowlist constrains OAuth clients only, so token auth is the surface to watch.

The Connections page groups this tile with Atlassian Guard Detect. The two use different credentials, and neither can serve the other.

Lights up (template packs): Agent Tool Calls in MCP Servers (Rovo MCP tool calls), MCP Servers in Cloud Applications (MCP OAuth clients), AI Utilization in Sanctioned SaaS (Rovo feature use), AI App Sign-Ups & OAuth Grants (third-party app API use), Custom Agents on Builder Platforms (Rovo agents). Monitor runs the Atlassian Rovo agentic security pack on this connection. Optimize gets seat reclaim and adoption from per-product last-active dates.

Before you start

  • You need Atlassian organization admin access at admin.atlassian.com to create an organization API key.
  • The organization audit log needs Atlassian Guard Standard or Premium, or at least one Enterprise plan. Without one, Rovo and MCP activity discovery returns nothing. Seat reclaim and credential-sprawl reads still work.
  • Find your Organization ID. It is the <orgId> in admin.atlassian.com/o/<orgId>, or call GET /v1/orgs with the key. Every admin API path is org-scoped (/v1/orgs/{orgId}/...).
  • In Reagent you need the manage integrations permission.

Setup

  1. Go to https://admin.atlassian.com.
  2. Open Settings → API keys and click Create API key.
  3. Grant the eight read scopes listed under Permissions. Nothing more.
  4. Copy the key value.
  5. In Reagent, open Connections, click the Atlassian Rovo tile, paste the key, enter your Organization ID, and save.

Permissions

Grant these read scopes when creating the key. Reagent never writes through this credential.

ScopePurpose
read:orgs:adminList organizations, so you can look up the Organization ID
read:events:adminOrganization audit log: Rovo MCP tool calls, agent activity, app API requests
read:accounts:adminManaged accounts and per-product last-active dates for seat reclaim
read:directories:adminDirectory user search and statistics
read:groups:adminGroup rosters: who is entitled to build Rovo agents
read:keys:adminOrganization API key inventory, scopes and last-use dates
read:workspaces:adminSite inventory and hosting regions
read:policies:adminIP allowlists and other org security policies

What Reagent reads

  • Organization audit log: Rovo MCP tool calls, Rovo agent activity, third-party app API requests, OAuth authorizations, product access changes, policy edits.
  • Managed-account directory with per-product last-active dates.
  • Group rosters, org API keys with scopes and last-use dates, workspaces and hosting regions, security policies, third-party app access settings.

Monitor and Optimize

  • Monitor: the Atlassian Rovo agentic security pack runs its detectors every 15 minutes or every 2 hours. The events API rate-limits to as low as 10 requests per minute per path, so the pack is paced to stay under it.
  • Optimize: seat reclaim and adoption come from user last-active dates and need no Guard entitlement. Rovo credits do not arrive over the API. Export the credits report from Atlassian Administration → Insights → Platform usage. The CSV is imported through the finops snapshot import API, or by Zaun on request; Optimize has no CSV upload.

Atlassian caps API key lifetime at one year. Set a reminder to rotate before expiry, or discovery stops silently on the expiry date with no other symptom.

Organization API keys carry org-admin authority. Scope the key to the eight read scopes above and nothing more.


Atlassian Guard Detect

Connector: atlassian-guard · Auth: Account email plus API token (Basic) against your own site host · Requires: Atlassian Guard Premium

Guard Detect is Atlassian's own threat detection layer for Jira, Confluence, Bitbucket, and Atlassian Administration. It watches authorization and access events, data exfiltration patterns, unusual user activity, and app or integration configuration changes, and raises alerts against your Atlassian estate. Guard Detect has no REST API. Its alerts are reachable only through the Atlassian platform GraphQL endpoint on your own site host, or through outbound webhooks that push alerts outward. Reagent reads the GraphQL endpoint. Reagent pulls the alerts as a second, vendor-scored signal alongside the Rovo organization audit log.

Feeds: Monitor. Alerts carry a type, title, status, actor, and time window. The actor is either an identified Atlassian account or an anonymous actor with only a source IP address.

Before you start

  • Confirm your organization holds Atlassian Guard Premium. Guard Standard unlocks the organization audit log but is not sufficient for Detect.
  • Create a dedicated service account that can see Guard Detect alerts and nothing more. API tokens inherit every permission of the account that issued them.
  • This is a separate credential from Atlassian Rovo. That tile uses an organization API key against api.atlassian.com; this one uses an account email and API token against your own site host. One credential cannot serve both.
  • In Reagent you need the manage integrations permission.

Setup

  1. Sign in as the service account and go to https://id.atlassian.com/manage-profile/security/api-tokens (id.atlassian.com → Security → API tokens).
  2. Click Create API token, name it (for example Zaun Guard), and copy the value.
  3. In Reagent, open Connections and click the Atlassian Guard Detect tile.
  4. Enter your site URL. It must be your Atlassian Cloud site, https://<your-site>.atlassian.net, with no trailing path.
  5. Enter the email of the Atlassian account that owns the token as the username, and the token as the password.
  6. Save.

Permissions

ItemPurpose
Dedicated service accountThe token inherits its permissions. Give it Guard Detect alert visibility and nothing more
API token from id.atlassian.comBasic auth against your site host

What Reagent reads

  • Guard Detect alerts: type, title, status, actor, time window.

On a plan below Guard Premium the alert query resolves to null instead of returning an error. An empty result on the wrong tier looks the same as a quiet estate. Confirm the entitlement before reading an empty result as clean.


Snowflake Cortex AI

Connector: snowflake-cortex · Auth: Programmatic access token (PAT) bound to one role, sent as Bearer against your account host · Requires: a role that can read SNOWFLAKE.ACCOUNT_USAGE. The gate is a privilege, not a plan.

Cortex AI runs inside your own Snowflake account. Cortex Agents are database objects with an owner role, a set of tools, and orchestration instructions, executing against your own warehouses. Cortex Analyst answers natural-language questions over governed data, Cortex Search indexes tables for retrieval, and Cortex Code is a data-native coding agent. Reagent reads the governance surface for all of it: the agent and search-service inventory over REST, and usage, Trust Center, and history over SQL against SNOWFLAKE.ACCOUNT_USAGE and SNOWFLAKE.TRUST_CENTER.

Lights up (template packs): Custom Agents on Builder Platforms (Cortex Agents), Platform Agent Registries (Cortex agent usage), AI Utilization in Sanctioned SaaS (Cortex AI function use), Deployed Models (Cortex models). Monitor runs the Snowflake Cortex agentic security pack, including Trust Center AI Security findings. Optimize reads per-agent, per-user credit and token consumption from CORTEX_AGENT_USAGE_HISTORY and CREDITS_GRANULAR.

Before you start

  • You need enough privilege in Snowflake to pick or create a role, grant it the reads below, and add a programmatic access token to a user.
  • Use a dedicated role for Zaun. A PAT is bound to exactly one role, so that role must hold everything listed under Permissions.
  • Know your account host: https://<org>-<account>.snowflakecomputing.com, with no trailing path.
  • In Reagent you need the manage integrations permission.

Setup

  1. Pick or create a dedicated role for Zaun, then grant it the read access listed under Permissions.

  2. Grant GOVERNANCE_VIEWER (or equivalent) so the role can read SNOWFLAKE.ACCOUNT_USAGE.

  3. If you want posture findings, enable the AI Security scanner package in Trust Center. An un-enabled package returns no findings rather than an error.

  4. Create the token:

    ALTER USER <user> ADD PROGRAMMATIC ACCESS TOKEN <name> ROLE_RESTRICTION = <role>
  5. In Reagent, open Connections, click the Snowflake Cortex AI tile, paste the token, set the base URL to your account host, and save.

Permissions

Reagent never writes through this credential.

GrantPurpose
Read on SNOWFLAKE.ACCOUNT_USAGE (typically via the GOVERNANCE_VIEWER database role)Cortex agent, AI function and model usage, plus query, access and login history
Read on SNOWFLAKE.TRUST_CENTERAI Security scanner findings. The scanner package must also be enabled, or findings come back empty
USAGE on databases and schemasEnumerate Cortex Agents and Cortex Search services, which are schema-scoped objects
USAGE on a warehouseACCOUNT_USAGE queries need compute. Point this at a small warehouse; these are metadata reads

What Reagent reads

  • Cortex Agents and Cortex Search services, plus databases, schemas, users, roles, and warehouses (REST inventory).
  • Per-agent, per-user credit and token consumption from CORTEX_AGENT_USAGE_HISTORY and CREDITS_GRANULAR.
  • Trust Center AI Security findings.
  • Query, access, and login history, including what data an agent actually read.

Token expiry is the most likely failure mode. PATs default to a 15-day lifetime. Raise it with an authentication policy's DEFAULT_EXPIRY_IN_DAYS, or expect this connection to break roughly fortnightly with no other symptom than discovery going quiet.

A PAT is bound to one role, and revoking that role from the user immediately invalidates the token. Use a dedicated role you do not otherwise change.

Without SNOWFLAKE.ACCOUNT_USAGE access the connection still works, but every cost and usage read returns nothing. That is most of Optimize and half of Monitor. The agent and search-service inventory keeps working on schema USAGE alone.

Trust Center findings are empty both when no scanner package is enabled and when nothing was found. Confirm the AI Security package is enabled before reading an empty result as a clean posture.


ServiceNow AI Agents

Connector: servicenow · Auth: Basic auth with a dedicated integration user, or OAuth2 client credentials from the Application Registry · Requires: any plan; the ServiceNow AI Agent Studio plugin for agent inventory

This tile shares its credential with ServiceNow ticketing. Connect once and both tiles use it.

Reagent reads the AI Agent Studio agent inventory (sn_aia_agent), each agent's tools and the tables those tools can act on (sn_aia_tool), agent execution plans, and Now Assist consumption from sys_gen_ai_usage_log, ServiceNow's own generative-AI usage record. The same credential serves incidents, security incidents, CMDB items, changes, knowledge, users, groups, and audit trails for ticketing.

Lights up (template packs): Custom Agents on Builder Platforms (AI Agent Studio agents from sn_aia_agent), Platform Agent Registries (agent execution plans), AI Utilization in Sanctioned SaaS (Now Assist usage from sys_gen_ai_usage_log). Monitor runs the ServiceNow AI agentic security pack. Optimize reads sys_gen_ai_usage_log.

Before you start

  • You need admin access to your ServiceNow instance to create an integration user or an OAuth application.
  • Install the ServiceNow AI Agent Studio plugin. Without it the sn_aia_* reads fail with an error rather than returning an empty inventory.
  • Use a dedicated integration service account with the minimum required roles. Never use a personal admin account.
  • Choose Basic Auth or OAuth2 Client Credentials. Both need the same roles on the integration user.
  • In Reagent you need the manage integrations permission.

Setup (Basic Auth)

  1. Log into your ServiceNow instance as an admin.
  2. Navigate to User Administration > Users.
  3. Create a dedicated integration user (for example zaun_integration).
  4. Assign the roles listed under Permissions.
  5. Set a strong password and note the credentials.
  6. In Reagent, open Connections, click the ServiceNow AI Agents tile, enter the Instance URL (https://your-instance.service-now.com), choose Basic Auth, enter the username and password, and save.

Setup (OAuth2 Client Credentials)

  1. Navigate to System OAuth > Application Registry.
  2. Click New and select Create an OAuth API endpoint for external clients.
  3. Set a Name (for example Zaun Integration).
  4. Copy the generated Client ID and Client Secret.
  5. Ensure the OAuth application is Active.
  6. Make sure the integration user tied to the OAuth app holds the roles listed under Permissions.
  7. In Reagent, open Connections, click the ServiceNow AI Agents tile, enter the Instance URL, choose OAuth2 Client Credentials, paste the Client ID and Client Secret, and save. The token endpoint is set automatically to your instance's /oauth_token.do URL.

Permissions

RolePurpose
sn_si.readRead security incidents
itilRead and write ITSM incidents and change requests
cmdb_readRead CMDB configuration items
personalize_readRead user records
sn_vul.readRead vulnerabilities (if using Vulnerability Response)
sn_ti.readRead threat intelligence (if using Threat Intelligence)
knowledgeRead knowledge base articles
evt_mgmt_userRead event management events (if using Event Management)

The AI features on this page read sn_aia_agent, sn_aia_tool, and sys_gen_ai_usage_log. If your instance restricts those tables to specific roles, add them to the integration user as well.

What Reagent reads

  • sn_aia_agent: AI Agent Studio agents.
  • sn_aia_tool: each agent's tools. The sn_aia_tool.target_document_table field names the table a tool can act on, which is how Reagent reads an agent's blast radius.
  • Agent execution plans.
  • sys_gen_ai_usage_log: Now Assist generative-AI consumption, for Optimize.
  • ITSM incidents, security incidents, CMDB items, change requests, knowledge articles, users, groups, and audit trails for ticketing.

Slack AI Apps & Agents

Connector: slack-admin · Auth: Org-level app install with admin.* read scopes, sent as Bearer · Requires: Slack Enterprise Grid

Slack governs AI agents through its app primitive. The AI agents and assistants that surface at the top of Slack are Slack apps, and Slack treats MCP servers as capabilities of Slack apps rather than separate entities. That makes the approved-app list the authoritative AI agent inventory, and app approval the agent approval gate. Reagent reads the approved, restricted, and requested app lists, app function and workflow execution activity, the user and workspace rosters, and channel visibility. Each app record carries its full OAuth scope list with Slack's own is_sensitive flag per scope, so capability is assessed from scopes rather than from an app's name. Records also carry a developer_type separating internally built agents from vendor ones and a last_resolved_by naming the approving admin.

Lights up (template pack): AI App Sign-Ups & OAuth Grants (approved AI apps). Pair this tile with Slack Audit Logs for the full Slack AI picture. Monitor's Slack AI agentic security pack needs this tile and Slack Audit Logs together.

The Connections page groups this tile with Slack Audit Logs and Slack Response Actions. Three tiles, three tokens, none interchangeable.

Optimize is deliberately absent for Slack AI. Slack AI is seat-licensed with no per-call cost, and the usage data needed for seat reclaim has no API.

Before you start

  • Confirm your org is on Enterprise Grid. The admin.* methods do not exist on Standard, Plus, or Business+.
  • You need permission to install an app at the Enterprise Grid organization level, not on a single workspace.
  • In Reagent you need the manage integrations permission.

Setup

  1. Go to https://api.slack.com/apps and create an app.
  2. Add the six read scopes listed under Permissions.
  3. Install the app to the organization, not to a single workspace.
  4. Copy the resulting token.
  5. In Reagent, open Connections, click the Slack AI Apps & Agents tile, paste the token, and save. The connection readiness check reads the response body, not just the HTTP status.

Permissions

Reagent never writes through this credential.

ScopePurpose
admin.apps:readApproved, restricted and requested apps. This is the AI agent inventory, since agents and assistants are Slack apps
admin.app_activities:readApp function and workflow execution logs
admin.users:readUser roster, to resolve app requesters and audit actors to people
admin.teams:readWorkspace list. Approval state differs per workspace on Grid, so this scopes the walk
admin.conversations:readChannel visibility and external sharing, which determine how far an installed app actually reaches
team:readBasic workspace info. Used as the cheapest credential probe

What Reagent reads

  • Approved, restricted, and requested apps, with each app's OAuth scopes, is_sensitive flags, developer_type, and last_resolved_by.
  • App function and workflow execution activity.
  • User and workspace rosters, channel visibility and external sharing.

Enterprise Grid is a hard gate. On Standard, Plus, and Business+ the admin.* methods do not exist, rather than returning less data.

Slack reports failures with HTTP 200 and ok: false plus an error string, not an error status. A missing scope can look like an org with no approved apps. The readiness check reads the body specifically to catch that. If the tile shows an empty inventory after connecting, check the scopes before concluding there are no apps.


Slack Audit Logs

Connector: slack-audit-logs · Auth: User OAuth token (xoxp-) with auditlogs:read, installed at the organization level by an Org Owner · Requires: Slack Enterprise Grid

Every administrative and security-relevant action in a Grid organization is recorded in the Audit Logs API as an actor taking an action on an entity within a context, and Slack states that every AI action generates an audit log entry. This is the primary telemetry source for Slack AI governance: Slack AI feature use, AI app and agent installs, and MCP connections through the official Slack MCP server all land here.

Lights up (template packs): AI Utilization in Sanctioned SaaS (Slack AI feature use), Agent Tool Calls in MCP Servers (official Slack MCP server activity). Monitor's Slack AI agentic security pack needs this tile and Slack AI Apps & Agents together.

Before you start

  • Enterprise Grid only. Standard, Plus, and Business+ have no Audit Logs API at all.
  • Only the Enterprise Org Owner can install this app at the organization level.
  • This is a user token, not a bot token. It is separate from the Slack AI Apps & Agents token and from the Slack Response Actions bot token.
  • In Reagent you need the manage integrations permission.

Setup

  1. Go to https://api.slack.com/apps.
  2. Click Create New App → From scratch.
  3. Enter an app name (for example Zaun Audit Monitor) and select your Enterprise org.
  4. Navigate to OAuth & Permissions in the sidebar.
  5. Under User Token Scopes (not Bot Token Scopes), add auditlogs:read.
  6. Click Install to Organization. An Org Owner must perform this step.
  7. Copy the User OAuth Token. It starts with xoxp-.
  8. In Reagent, open Connections, click the Slack Audit Logs tile, paste the token, and save.

Permissions

ScopeToken typePurpose
auditlogs:readUser token (xoxp-)Read audit log events

What Reagent reads

  • Audit log entries: actor, action, entity, context.
  • The runtime list of action names (audit.actions.list) and entity shapes (audit.schemas.list). Slack states its published list of audit events is incomplete, so Reagent enumerates actions from the live endpoint rather than from documentation.

Rate limit: 50 requests per minute, shared across all apps for the organization. Other apps that read the Audit Logs API consume the same budget.


Slack Response Actions

Connector: slack-api · Auth: Bot User OAuth Token (xoxb-) · Requires: any plan

This tile is outbound. Reagent only sends through it, apart from resolving a user by email before a DM. It sends developer coaching and operator confirmation DMs, and posts escalation alerts to a channel you choose. Those are the response actions on Monitor.

Feeds: nothing. Direction is Reagent to Slack.

A simpler OAuth setup with automatic token management lives under Settings → Messaging in Reagent. The manual bot-token path below is still supported.

Before you start

  • You need permission to create and install a Slack app in the workspace where Reagent should send messages.
  • This is a bot token. It is separate from the xoxp- user token on Slack Audit Logs and from the org-level admin.* token on Slack AI Apps & Agents.
  • In Reagent you need the manage integrations permission.

Setup

  1. Go to https://api.slack.com/apps.
  2. Click Create New App → From scratch, enter an app name, and select your workspace.
  3. Navigate to OAuth & Permissions in the sidebar.
  4. Add the four Bot Token Scopes listed under Permissions.
  5. Click Install to Workspace at the top of the page. If the app was already installed, adding a scope shows a Reinstall banner instead. The token does not carry new scopes until you reinstall.
  6. Copy the Bot User OAuth Token. It starts with xoxb-.
  7. In Reagent, open Connections, click the Slack Response Actions tile, paste the token, and save.

Optional, for escalation alerts to a channel:

  1. Create or select a channel for alerts (for example #security-escalations).
  2. Invite the bot: /invite @YourBotName.
  3. Right-click the channel, open View channel details, and copy the Channel ID. Use the ID, not the name.
  4. On the tile, enter the Slack Channel ID and tick Enable automatic escalation notifications. When enabled, escalations post to that channel automatically.

Permissions

Bot Token ScopePurpose
chat:writeSend messages to channels
chat:write.publicSend to public channels
im:writeOpen DMs
users:read.emailResolve a user by email. Required for operator confirmation and developer coaching DMs, which look the person up via users.lookupByEmail before messaging. Without it the DM silently fails

What Reagent sends

  • Developer coaching DMs.
  • Operator confirmation DMs.
  • Escalation alerts to the configured channel.

users:read.email is easy to miss. Without it the coaching and confirmation DMs fail silently: no error in Reagent, no message in Slack.

Bot tokens do not expire unless you regenerate them. If you regenerate, update the tile.


Salesforce Agentforce

Connector: salesforce-agentforce · Auth: OAuth 2.0 client credentials through an External Client App, against your My Domain URL · Requires: a Salesforce org with My Domain. Some EventLogFile event types, including InvocableAction, need the Shield / Event Monitoring add-on. Data Cloud reads need a Data Cloud license and do not execute yet.

Agentforce runs on the Salesforce Platform, so this is a server-side pull. Reagent reads agent telemetry through the Salesforce APIs: EventLogFile agent and invocable-action events, Einstein agent session traces exported as OTEL, the Setup Audit Trail for admin changes to agents, topics, and actions, and, once the Data Cloud reads are enabled, agent activity surfaced through Data Cloud. Together these show which user talked to which agent, which topic handled it, which actions and tools were invoked, and model, token, and latency attributes where Data Cloud exposes them.

Before you start

  • You need Salesforce admin access to create an External Client App and to assign permissions to an integration user.
  • Client credentials requires My Domain. login.salesforce.com does not work.
  • Prepare an integration user whose profile or permission set grants the permissions listed under Permissions.
  • In Reagent you need the manage integrations permission.

Setup

  1. In Salesforce, go to Setup → External Client App Manager → New External Client App.
  2. Enable OAuth Settings and tick the Client Credentials Flow checkbox.
  3. Set Run As to the integration user.
  4. Set Permitted Users to Admin approved users are pre-authorized.
  5. Copy the Consumer Key and Consumer Secret from Manage Consumer Details.
  6. Find your My Domain URL under Setup → My Domain → Current My Domain URL. Production looks like https://yourco.my.salesforce.com. A sandbox looks like https://yourco--sbx.sandbox.my.salesforce.com.
  7. In Reagent, open Connections, click the Salesforce Agentforce tile, enter the My Domain URL, the Consumer Key (Client ID), and the Consumer Secret (Client Secret), and save.

Permissions

Grant these on the Run As integration user's profile or permission set.

PermissionPurpose
API EnabledCall the Salesforce APIs
View Event Log FilesRead EventLogFile agent and invocable-action events
View Setup and ConfigurationRead the Setup Audit Trail
Data Cloud query accessRequired only for the Data Cloud read

What Reagent reads

  • eventLogFile: agent and invocable-action events (near-real-time or hourly logs).
  • sessionTrace.otel: Einstein agent session traces (OTEL export).
  • setupAuditTrail: admin changes to agents, topics, and actions.
  • dataCloud.query: agent activity surfaced through Data Cloud. These reads do not execute yet; a backend follow-on is required before they run.

Two Salesforce licenses gate what you get. Without Event Monitoring the InvocableAction event type, and other add-on event types, return no rows. Without a Data Cloud license there are no prompts, token counts, or content-safety scores; those live only in Data Cloud.

Data Cloud is the newest part of this connector and its reads do not execute yet. A backend follow-on is required before they run, and column mappings for token, cost, and model fields are still being confirmed against live orgs. A Data Cloud license does not return Data Cloud results today.


Devin

Connector: devin · Auth: Enterprise API key, sent as Bearer · Requires: Devin Enterprise plan, for the enterprise and audit endpoints

Devin runs entirely in Cognition's cloud, so all telemetry lives server-side. Reagent pulls it through the Devin Enterprise API: sessions and their insights, per-session message traces, enterprise audit logs, and daily consumption. Everything is read-only.

Feeds: Optimize (daily ACU consumption). Sessions, message traces, and audit logs are pulled on a schedule.

Before you start

  • You need a Devin org admin account.
  • Devin Enterprise plan. The enterprise and audit endpoints do not exist on other plans.
  • Use an org-scoped Enterprise key. Personal keys cannot see the /v3/enterprise/* endpoints.
  • In Reagent you need the manage integrations permission.

Setup

  1. Sign in to Devin as an org admin at app.devin.ai.
  2. Open Settings → API Keys.
  3. Create a key and copy it.
  4. In Reagent, open Connections, click the Devin tile, and paste the raw key. Reagent stores it encrypted and sends it as Authorization: Bearer <key>; the Bearer prefix is added for you.
  5. Save.

Permissions

ItemPurpose
Org-scoped Enterprise API keyRead access to sessions, messages, audit logs, and consumption. Reagent never writes through it

What Reagent reads

  • sessions.list and sessions.get: session insights and per-session detail, including the initial prompt, status, ACU spend, linked pull requests, and parent/child relationships.
  • sessions.messages: the chronological message trace for a session, the closest thing Devin exposes to an agent activity trace.
  • audit_logs.list: enterprise audit events covering user, RBAC, and Git-permission changes.
  • consumption.daily: per-user and per-organization daily ACU consumption, for Optimize.

Devin exposes no structured per-step tool, command, file-access, MCP, or model fields. The message stream is free text, and any such detail is embedded in it rather than queryable as columns. Cost is measured in ACUs (Agent Compute Units), not tokens, and the underlying model name is not exposed. There is no push or webhook path; Reagent pulls on a schedule.


Glean

Connector: glean-events · Auth: Push. Glean Compliance Export (GCE) writes objects to an S3 delivery bucket that Zaun owns in your account · Requires: Glean Compliance Export (enterprise)

Glean streams per-user activity (Assistant chat, enterprise search, Agent runs, tool calls, LLM calls) through Compliance Export. It writes objects to S3 rather than posting telemetry. Have Glean point GCE at the Zaun delivery bucket and every object dropped on the prefix is normalized into the glean_events table in the Zaun data lake, searchable in Lake.

Prerequisite: the data lake must be active for this environment. Activate it under Settings → Data Lake if you have not.

Lands in: glean_events.

Before you start

  • Glean Compliance Export must be enabled for your tenant. It is an enterprise feature. Ongoing delivery to an external destination is not self-serve: the Glean account team configures it for you, and it takes a few business days rather than a toggle you flip yourself.
  • You need Glean admin access.
  • The data lake must be active for this environment.
  • In Reagent you need the manage integrations permission.

Setup

  1. In Reagent, open Connections and click the Glean tile.
  2. Copy the S3 delivery URI. The Connections page shows the bucket and prefix once Zaun has provisioned the Glean delivery route for your environment. Zaun owns the bucket in your account and watches the prefix.
  3. Ask your Glean account team to enable GCE delivery to the Zaun bucket, and give them the S3 URI. Delivery to an external destination is configured by Glean, not from the Admin console, and takes a few business days.
  4. The account team enables the activity export stream under Compliance / Data Export in the Glean Admin console and sets the destination to the S3 URI you supplied.
  5. Grant Glean's delivery principal s3:PutObject on that destination. Glean provides the IAM principal and external ID during export setup. Add them as a bucket-policy statement on the Zaun delivery bucket.
  6. Once delivery starts, new activity is exported on Glean's schedule and lands within minutes. The tile shows Pending first export until the first object arrives, then Active.

Permissions

GrantPurpose
s3:PutObject for Glean's delivery principalA bucket-policy statement on the Zaun delivery bucket for the IAM principal and external ID Glean provides. Lets GCE write export objects to the bucket

What lands in glean_events

  • chat.turns: Assistant prompts and responses (when not scrubbed).
  • searches: enterprise search queries and the datasources hit.
  • workflow_runs: Agent and Agent Builder executions.
  • llm_calls: underlying model calls, with model, provider, and token counts.
  • datasource_access: which connectors a user reached.

The GCE object format is docs-derived and not yet verified against live exports. Fields that do not map yet are kept raw until the mapping is confirmed against real objects; schema evolution backfills the rest.

GCE records carry an is_scrubbed flag. When Glean scrubbing is on, identity and prompt fields (user_email, user_query, response, the search query, document identifiers) are nulled at the source before delivery. The events still arrive, but without the content. If those columns are empty across the board, check your Glean scrubbing policy rather than the pipeline.


Perplexity Enterprise

Connector: perplexity · Auth: Push. Perplexity's Audit Logs webhook with a static Bearer token · Requires: Perplexity Enterprise with Audit Logs

Perplexity pushes audit events (query, answer, agentic task, file access, connector usage, login, admin, and credit events) to an HTTPS endpoint you configure. There is no admin REST API to poll; the webhook is the only mechanism. The Connections page generates the endpoint URL and the Authorization header value for this environment, and events land in a dedicated Perplexity table in the Zaun data lake, isolated from your other agent event tables and searchable in Lake.

Prerequisite: the data lake must be active for this environment. Activate it under Settings → Data Lake if you have not.

Not fully enabled yet. The ingest route for this connector currently defaults to off for every environment, pending a final verification pass against a real Perplexity webhook payload. An administrator must explicitly enable it for your environment before events flow. Setting up the webhook now is safe; it simply receives nothing until the route is enabled.

Privacy: this connector captures literal conversational content. Unlike the other AI agent connectors, which capture usage metadata and tool-call telemetry but not prompt or response text, query events here include the literal prompt a user typed, and answer events include the literal answer text, the model used, and cited sources. This is a full conversational content stream, not just telemetry. Be deliberate about who downstream is authorized to receive it.

Before you start

  • You need Perplexity Enterprise admin access.
  • Audit Logs on Perplexity Enterprise. Perplexity gates the feature to Enterprise organizations with 50 or more seats, or to any organization with at least one Enterprise Max seat.
  • The data lake must be active for this environment.
  • In Reagent you need the manage integrations permission.

Setup

  1. In Reagent, open Connections and click the Perplexity Enterprise tile.
  2. Copy the Endpoint URL. The Connections page generates it for this environment.
  3. Click Reveal & copy real value next to the Authorization header value. The copied value is Authorization=Bearer <token>.
  4. In the Perplexity Enterprise admin console, go to Settings → Audit Logs and open the webhook configuration. The exact location may vary with Perplexity's current UI.
  5. Paste the endpoint URL into Perplexity's Endpoint URL field.
  6. Paste Bearer <token>, the part after Authorization=, into the Authorization header value field. Perplexity has a single field for this; there is no separate header-name field. Drop the Authorization= prefix from the copied value, and keep the Bearer prefix rather than pasting the raw token.
  7. Save. The tile shows Pending first event until the first event lands, then Active.

Permissions

ItemPurpose
Perplexity Enterprise adminConfigure the Audit Logs webhook
Authorization header value (generated)Perplexity echoes it as a Bearer token on every delivery. Reagent uses it to authenticate each delivery

What Reagent receives

  • Query events: the literal prompt text.
  • Answer events: literal answer text, model or mode, cited sources.
  • Agentic task, file access and upload, connector usage, login, admin settings change, and credit events. These carry no prompt or answer content.

Perplexity's webhook auth is a static Bearer token, not per-payload signing. Treat the token with the same care as an API key and rotate it if the endpoint URL or token is ever exposed. Perplexity does not publish the source IPs used for audit-log delivery and warns against allowlisting its web-crawler ranges, so IP allowlisting is not currently possible.


Replit

Connector: replit · Auth: Push. WorkOS Log Streams, Generic HTTP webhook, with an X-API-Key custom header · Requires: Replit Enterprise; organization admin role

Replit's audit logs are powered by WorkOS. An org admin points a Log Stream at the endpoint the Connections page shows, and events arrive in near-real-time. Nothing to install; all configuration lives in Replit's settings. Events land in the replit_events table in the Zaun data lake, searchable in Lake.

This is Replit's admin and identity audit lane: who joined, moved, and left, who signed in, and what changed in org settings. Replit exposes no Agent-session telemetry export.

Prerequisite: the data lake must be active for this environment. Activate it under Settings → Data Lake if you have not.

Lands in: replit_events.

Before you start

  • Replit Enterprise. Audit logs are an Enterprise-exclusive feature enabled through Replit's sales or account team. Other tiers expose no audit surface.
  • You need the Replit organization admin role. Only org admins can configure the log stream.
  • The data lake must be active for this environment.
  • In Reagent you need the manage integrations permission.

Setup

  1. In Reagent, open Connections and click the Replit tile.
  2. Copy the Endpoint URL. The Connections page shows the endpoint and the X-API-Key value once Zaun has provisioned the Replit route for your environment.
  3. Click Reveal & copy real value next to the X-API-Key header value and copy it.
  4. In your Replit organization, open Settings → Advanced → Audit Logs.
  5. Click Set up SIEM integration (Replit's label for its external log-stream destination). It opens the WorkOS-powered log-stream portal.
  6. Choose the Generic HTTP (webhook) destination type.
  7. Paste the endpoint URL. WorkOS delivers events batched as JSON or NDJSON; both are accepted.
  8. In the destination's custom headers, add a header named X-API-Key with the value you copied. Every delivery is validated on this header; requests without it are rejected at the edge.
  9. Save the stream. Changes take effect immediately.
  10. Trigger an audit event: invite a user, change a role, or sign out and back in. WorkOS streams it within moments. The tile re-checks when opened and a background check runs hourly; it flips to Active on the first event.

Permissions

ItemPurpose
Replit organization adminConfigure the WorkOS log stream
X-API-Key header (generated)Authenticates each delivery to the endpoint

What lands in replit_events

  • User lifecycle: provisioning, deprovisioning, invitations, role changes (the joiner, mover, leaver trail).
  • Auth events: sign-ins and sessions with source IP and user agent.
  • Security-relevant settings changes: org configuration actions.
  • Each event follows the WorkOS audit schema (action, actor, targets, context, occurred_at). Anything not yet modeled as a column is preserved raw and backfilled by schema evolution.

Admin and identity audit lane only. No Replit Agent session content exists here or in any Replit export: no prompts, responses, tool calls, MCP usage, model IDs, token counts, or cost. Replit's usage and credits reporting is an in-product dashboard with no API.

Events exist only from the moment you configure the stream. There is no backfill, so the absence of events before that point proves nothing.

Replit does not publicly enumerate its action strings. The vocabulary your org actually emits is discovered from the events themselves, so re-check any filters keyed to exact action names when Replit ships new features.


Lovable

Coming soon. The Lovable tile is listed on the Connections page but has no connector behind it yet. This page will be updated when the connector ships.

On this page

Claude API Console AdminBefore you startSetupPermissionsWhat Reagent readsClaude Enterprise AnalyticsBefore you startSetupPermissionsWhat Reagent readsClaude Enterprise ComplianceBefore you startSetupPermissionsWhat Reagent readsChatGPTBefore you startSetupPermissionsWhat Reagent readsMicrosoft 365 Copilot and Copilot CoworkBefore you startSetupWhat Reagent readsCopilot StudioBefore you startSetupPermissionsWhat Reagent readsGeminiBefore you startSetupEnable Code Assist prompt and response loggingPermissionsWhat Reagent readsAWS BedrockBefore you startSetupPermissionsWhat Reagent readsAzure AI FoundryBefore you startSetupPermissionsWhat Reagent readsGoogle VertexBefore you startSetupPermissionsWhat Reagent readsAtlassian RovoBefore you startSetupPermissionsWhat Reagent readsMonitor and OptimizeAtlassian Guard DetectBefore you startSetupPermissionsWhat Reagent readsSnowflake Cortex AIBefore you startSetupPermissionsWhat Reagent readsServiceNow AI AgentsBefore you startSetup (Basic Auth)Setup (OAuth2 Client Credentials)PermissionsWhat Reagent readsSlack AI Apps & AgentsBefore you startSetupPermissionsWhat Reagent readsSlack Audit LogsBefore you startSetupPermissionsWhat Reagent readsSlack Response ActionsBefore you startSetupPermissionsWhat Reagent sendsSalesforce AgentforceBefore you startSetupPermissionsWhat Reagent readsDevinBefore you startSetupPermissionsWhat Reagent readsGleanBefore you startSetupPermissionsWhat lands in glean_eventsPerplexity EnterpriseBefore you startSetupPermissionsWhat Reagent receivesReplitBefore you startSetupPermissionsWhat lands in replit_eventsLovable