HubSpot · CRM-native · Apache 2.0

HubSpot
Meeting
Transcription

Auto-transcribe every customer meeting from your HubSpot pipeline. Drop a bot into Google Meet, Microsoft Teams, or Zoom from a HubSpot Workflow — transcripts and action items attach to the contact and deal record 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 HubSpot

Vexa fits into HubSpot via the Workflows + Webhook actions you already have: a HubSpot Workflow fires Vexa when a meeting is booked, and Vexa's webhook sends transcript chunks back into HubSpot Notes / Custom Properties on the contact and deal records. Open-source, Apache-2.0 — no third-party SaaS in the audio path. Cheaper than Gong/Chorus integrations, fully under your control, and works across the entire HubSpot deal pipeline.

  • Trigger Vexa bots from HubSpot Workflow webhooks — no third-party connector required
  • Auto-attach transcripts to contact, deal, and meeting records via the HubSpot CRM API
  • Pair with HubSpot AI / Make / n8n to extract action items, sentiment, and competitive intel
HubSpot Workflow — POST to Vexa, then write back transcript to deal record
# 1. HubSpot Workflow trigger
#    Enrollment: Deal property "Meeting URL" is known
#    OR: Engagement = scheduled meeting

# 2. HubSpot Workflow action: Send webhook (POST)
URL:     {{env.VEXA_API_BASE}}/bots
Method:  POST
Headers:
  X-API-Key:   {{env.VEXA_API_KEY}}
  Content-Type: application/json
Payload:
  {
    "platform":          "google_meet",
    "native_meeting_id": "{{deal.meeting_code}}",
    "transcribe_enabled": true,
    "transcription_tier": "realtime",
    "metadata": { "hubspot_deal_id": "{{deal.id}}" }
  }

# 3. Catch transcript chunks (separate webhook endpoint)
#    Configure Vexa webhook to your endpoint
#    Use deal_id from metadata to PATCH the HubSpot deal record:

curl -X PATCH https://api.hubapi.com/crm/v3/objects/deals/$DEAL_ID \
  -H "Authorization: Bearer $HUBSPOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "properties": { "vexa_transcript": "..." } }'

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

HubSpot integration FAQ

What RevOps teams ask before wiring Vexa into HubSpot.

Is there a Vexa app in the HubSpot Marketplace?

Not yet — a dedicated HubSpot app is on the roadmap. Today integration is via HubSpot Workflows + webhooks (which are first-class in HubSpot since Operations Hub). The pattern works for every customer we've seen, end-to-end inside HubSpot's native automation tooling.

How is this different from HubSpot's native call recording?

HubSpot's native call recording works for HubSpot-dialer calls only (Pro+ plan, with limits) and produces audio + post-meeting transcript. Vexa works for Google Meet, Teams, and Zoom — the platforms most teams actually meet on — and produces real-time transcripts you can act on while the call is happening (live coaching, AI agents).

How do transcripts attach to the deal / contact record?

Pass the HubSpot deal_id (or contact_id) in the metadata field when you create the bot. When transcripts arrive at your webhook, you have the ID to PATCH a Note or Custom Property on the deal via the HubSpot CRM API. Most customers create one transcript note per meeting plus a structured "action_items" custom property.

Can the workflow fire automatically when a meeting is booked via HubSpot Meetings?

Yes — set the Workflow trigger to "Engagement created where type = MEETING" or filter on a specific meeting type. Extract the meeting URL from the engagement and use it as native_meeting_id in the Vexa POST.

What about Gong / Chorus alternatives — is this it?

Yes, this is the open-source path. Vexa transcribes + you build the coaching layer (or use a HubSpot AI step / OpenAI / Anthropic via webhook) to extract scorecards, talk ratios, and follow-ups. Order-of-magnitude cheaper than Gong / Chorus seats, all data stays in HubSpot + Vexa.

Common patterns

What teams build with Vexa + HubSpot

Three patterns RevOps and sales teams build inside HubSpot with Vexa.

01Pattern 1

Auto-attach call transcripts to deal records

Scenario

Sales reps run every call on Google Meet / Teams / Zoom. You want each transcript auto-attached to the relevant HubSpot deal — no copy-paste, no missed follow-ups.

What you get

HubSpot Workflow fires Vexa when the deal advances to "Meeting Scheduled". Transcripts land on the deal Notes tab automatically. Reps focus on selling; deal records are always current.

02Pattern 2

AI-extracted action items and next steps

Scenario

You want HubSpot to surface action items, mentioned competitors, and next steps from every call — without paying for Gong / Chorus seats.

What you get

Transcript webhook → AI extraction step (HubSpot AI Action or OpenAI / Anthropic via Make / n8n) → PATCH custom properties on the deal: next_step, action_items, mentioned_competitor. Build the coaching dashboard inside HubSpot.

03Pattern 3

Engagement scoring from meeting transcripts

Scenario

Marketing wants to score contact engagement based on real meeting content, not just opens and clicks.

What you get

Transcript chunks feed an engagement-scoring pipeline (custom or HubSpot AI). Contacts get a numeric engagement_score property updated per meeting. MQL / SQL definitions can incorporate real conversational signals.

Quickstart

Wire HubSpot + Vexa in 5 minutes

No Marketplace app required. HubSpot Workflows + Webhooks 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 HubSpot Workflow

    Trigger on engagement = meeting (or your custom trigger). Add a Send Webhook action.

  3. 3

    POST to Vexa /bots

    Use the payload template on the right. Pass HubSpot deal_id in metadata so transcripts can be routed back to the right record.

  4. 4

    Catch transcripts

    Stand up a webhook endpoint (your server, or a service like Pipedream / Hookdeck). Use the deal_id from metadata to attach transcripts via the HubSpot CRM API.

  5. 5

    Extract action items

    Optional but common: route transcript chunks through HubSpot AI Action, OpenAI, or Anthropic to extract structured action items + next steps.

How it works under the hood

HubSpot architecture

HubSpot Workflows orchestrate the trigger; Vexa drops the meeting bot and produces transcripts; your webhook endpoint routes them back to the right HubSpot record via the CRM API. The audio path stays in Vexa (hosted or self-hosted). No third-party Gong/Chorus-style SaaS in the loop.

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 HubSpot in 5 minutes.

No credit card on Vexa side, no Marketplace approval wait. Get an API key, paste the Workflow webhook, transcripts land on the deal record.

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