Salesforce · CRM-native · Apache 2.0

Salesforce
Call
Transcription

Auto-transcribe every meeting from your Salesforce pipeline. Trigger a bot via Flow or Apex Callout for Google Meet, Microsoft Teams, or Zoom — transcripts and action items attach to the Opportunity, Contact, and Account records automatically.

No credit card required
Starred by 2.8k developers on GitHub
vexa · live transcript
LIVE

Waiting for meeting participants…

Connected · Google Meet
Teams
Meet
Vexa
🦀
Real-time Meeting Data for AI

Feed meetings into your AI. Live.

AI needs data, and the best data is real-time. Vexa streams transcripts, audio, and context from any meeting straight to your models and agents — as it happens.

Built for Salesforce

Vexa fits into Salesforce via Apex Callouts or Flow HTTP Callouts: a Flow fires Vexa when a meeting is scheduled on an Opportunity, transcripts arrive via Platform Events back into Salesforce, and your downstream Flow / Apex attaches them to the right records. Apache 2.0 — same audio path stays in your Vexa instance (hosted or self-hosted) while Salesforce stays the system of record. Cheaper than Gong / Chorus enterprise contracts, with full control over how transcripts are processed and where they land.

  • Trigger Vexa bots from Salesforce Flow / Apex — no third-party AppExchange connector required
  • Auto-attach transcripts to Opportunity, Contact, Account, and custom objects
  • Pair with Einstein / Agentforce or external AI to extract MEDDIC, BANT, or your custom call scorecards
Salesforce Apex — POST to Vexa /bots when an Opportunity meeting is scheduled
public class VexaBotDispatcher {

  public static void dispatch(Id opportunityId, String meetingUrl) {
    Opportunity opp = [SELECT Id FROM Opportunity WHERE Id = :opportunityId];

    HttpRequest req = new HttpRequest();
    req.setEndpoint('callout:Vexa_API/bots');  // Named Credential
    req.setMethod('POST');
    req.setHeader('Content-Type', 'application/json');

    Map<String, Object> body = new Map<String, Object>{
      'platform'           => 'google_meet',
      'native_meeting_id'  => extractMeetingCode(meetingUrl),
      'transcribe_enabled' => true,
      'transcription_tier' => 'realtime',
      'metadata'           => new Map<String, String>{
        'opportunity_id' => opportunityId,
        'org_id'         => UserInfo.getOrganizationId()
      }
    };
    req.setBody(JSON.serialize(body));

    HttpResponse res = new Http().send(req);
    // Persist bot_id from response to Opportunity custom field for later correlation
  }

  // Companion: REST resource at /services/apexrest/vexa-transcripts
  // receives Vexa webhook POSTs, uses metadata.opportunity_id to attach the
  // transcript chunk to the Opportunity as a Note or Custom Object record.
}

Set $API_BASE to https://api.cloud.vexa.ai (hosted) or http://localhost:8056 (self-host). Get $API_KEY from /get-started.

Salesforce integration FAQ

What sales-ops and admin teams ask before wiring Vexa into Salesforce.

Is there a Vexa app on the Salesforce AppExchange?

Not yet — a dedicated AppExchange package is on the roadmap. Today integration is via Apex Callouts (or Flow HTTP Callouts in low-code orgs), backed by a Named Credential pointing at Vexa. The pattern works inside every Salesforce edition that allows external callouts.

How is this different from Salesforce Einstein call coaching / Sales Cloud Einstein Conversation Insights?

Einstein Conversation Insights is a paid Salesforce add-on that bundles call recording + transcription + scoring in Salesforce's own pipeline. Vexa is the open-source path: you transcribe meetings yourself (huge cost saving at scale), and you control the AI / scoring layer — use Einstein, Agentforce, OpenAI, Anthropic, or build your own scorecards.

How do transcripts land back in Salesforce?

Two options. (1) Expose a custom Apex REST resource (e.g. /services/apexrest/vexa-transcripts) and configure Vexa's webhook to POST to it. Use the opportunity_id from metadata to attach. (2) Use a middleware webhook (your server, Mulesoft, Make, n8n) that processes chunks and pushes to Salesforce via the standard CRM API.

Can the Flow trigger on a calendar event from Outlook / Google Calendar synced to Salesforce?

Yes — most orgs already sync calendar events as Salesforce Events. Build a Flow with trigger "Event created where SubjectMatches" or similar, extract the meeting URL from the Event Description / Location field, fire the Apex / HTTP Callout.

What about Gong / Chorus alternatives — is this how teams build them on Salesforce?

Yes. Vexa transcribes meetings; you build the call-scoring + coaching layer using Einstein / Agentforce, an external LLM, or custom Apex. Pattern: transcripts land on the Opportunity, an LLM step produces a MEDDIC / BANT scorecard, reviewers see it on a custom dashboard. Tiny fraction of Gong/Chorus enterprise pricing.

Common patterns

What sales orgs build with Vexa + Salesforce

Three patterns RevOps and sales-leadership teams build inside Salesforce with Vexa.

01Pattern 1

Auto-attach transcripts to Opportunity records

Scenario

AEs run every customer meeting on Meet / Teams / Zoom. You want each transcript automatically on the Opportunity record — no manual note entry, no missed touches.

What you get

Flow fires Vexa when the meeting Event is created with the Opportunity linked. Transcripts arrive via webhook and land on the Opportunity as a Note (or custom Transcript object). AEs spend more time selling; managers always see the latest customer context.

02Pattern 2

MEDDIC / BANT scorecards from real call content

Scenario

Sales managers want every Opportunity scored on MEDDIC (or BANT, ICEDLF, etc.) using actual call content — without seat-based Gong / Chorus contracts.

What you get

Transcript webhook → AI step (Einstein, Agentforce, or external LLM) extracts MEDDIC dimensions → updates custom fields on the Opportunity: economic_buyer_identified, metrics_quantified, pain_points. Dashboards and forecasts use the structured signal.

03Pattern 3

Activity logging + sales coaching at scale

Scenario

You manage 50+ AEs and want every call coached, with specific timestamp callouts that reviewers can jump to.

What you get

Transcripts attach to a custom Coaching Review object linked to the Opportunity. Reviewers see flagged moments + their context. Build the review workflow in Salesforce, not in a separate SaaS.

Quickstart

Wire Salesforce + Vexa in 5 minutes

No AppExchange package required. Apex Callouts + Named Credentials cover every pattern.

  1. 1

    Get a Vexa API key

    Sign in at vexa.ai/signin with Google and copy your key from your account page — free credit, no card. Or mint one locally on your self-hosted gateway.

  2. 2

    Create a Named Credential

    In Salesforce Setup → Named Credentials, create Vexa_API pointing at your Vexa gateway with X-API-Key in the header.

  3. 3

    Build the Apex / Flow

    Use the Apex sample on the right (or a Flow HTTP Callout for low-code orgs). Trigger on Event creation linked to an Opportunity.

  4. 4

    Stand up the inbound REST resource

    Apex REST resource at /services/apexrest/vexa-transcripts to receive webhook POSTs. Use the opportunity_id from metadata to route chunks to the right record.

  5. 5

    Add the AI layer (optional)

    Pipe transcripts through Einstein, Agentforce, OpenAI, or Anthropic to extract scorecards, action items, and competitive intel into custom Opportunity fields.

How it works under the hood

Salesforce architecture

Salesforce Flow / Apex is the orchestration layer; Vexa drops the bot and produces transcripts; an Apex REST resource (or middleware) routes them back to Salesforce records via standard SObject DML. Audio stays in Vexa's pipeline. AI scoring layer is your choice — Einstein, Agentforce, or any external LLM.

Pipeline

bot pod audio capture whisper-svc transcript chunks REST / WebSocket
Pricing

A seat, an hour,
or free

A seat for your agent. An hour for what you build. Free when you run it yourself.

Open source
$0

Apache 2.0 licensed open source · self-host forever

Best for teams who need full control

View on GitHub
Full platform on your infrastructure
Google Meet + Teams + Zoom
Real-time transcription, self-hosted
Your storage, your data
MCP + REST API + WebSockets + Dashboard
Community support
Individual
$12/seat/mo

Real-time meeting data, directly in your agent (MCP)

Connect agent
Your agent, via MCP
Google Meet + Teams + Zoom
Real-time transcription included
12-month audio storage
MCP
Build on Vexa
$0.30/bot-hr

The API · +$0.20/hr transcription · $0.50/hr all-in

Best for builders — pay as you go

Your product, via the API — unlimited bots
Google Meet + Teams + Zoom
Real-time transcription +$0.20/hr
12-month audio storage
REST API + WebSockets + webhooks + Dashboard
Enterprise
Let’s talk

Vexa Delivery: self-hosted, self-updating, in your own cloud

Best for teams running Vexa in production

Self-hosted and self-updating (Vexa Delivery)
Google Meet + Teams + Zoom
Real-time transcription included
Storage to your retention policy
Everything, plus security & data-residency review
Dedicated support + SLA · Volume pricing

Frequently asked questions

What's included in Build on Vexa?

The base rate covers bot infrastructure: audio capture, webhooks, and 12 months of audio storage across Google Meet, Microsoft Teams, and Zoom. Add real-time transcription for +$0.20/hr, so $0.50/hr all-in.

Which plan is right for me?

Two tracks, by the door you come in through. Individual ($12/seat/mo) is for one person and their agents—MCP to connect agents, one concurrent bot, unlimited meetings. Build on Vexa ($0.30/bot-hr) is for products built on the API—pay as you go, unlimited bots. Self-host for free from GitHub if you need full data control, and talk to us for Enterprise.

How does the free credit work?

Every new account gets $2 in free bot credit—no credit card required. That covers ~6 hours of bot time at $0.30/hr. Top-ups start at $10 — Stripe charges a fixed fee per payment, so smaller amounts would mostly be fees; automatic top-ups follow the same minimum. All features are available: audio capture, transcription, real-time data, and full API access.

Can I self-host Vexa?

Yes. Vexa is Apache 2.0 licensed and fully self-hostable. Deploy with Docker Compose, Kubernetes, or OpenShift on your own infrastructure with complete data sovereignty.

How does Vexa compare to Recall.ai?

Vexa is open source, self-hostable, and up to 40% cheaper. Bot: $0.30/hr vs Recall.ai ~$0.50/hr. Transcription add-on: $0.20/hr vs ~$0.15/hr. See our detailed comparison.

What's the Individual plan for?

Individual is the seat: $12 per seat per month for one person and the agents they connect over MCP. One concurrent bot, unlimited meetings, real-time transcription, recording, storage, REST API, WebSockets, and the UI Dashboard. It supports Google Meet, Microsoft Teams and Zoom.

Ready when you are

Capture every call.
Attached to Salesforce in 5 minutes.

No credit card on Vexa side, no AppExchange approval wait. Get an API key, build the Apex / Flow, transcripts land on the Opportunity.

Apache 2.0 · Self-host or cloud · No credit card required