Get Your Data
Read.ai - How to Get Your Meeting Data
A practical guide to getting your meeting data out of Read.ai - covering webhook configuration, payload structure, automation integrations, and how to route structured meeting intelligence into your downstream systems.
What you'll learn
- What meeting data Read.ai pushes via webhooks - transcripts, summaries, action items, topics, and participants
- How to configure webhooks - endpoint setup, payload format, and trigger behaviour
- Two extraction patterns: webhook receiver and Zapier-triggered automation
- How to connect Read.ai data pipelines to Zapier, n8n, and Make
- Advanced use cases - standup scoring, meeting culture analytics, knowledge transfer evaluation, and meeting intelligence platforms
Data
What Data You Can Extract From Read.ai
Read.ai captures far more than just a recording. Every meeting produces a structured payload delivered via webhook - the full transcript with speaker attribution, an AI-generated summary, extracted action items, key questions, topic breakdowns, and participant metadata.
Fields included in webhook payloads
Webhook Access
How to Get Data via Read.ai Webhooks
Read.ai delivers meeting data through outbound webhooks. The workflow is: configure a webhook URL in your Read.ai settings, deploy an endpoint to receive payloads, and process the structured data as meetings complete.
Configure your webhook URL
Navigate to app.read.ai/analytics/integrations/webhooks in your Read.ai dashboard. Add the URL of the endpoint where you want to receive meeting data. This must be an HTTPS endpoint that returns a 200 response.
Webhook URL: https://your-server.com/webhooks/readai # Read.ai will POST to this URL when meetings complete # Your endpoint must respond with HTTP 200
Deploy a webhook receiver
Build an endpoint that accepts POST requests with JSON payloads. The receiver should validate the incoming data, extract the transcript and metadata, and return a 200 OK promptly to acknowledge receipt. Process the data asynchronously to avoid timeout issues.
// Example: Express.js webhook receiver
app.post('/webhooks/readai', async (req, res) => {
const { session_id, transcript, summary,
action_items, key_questions,
topics, participants } = req.body
// Acknowledge receipt immediately
res.status(200).json({ received: true })
// Process asynchronously
await processWithSemarize(session_id, transcript)
})The payload includes session_id as a unique identifier, the full transcript with speaker names and timestamps, an AI summary, structured action_items, key_questions, topics, and a participants list.
Parse the webhook payload
Extract the transcript and meeting context from the JSON payload. The transcript includes speaker-attributed segments with timestamps. Reassemble into a format suitable for your analysis pipeline - either as plain text with speaker labels or as structured utterance data.
// Example webhook payload structure
{
"session_id": "abc-123-def-456",
"transcript": [
{ "speaker": "Alice", "timestamp": "00:01:23",
"text": "Let's review the Q1 results..." },
{ "speaker": "Bob", "timestamp": "00:02:45",
"text": "Revenue came in 12% above target..." }
],
"summary": "Team reviewed Q1 results...",
"action_items": [
{ "text": "Update forecast model", "assignee": "Bob" }
],
"key_questions": ["What drove the outperformance?"],
"topics": ["Q1 results", "forecast", "hiring"],
"participants": ["Alice", "Bob", "Carol"]
}Use session_id as a deduplication key. If your endpoint receives the same payload twice (due to webhook retries), skip reprocessing by checking against stored session IDs.
Trigger behaviour and endpoint security
When webhooks fire
Read.ai fires the webhook when a meeting ends and processing completes. You receive data for meetings where you have viewer access. There is no filtering at the source - all qualifying meetings trigger the webhook. Build filtering logic in your receiver if you only want to process certain meeting types.
Securing your endpoint
Always use HTTPS. Consider adding a secret token to your webhook URL path (e.g., /webhooks/readai/sk_abc123) and validating it on receipt. Use a queuing service to buffer payloads if your processing pipeline has variable latency. Rate-limit your endpoint to prevent abuse.
Patterns
Key Extraction Flows
There are two practical patterns for getting meeting data out of Read.ai. Since Read.ai is webhook-only (no REST API), both patterns rely on receiving pushed data rather than pulling it on demand.
Direct Webhook Receiver
Real-time processing as meetings complete
Deploy a webhook endpoint (serverless function, Express server, or cloud function) that accepts POST requests at a stable HTTPS URL
Configure the webhook URL in Read.ai at app.read.ai/analytics/integrations/webhooks. Verify with a test event if available
When a meeting ends, Read.ai POSTs the full payload - transcript, summary, action items, topics, participants - to your endpoint
Acknowledge receipt immediately with a 200 response. Queue the payload for async processing to avoid timeouts
Extract the transcript from the payload and route it to your analysis pipeline - Semarize, your database, or both
Zapier-Triggered Automation
No-code webhook processing
Create a Zap with Read.ai as the trigger app. Select the "New Meeting" trigger event and connect your Read.ai account
Read.ai's native Zapier integration fires when a meeting completes, passing the transcript, summary, and metadata into the Zap
Add a Webhooks by Zapier action to POST the transcript to Semarize's API for structured analysis
Add a Formatter step to extract the scored signals from the Semarize response - scores, flags, and extracted insights
Route the structured output to your destination - CRM, database, Slack, or spreadsheet
Automation
Send Read.ai Data to Automation Tools
Once you're receiving meeting data via webhooks, the next step is routing transcripts through Semarize for structured analysis and into your downstream systems. Below are end-to-end example flows - each showing the full pipeline from Read.ai webhook through Semarize evaluation to CRM, Slack, or database output.
Read.ai → Zapier → Semarize → CRM
Use Read.ai's native Zapier integration to trigger on new meetings, send the transcript to Semarize for structured analysis, then write the scored output - signals, flags, and evidence - directly to your CRM.
Setup steps
Create a new Zap. Choose Read.ai as the trigger app and select "New Meeting Completed" as the event. Connect your Read.ai account.
The trigger automatically provides the transcript, summary, action items, and participants. No separate API call needed - Read.ai pushes everything through the Zapier integration.
Add a "Webhooks by Zapier" Action (Custom Request). Set method to POST, URL to https://api.semarize.com/v1/runs. Add your Semarize API key as a Bearer token. In the body, set kit_code to your Kit, mode to "sync", and map the transcript text into input.transcript.
Add a Formatter step to extract individual brick values from the Semarize JSON response - effectiveness_score, decision_count, action_items, etc.
Add a Salesforce (or HubSpot, Sheets, etc.) Action to write the extracted scores and signals to your CRM record or custom meeting database.
Test each step end-to-end with a real meeting, then turn on the Zap.
Read.ai → n8n (Webhook) → Semarize → Database
Use n8n's built-in Webhook node as your Read.ai webhook receiver. When a meeting completes, Read.ai POSTs the payload directly to n8n, which extracts the transcript, sends it to Semarize, and writes the structured output to your database.
Setup steps
Add a Webhook node as the workflow trigger. Set the method to POST and note the generated webhook URL. This is the URL you'll configure in Read.ai.
In Read.ai, go to app.read.ai/analytics/integrations/webhooks and add the n8n webhook URL. Test the connection if available.
Add a Code node (JavaScript) to extract the transcript from the webhook payload. Join the transcript segments into a single string with speaker labels and timestamps.
Add an HTTP Request node to send the transcript to Semarize. Set method to POST, URL to https://api.semarize.com/v1/runs. Add your API key as a Bearer token. Set kit_code, mode to "sync", and map the transcript into input.transcript.
Add a Code node to extract the brick values from the Semarize response - scores, flags, extracted insights, evidence spans.
Add a Postgres (or MySQL / HTTP Request) node to write the structured output. Use session_id as the primary key for upserts to prevent duplicates.
Add an optional IF node to check for specific signals (e.g., low scores) and branch to a Slack notification for flagged meetings.
Activate the workflow. The first real meeting will trigger the full pipeline end-to-end.
Read.ai → Make (Webhook) → Semarize → CRM + Slack
Use Make's Custom Webhook module to receive Read.ai payloads directly. Parse the transcript, send it to Semarize for structured analysis, then use a Router to branch the scored output - alert on concerning signals via Slack and write all intelligence to your CRM.
Setup steps
Create a new Scenario. Add a Custom Webhook module as the trigger. Make generates a unique URL - copy this URL for your Read.ai configuration.
In Read.ai, navigate to app.read.ai/analytics/integrations/webhooks and add the Make webhook URL. Run a test meeting to trigger the first payload and let Make learn the data structure.
Add a JSON Parse module to extract the transcript array. Use a Text Aggregator or Set Variable module to join transcript segments into a single string with speaker labels.
Add an HTTP module to send the transcript to Semarize. Set URL to https://api.semarize.com/v1/runs, add your Bearer token, and set kit_code, mode to "sync", and input.transcript from the previous step. Parse the response as JSON.
Add a Router module. Define Branch 1 with a filter: bricks.effectiveness_score.value less than 50 (or your threshold). Leave Branch 2 as a fallthrough (no filter).
On Branch 1, add a Slack module to alert your team when meeting quality is low. Map the score, session ID, and key findings into the message.
On Branch 2, add a CRM module to write all brick values (score, decisions, topics, action items) to your account or meeting record.
Activate the Scenario. Monitor the first few meetings in Make's execution log to verify end-to-end flow.
What you can build
What You Can Do With Read.ai Data in Semarize
Semarize enables custom effectiveness scoring, organisational meeting health analytics, knowledge transfer evaluation, and the ability to build your own meeting intelligence platforms on structured conversation signals.
Automated Standup Effectiveness Scoring
Meeting Quality Analysis
What Semarize generates
Your engineering team runs daily standups recorded by Read.ai. Summaries are useful, but the real question is: are these standups actually effective? As each standup transcript arrives via webhook, pipe it into Semarize. A standup effectiveness kit scores each for blocker identification rate, decision velocity, scope containment, and follow-up clarity. A monthly report shows that Tuesday standups have 2.3x more scope drift than other days. The team adjusts their Tuesday format.
Learn more about RevOpsMeeting Culture Health Monitor
Organisational Analytics
What Semarize generates
Your COO suspects meeting culture is degrading — too many meetings, too few decisions. Quantifying organisational meeting health requires structured scoring across every conversation. Set up a webhook receiver that pipes every Read.ai transcript into Semarize. A meeting culture kit scores every meeting for decision density, participant necessity, energy trajectory, and meeting type classification. After 3 months of data, the dashboard shows: 34% of meetings produce zero decisions, "status update" meetings have 4.2 unnecessary attendees on average, and energy drops 40% after minute 35. The executive team cuts 25% of recurring meetings.
Learn more about Customer SuccessMulti-Team Knowledge Transfer Scoring
Transfer Quality Analysis
What Semarize generates
Your org runs cross-functional knowledge transfers — product to sales, engineering to support, leadership to new hires. Recording these sessions is step one; measuring whether knowledge was actually transferred is the real challenge. Run every knowledge transfer transcript through a transfer quality kit. Semarize evaluates concept coverage, comprehension signals, accuracy verification, and retention indicators. After scoring 80 transfers, the data shows that product-to-sales transfers cover only 62% of required concepts. The product team restructures their enablement sessions.
Learn more about QA & ComplianceCustom Meeting Intelligence Platform
Structured Meeting Database
What Semarize generates
A product ops lead vibe-codes a Supabase-backed app that receives Read.ai webhooks, runs each transcript through Semarize, and stores structured output. The app builds a meeting intelligence database: every meeting across the org is classified, scored, and searchable. Product meetings get scored for feature decision quality; sales meetings for qualification depth; all-hands for information clarity. Executives search "What decisions were made about pricing in the last 30 days?" and get structured results with evidence spans — not just keyword-matching transcript snippets. Meeting data becomes a queryable organisational asset.
Learn more about Data ScienceWatch out for
Common Challenges & Gotchas
These are the issues that come up most often when teams start integrating Read.ai meeting data into downstream systems.
No REST API - webhook only
Read.ai does not offer a REST API for querying meeting data. All data delivery is push-based via webhooks. You cannot pull transcripts on demand or query historical meetings programmatically.
No historical backfill
Webhooks only fire for new meetings going forward. If you start your integration today, you won't receive data for past meetings. Plan your integration timing accordingly and don't expect to backfill.
Webhook delivery reliability
If your endpoint is down when Read.ai fires a webhook, the payload may be lost. Read.ai has limited retry logic. Use a reliable, highly available endpoint or a webhook relay service to buffer incoming data.
No meeting-type filtering
Webhooks fire for all meetings where you have viewer access. You cannot filter at the source. Build filtering logic in your receiver to route, process, or discard meetings based on your criteria.
Plan-gated access
Webhook functionality requires a Read.ai Pro or Enterprise plan. Free and Starter tier users cannot set up webhooks, which limits automation options to the Zapier integration or manual exports.
Payload size for long meetings
Very long meetings produce large transcript payloads that can exceed limits in some automation tools. Plan for payload chunking or external storage when processing meetings over 90 minutes.
Duplicate processing protection
Without idempotency checks, webhook retries can process the same meeting twice. Use session_id as a deduplication key to ensure each meeting is handled exactly once in your pipeline.
FAQ
Frequently Asked Questions
Explore