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 2k+ 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 up at vexa.ai/get-started 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

Pay only for
what you use

Self-host for free, or let us run it for you. Simple usage-based pricing—no per-seat tax.

Free
$0

Apache 2.0 · Self-host forever

Best for teams who need full control

View on GitHub
Full platform — no limits
Your infrastructure, your data
Google Meet + Teams + Zoom
Docker Compose / K8s deploy
REST API + WebSockets + Dashboard
Community support
Individual
$12/mo

1 bot · Flat monthly · Everything included

Best for personal use — 1 meeting at a time

No credit card required

1 concurrent bot
Google Meet + Teams + Zoom
Real-time transcription included
Audio capture + webhooks
12-month audio storage
REST API + WebSockets + Dashboard
Pay-as-you-go
$0.30/hr

Bot infrastructure · +$0.20/hr transcription

Best for teams & API builders · $5 free credit

No credit card required

Unlimited bots
Google Meet + Teams + Zoom
Transcription add-on: +$0.20/hr
Audio capture + webhooks
12-month audio storage
REST API + WebSockets + Dashboard
Enterprise

On-premises, OpenShift, Kubernetes. Dedicated support + SLA.

Book a call
Transcription API

For self-hosted Vexa bot users. Transcription only — $0.002/min.

Get started
Bot: Vexa $0.30/hr vs Recall.ai $0.50/hr —40% cheaper

Frequently asked questions

What's included in the $0.30/hr Bot Service?

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 ($0.50/hr total).

Which plan is right for me?

Choose Individual ($12/mo) if you need one bot for personal use—it includes real-time transcription, storage, and the Dashboard. Choose Pay-as-you-go ($0.30/hr) if you need multiple simultaneous bots or want to pay only for what you use—ideal for teams and API integrations. Both plans include Google Meet and Microsoft Teams support. Self-host for free from GitHub if you need full data control.

How does the free credit work?

Every new account gets $5 in free bot credit—no credit card required. That covers ~16 hours of bot time at $0.30/hr. 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?

The Individual plan ($12/mo) is for single users who need one concurrent bot with unlimited meetings. It includes real-time transcription, recording, storage, REST API, WebSockets, and the UI Dashboard—everything you need for personal meeting intelligence. It supports Google Meet and Microsoft Teams, with Zoom coming soon.

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