Skip to main content

Overview

Bolna is an open-source voice AI framework and cloud platform designed for Indian linguistic environments, code-switching (Hinglish), and regional real estate terminology (Crores, Lakhs, Vastu, BDA Katha, Possession). In BrokerOS, the Bolna integration is implemented in integrations/voice/agents/bolna/src/index.ts under the Turborepo workspace package @brokeros/int-agent-bolna. BrokerOS administrators configure Bolna directly within the Web UI at Dashboard -> Marketing -> Voice -> Settings. All credentials are encrypted with AES-256-GCM and stored in PostgreSQL (VoiceAgentIntegration). Bolna functions both as an API-managed service and as a self-hosted private container within your own cloud infrastructure (AWS VPC or GCP) for strict data sovereignty.

Architecture and Dispatch Sequence

The Bolna integration implements the IVoiceAgentProvider contract from @brokeros/types.

Step 1: Obtain Credentials from Bolna

  1. Log into your account at bolna.dev.
  2. Navigate to Settings -> API Tokens.
  3. Create a new token with read/write access and copy the generated key.
  4. In the Agents tab, create or inspect your target agent.

Step 2: Connect in the BrokerOS Web Dashboard

In your BrokerOS dashboard:
  1. Navigate to Dashboard -> Marketing -> Voice -> Settings.
  2. Select the Gateways & Voice Platforms tab (/dashboard/marketing/voice/settings?tab=providers).
  3. Click the AI Voice Platforms sub-tab.
  4. Click Add Platform and select Bolna AI.
  5. Fill in the modal connection fields:
  1. Click Save & Verify Engine. BrokerOS verifies the key with GET https://api.bolna.ai/user/me, encrypts the credentials via AES-256-GCM, and saves them in VoiceAgentIntegration.

Integration Implementation Details

The Bolna client and dispatcher are located in integrations/voice/agents/bolna/src/index.ts and integrations/voice/agents/bolna/src/bolna-dispatcher.ts.

Live Verification Engine

When tested in the UI, BolnaAgentClient.validateCredentials() executes an authenticated health check:

Outbound Call Dispatch and Overrides

The dispatcher resolves configured agents dynamically and injects lead attributes and campaign scripts into user_data:

Trial Account Guard

If testing on a Bolna trial account, the dispatcher intercepts the trial restriction error and surfaces guidance in the BrokerOS interface: