---
title: Meeting Bot API for Zoom, Meet & Teams | Telnyx
canonical: https://telnyx.com/products/meeting-bot-api
---
# Meeting Bot API for Zoom, Meet & Teams | Telnyx

[View as page](https://telnyx.com/products/meeting-bot-api)

**TELNYX MEETING API**

# One Meeting API for Zoom, Google Meet and Teams

Add real-time transcripts, concise summaries, and actionable next steps to your product. With the Meeting API, a participant managed by Telnyx joins your calls, captures conversations as they happen, and returns the key takeaways when the call ends.

[Start building](https://telnyx.com/sign-up)[Contact sales](https://telnyx.com/contact-us)

WHY TELNYX

## Your team builds the meeting feature once and it works on Zoom, Google Meet and Teams.

* ### One integration for every meeting platform  
Zoom, Google Meet and Teams work through the same API, with the same request shape and the same webhooks.
* ### Transcripts, speech and summaries on one key  
The bot, live transcripts, speech and summaries run on one Telnyx API key, so your team does not manage a separate transcription or model provider.
* ### More than a recorder  
The bot can speak in the meeting and post in the chat, not only listen. Attach a Telnyx AI Assistant to answer questions and act in the meeting in real time.

USE CASES

## Add meeting features to recruiting, sales, CRM and note-taking products.

Send the bot into the call, get the transcript and summary back through the API, and put them where your users already work.

* Recruiting and interviews  
Capture every interview in your applicant tracking product. The transcript, with speaker labels and timestamps, and a structured summary arrive as the call ends, so recruiters stop typing notes and hiring teams can review what was said.
* Sales coaching  
Give reps and managers a transcript and a list of action items for every call, inside your coaching tool. Live transcription also lets you surface prompts while the conversation is still happening.
* CRM and customer success  
Log meeting notes and follow-ups on the right account without anyone filling in a form. Summaries and action items come back through the same API, so your product can write them to the record.
* Notetakers and meeting assistants  
Build a notetaker for your own users. The bot joins their calls, returns the transcript with speaker labels, and produces a summary with action items. Attach a Telnyx AI Assistant if you want it to answer questions during the meeting.

FEATURES

## Everything you need to build meeting features into your product.

Use each feature on its own, or combine them with the rest of the Telnyx platform.

* Live transcription  
Stream the meeting transcript to your application as it happens, with speaker labels and timestamps, through Telnyx STT.
* Programmable speech  
Your application can make the bot say anything at any point in the meeting. Text goes through Telnyx TTS and plays into the meeting audio.
* Chat injection  
Drop messages into the meeting chat on Zoom, Google Meet, and Teams.
* Post-meeting artifacts  
When the meeting ends, receive structured summaries and action items generated by Telnyx Inference. summarize\_on\_end auto-generates a summary from the final transcript.
* Webhook-driven lifecycle  
Set a webhook\_url on session create to receive signed meeting lifecycle events. No polling required, but polling is supported for batch workflows.
* Cross-platform support  
One API surface for Zoom, Google Meet, and Microsoft Teams. Same request shape, same response shape, same webhook contract.

HOW IT WORKS

## Four API calls cover the full meeting lifecycle.

Create a session, poll for status, fetch the transcript, and tell the bot to speak.

Create, poll, transcribe, speak

```
# 1. Create a meeting session
curl -X POST https://api.telnyx.com/v2/meeting_sessions \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "meeting_url": "https://meet.google.com/abc-defg-hij",
    "bot_name": "Standup Bot",
    "summarize_on_end": true
  }'

# 2. Poll session status until active
curl https://api.telnyx.com/v2/meeting_sessions/$SESSION_ID \
  -H "Authorization: Bearer $TELNYX_API_KEY"

# 3. Fetch the live transcript
curl "https://api.telnyx.com/v2/meeting_sessions/$SESSION_ID/transcript?after=0&limit=100" \
  -H "Authorization: Bearer $TELNYX_API_KEY"

# 4. Make the bot speak
curl -X POST https://api.telnyx.com/v2/meeting_sessions/$SESSION_ID/actions/speak \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "text": "I have the action items from last week." }'
```

Same flow with requests

```
import os, time, requests

API = "https://api.telnyx.com/v2"
HEADERS = {"Authorization": f"Bearer {os.environ['TELNYX_API_KEY']}", "Content-Type": "application/json"}

# 1. Create a meeting session
session = requests.post(f"{API}/meeting_sessions", headers=HEADERS, json={"meeting_url": "https://meet.google.com/abc-defg-hij", "bot_name": "Standup Bot", "summarize_on_end": True}).json()["data"]
session_id = session["id"]

# 2. Poll until active
while True:
    status = requests.get(f"{API}/meeting_sessions/{session_id}", headers=HEADERS).json()["data"]
    if status["status"] == "active": break
    time.sleep(5)

# 3. Fetch the transcript
transcript = requests.get(f"{API}/meeting_sessions/{session_id}/transcript?after=0&limit=100", headers=HEADERS).json()["data"]

# 4. Make the bot speak
requests.post(f"{API}/meeting_sessions/{session_id}/actions/speak", headers=HEADERS, json={"text": "I have the action items from last week."})
```

Same flow with fetch

```
const API = "https://api.telnyx.com/v2";
const headers = {Authorization: `Bearer ${process.env.TELNYX_API_KEY}`, "Content-Type": "application/json"};

// 1. Create a meeting session
const session = await fetch(`${API}/meeting_sessions`, {method: "POST", headers, body: JSON.stringify({meeting_url: "https://meet.google.com/abc-defg-hij", bot_name: "Standup Bot", summarize_on_end: true})}).then(r => r.json());
const sessionId = session.data.id;

// 2. Poll until active
let status;
do {
  await new Promise(r => setTimeout(r, 5000));
  status = await fetch(`${API}/meeting_sessions/${sessionId}`, {headers}).then(r => r.json());
} while (status.data.status !== "active");

// 3. Fetch the transcript
const transcript = await fetch(`${API}/meeting_sessions/${sessionId}/transcript?after=0&limit=100`, {headers}).then(r => r.json());

// 4. Make the bot speak
await fetch(`${API}/meeting_sessions/${sessionId}/actions/speak`, {method: "POST", headers, body: JSON.stringify({text: "I have the action items from last week."})});
```

Create, poll, transcribe, speakSame flow with requestsSame flow with fetch

PRODUCTS

## One API key for everything behind your meeting features.

* [![Voice-AI-Agents_Hero](https://d2efw2akbx8gaf.cloudfront.net/https://dotcom-payload-assets-prod.s3.us-east-1.amazonaws.com/cms-media/Voice-AI-Agents_Hero_16x9%402x.webp?width=1024&format=webp)Voice AI AgentsProgrammable voice agents for inbound and outbound calls. Same STT, TTS, and orchestration primitives that power Meeting API.](https://telnyx.com/products/voice-ai-agents)
* [![Inference models on Telnyx GPUs: Kimi K3.1 Pro, GLM-5.3, MiniMax-M3, DeepSeek V4.1 Flash, Qwen3.8-27B](https://d2efw2akbx8gaf.cloudfront.net/https://dotcom-payload-assets-prod.s3.us-east-1.amazonaws.com/cms-media/ab-prod-02-inference-v2.png?width=2000&format=webp)InferenceOpen-weight and frontier models on edge-deployed GPUs. Per-token pricing with global availability.](https://telnyx.com/products/inference)
* [![Text-to-Speech — one API for leading voice engines](https://d2efw2akbx8gaf.cloudfront.net/https://dotcom-payload-assets-prod.s3.us-east-1.amazonaws.com/cms-media/Voice-API_Feature_Text-to-speech_16x9%402x.webp?width=1696&format=webp)Text-to-SpeechHosted voices from Telnyx and third-party providers. Use the same voice in your meeting bot, your voice agent, and your IVR.](https://telnyx.com/products/text-to-speech-api)
* [![Real-time speech-to-text transcription](https://d2efw2akbx8gaf.cloudfront.net/https://dotcom-payload-assets-prod.s3.us-east-1.amazonaws.com/cms-media/stt-hero.png?width=833&format=webp)Speech-to-TextReal-time and batch transcription with multiple model options. Pick the model that fits your latency, accuracy, and cost targets.](https://telnyx.com/products/speech-to-text-api)

## Start building meeting features on Telnyx.

Sign up for an API key and try the examples above, or talk to our team about your use case. Meeting API is in beta.

[Get started](https://telnyx.com/sign-up)[Read the docs](https://developers.telnyx.com/docs/meeting)

## Start building meeting features on Telnyx.

Sign up for an API key and try the examples above, or talk to our team about your use case. Meeting API is in beta.

[Get started](https://telnyx.com/sign-up)[Read the docs](https://developers.telnyx.com/docs/meeting)

## FAQ

### What is Telnyx Meeting API?

Meeting API lets you add a Telnyx-controlled participant to Zoom, Google Meet, or Microsoft Teams meetings from your own product. The bot transcribes the meeting live, can speak and chat into it, and returns structured summaries and action items when the meeting ends.

### Which meeting platforms are supported?

Zoom, Google Meet, and Microsoft Teams. The platform is detected automatically from the meeting URL. Chat works on all three. Recording export works on Google Meet and Teams.

### How does my application use Meeting API?

Your application makes API calls: create a session with a meeting URL, poll for status until the bot is active, fetch the transcript, and optionally tell the bot to speak or send a chat message. Webhooks are available for event-driven workflows.

### How is Meeting API priced?

Meeting API is billed per minute of bot time in the meeting, and that rate includes live transcription. Speech, AI assistants, and summaries and action items are billed separately, and recordings are retained free for 7 days. See the Meeting API pricing page in the developer docs for current rates. Meeting API is in beta.

### Which transcription model does the bot use?

The bot transcribes through Telnyx STT. Model selection is not currently exposed through the API.

### Can the bot record the meeting?

Yes, on Google Meet and Teams. Set recording\_export when you create the session and the video is exported to your Telnyx Storage bucket. Recording export is not available for Zoom meetings. Transcription works with or without recording.

### What artifacts does the bot produce?

The bot can generate summary and action\_items artifacts through Telnyx Inference. summarize\_on\_end auto-generates a summary once the final transcript settles after the meeting ends.

### How are webhooks delivered?

Set a webhook\_url on session create to receive signed meeting lifecycle events. Webhooks are off by default.

### Where is meeting data stored?

Transcripts, events, and artifacts are stored in Telnyx Postgres. Recordings are retrievable through the API.

### Is Meeting API generally available?

No. Meeting API is in beta. The API surface and feature set may change before general availability.

### Why use Telnyx Meeting API instead of a standalone meeting bot API?

A standalone meeting bot API gives you a bot in the meeting and a transcript. Telnyx gives you the bot, the transcript, the speech, the summaries, and the same API key you already use for calls, STT, TTS, and inference. No second vendor, no second contract, no stitching a meeting bot API to a separate transcription provider and a separate LLM for summaries. You also control the bot's voice, when it speaks, what it says, and how artifacts are generated, all through the same API. Unlike traditional meeting bots that only record and transcribe, you can attach a Telnyx AI Assistant that listens to the meeting, reasons about what is being said, and speaks back in real time.

[Start building](https://telnyx.com/sign-up)