Skip to content

Integrations

Mansa connects to four external services for data and communication. The runtime platform itself (Anthropic Claude Managed Agents) is covered separately under BKR Agent, since it is the substrate the system runs on, not a peripheral integration.

Each integration below is mediated by a dedicated layer (a skill, a direct SDK call, or the BKR Email API) so that changes to one service don’t ripple across the agent codebase.

Sensitive credentials for the integrations below are stored in Anthropic’s Credential Vaults, a secure secrets store built into the Claude Managed Agents platform. Agents never see the actual keys at runtime; they see only placeholders. Anthropic facilitates the authenticated call on the agent’s behalf.

This means BKR Capital’s API keys and secrets are never exposed in agent memory, session logs, or context windows.

Used by: BKR Email API (which agents call via skills)
Purpose: Read, draft, send, and label emails in the BKR Capital shared mailbox
Integration: Microsoft Graph API via MSAL (Microsoft Authentication Library)

The BKR Email API acts as the sole integration point with Microsoft 365. Agents never call Graph directly. They call the Email API via skills, which handles OAuth token management, request retries, and error translation.

Authentication: Azure AD app registration with client credentials flow, registered in BKR Capital’s Azure tenant. The Email API credentials are stored in Anthropic’s Credential Vaults and injected at runtime.

Configuration (Email API environment):

Variable Description
AZURE_TENANT_ID BKR Capital’s Azure AD tenant ID
AZURE_CLIENT_ID The registered app’s client ID
AZURE_CLIENT_SECRET The registered app’s client secret
MAILBOX_ADDRESS Shared mailbox address (pipeline@bkrcapital.ca)
SENDER_ADDRESS Outbound sender (mansa@bkrcapital.ca)

Used by: BKR Agent (Email Processor, Meeting Agent)
Purpose: Look up existing companies and contacts, create and update records, manage pipeline stages, assign tasks
Integration: Official Attio MCP (Model Context Protocol) server

Agents connect to Attio via the official Attio MCP server. The OAuth credentials (client ID, client secret, and refresh token) are stored in Anthropic’s Credential Vaults. At runtime, Anthropic uses those stored credentials to obtain an access token and facilitates communication with Attio on the agent’s behalf. Agents never handle any credentials directly.

Objects written to:

Attio Object What Mansa Does
Companies Creates new records for inbound leads; updates existing ones with extracted data
People Creates or updates contact records for founders
List entries Adds companies to the deal pipeline list; updates stage per meeting decisions
Notes Attaches extracted deal context and meeting decision reasoning to company records
Tasks Creates follow-up tasks assigned to specific team members after meeting decisions

Schema cache: A snapshot of the current Attio field structure is kept in the patterns.md file inside the BKR Attio Memory memory store. Agents read this at the start of each run to populate records correctly without querying the Attio schema every time. The cache is updated continuously by the agents as they discover new fields, and compacted by the Dreamer weekly.

Used by: BKR Agent (Email Processor, via retrieve-google-slides-deck skill)
Purpose: Fetch and extract text from Google Slides pitch decks linked in emails
Integration: Google Slides API (read-only)

When an email contains a Google Slides link, the Email Processor calls the retrieve-google-slides-deck skill, which downloads the deck as a PDF using the Google Slides /export/pdf endpoint. The resulting PDF is processed alongside any other attachments.

Used by: Mansa coordinator (reads and writes via Azure Function API), BKR Capital team (read access for analytics)
Purpose: Tracks processed emails to prevent reprocessing, and stores session and submission records for analytics
Integration: Azure Function API (skill-based). Mansa calls the API as a skill with no direct database access.

The database is hosted on BKR Capital’s Azure account. All reads and writes go through a dedicated Azure Function API, keeping the database behind a controlled interface. There is no direct connection string in the agent runtime.

Key table:

Table Contents
processed_emails One row per processed email (classification, Attio IDs, agent status, draft link)

Staging: The staging environment uses Neon for a lightweight Postgres-compatible database during development and testing.