NativePort
← All use cases

Turn meetings into transcripts with speaker labels

Keep track of who spoke and when before your agent drafts notes or action items.

The problem

A written copy of a meeting may leave your agent unable to tell who said what. It needs a tool that separates speakers while turning the recording into text. Otherwise, the agent may assign a promise, decision, or task to the wrong person.

How NativePort helps

NativePort connects to ElevenLabs to turn a meeting recording into written text with labels for the different speakers. Your agent can use that text to prepare notes and identify action items. The labels distinguish voices; you can add the participants’ names when you know who is speaking.

Let your agent build it

You don’t need to write this code yourself. Copy the prompt and paste it into your agent. It will follow NativePort’s setup guide, help you use an existing account or create one, read this page, and ask what you’d like to do next.

View prompt
Help me use NativePort for this use case.

1. Read https://nativeport.ai/SKILL.md and follow its instructions to learn how to use NativePort. Save or update the skill if your environment supports it.

2. Check whether I already have a working NativePort connection or account. Reuse it if available. Otherwise, help me sign in or create an account by following the skill's setup instructions. Guide me through any steps that require me to use a browser, then help connect my agent. Keep credentials private.

3. Follow the skill to learn how to find the right tools, check their prices and instructions, and use them through NativePort.

4. Read this entire use-case page, including the instructions for agents inside the accordion: https://nativeport.ai/use-cases/meeting-transcripts/

Once setup is complete and you have read the page, briefly explain what you can help me do and ask me what I would like to do next. Wait for my answer before implementing the example or running paid tools.
Instructions for the agents - You don't need to read this

Technical implementation

Use Python 3 with requests installed (python -m pip install requests). Set NATIVEPORT_API_KEY in your environment to your NativePort key. Run the snippets on your server, where your key stays private.

Set AUDIO_PATH to the meeting’s MP3 recording. Request diarization and combine consecutive word tokens from the same speaker.

python
import os
import requests

BASE = "https://api.nativeport.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['NATIVEPORT_API_KEY']}"}

with open(os.environ["AUDIO_PATH"], "rb") as audio:
    response = requests.post(BASE + "/elevenlabs/v1/speech-to-text",
        headers=HEADERS,
        data={"model_id": "scribe_v1", "diarize": "true"},
        files={"file": ("recording.mp3", audio, "audio/mpeg")},
        timeout=180)
response.raise_for_status()
transcript = response.json()
turns = []
for word in transcript.get("words", []):
    speaker = word.get("speaker_id") or "unknown"
    if not turns or turns[-1]["speaker"] != speaker:
        turns.append({"speaker": speaker, "start": word.get("start"), "text": ""})
    turns[-1]["text"] += word["text"]
for turn in turns:
    print(f"[{turn['start']}] {turn['speaker']}: {turn['text'].strip()}")

Retain the timestamps so a reviewer can jump back to the recording. Overlapping speech can still need correction before you ask an agent to attribute commitments. See diarization options.

Tool costs

Tool used in the examplePrice per call
ElevenLabs — speech to text with speaker labels $0.000211 / credit (usage-based)

Prices in USD. Usage-based tools have no fixed per-call price. View pricing.