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.
Credential Management
Section titled “Credential Management”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.
Microsoft 365 (Exchange / Graph API)
Section titled “Microsoft 365 (Exchange / Graph API)”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) |
Attio CRM
Section titled “Attio CRM”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.
Google Slides
Section titled “Google Slides”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.
Azure SQL
Section titled “Azure SQL”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.
