ImportNotetakers

Import meeting notes from Fireflies & other notetakers

Turn a recorded meeting into a full UpSight conversation — a speaker-attributed transcript, evidence ("receipts") you can verify, themes, and a Person record for every attendee (with their email and company). Bring meetings in manually, or wire up your notetaker to flow them in automatically.

UpSight understands the transcript export from Fireflies.ai, Otter.ai, and a generic relay format — plus plain text, Markdown, and subtitle files. Whichever you send, the same thing happens: attendees become People, the exact quotes behind each moment become evidence, and everything becomes searchable across your whole project.

Three ways to bring meetings in

File upload

Manual, one at a time

API import

Automated, recommended

Webhook connection

Token-in-URL alternative

Method 1 — Upload the export file

Best for trying it out, or backfilling a handful of past calls.

  1. 1.In your notetaker, download the meeting transcript. Prefer the JSON export — it includes each attendee's email and company, so they become fully-populated People. Markdown works too, but carries only speaker names.
  2. 2.In UpSight, use the upload flow ("Capture from anywhere" / add a conversation) and drop the file in.
  3. 3.Done — it processes like any conversation. Re-uploading the same file reuses the conversation instead of duplicating it.

JSON vs Markdown

The JSON export is what unlocks emails + company for external attendees. With Markdown you still get the transcript and evidence, just not the auto-created external People.

Method 2 — API import (recommended for automation)

Have your automation POST each meeting straight into a project — no downloading, no uploading. Mint a project API key and send the transcript with it in a standard Authorization header.

curl

curl -X POST https://<your-upsight-host>/api/import \
  -H "Authorization: Bearer upsk_<your-api-key>" \
  -H "Content-Type: application/json" \
  --data-binary @meeting.json
  • The body is the raw transcript — Fireflies' JSON export works as-is; plain text and Markdown work too. No field mapping.
  • The API key is the credential (project-scoped) — it tells UpSight which project to file the conversation under. One key works for every import into that project.
  • Dedupes on content — a retry or duplicate POST returns the existing conversation ({ "deduped": true }) instead of creating a second one.

In Zapier / Make

Add a "Webhooks → POST" (Zapier) or "HTTP → POST" (Make) step: URL https://<host>/api/import, header Authorization: Bearer upsk_…, and the Fireflies transcript JSON from the previous step as the body.

Method 3 — Webhook connection (token-in-URL)

Same idea as the API import, but the credential lives in the URL instead of a header — handy when a tool can only send to a URL. Each project can mint a secret webhook URL:

https://<your-upsight-host>/api/notetaker/webhook/fireflies/<secret-token>

Point Fireflies' or Otter's own webhook (or a Zapier POST) at it and forward the transcript payload. It dedupes on the meeting id, so resends won't duplicate. A generic connection is also available for sources that send a normalized { title, participants, utterances } shape.

Supported sources
Fireflies.ai

JSON export or webhook — full attendee emails + company

Otter.ai

Webhook adapter (speech-completed payload)

Generic relay

Normalized { participants, utterances } from any tool

Plain text / Markdown

Speaker-attributed transcript, names only

VTT / SRT subtitles

Parsed to speaker turns where labeled

Other notetakers (Fathom, Granola, Read.ai) can flow in today via the generic relay format; dedicated adapters are added as demand warrants.

What you get, every way

People for every attendee

Matched or created by email, deduped, and linked to their organization (derived from the email domain for business addresses). The host is tagged as interviewer; the rest as participants.

Evidence — the receipts

The exact quotes behind each moment, attributed to the right speaker, that you can search and cite.

Themes across conversations

Evidence clusters into patterns that stay queryable across every meeting and survey.

Good to know

Re-imports are safe. Sending the same transcript again reuses the existing conversation rather than creating a duplicate.

Emails need JSON. Markdown exports carry only speaker names, so external attendees aren't auto-created from them — use the JSON export or the API for full People + company.

Same name, different email. Two different people who share a name (but have different emails) are kept as separate People rather than merged.

Next Steps