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
Best for trying it out, or backfilling a handful of past calls.
- 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.In UpSight, use the upload flow ("Capture from anywhere" / add a conversation) and drop the file in.
- 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.
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.
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.
JSON export or webhook — full attendee emails + company
Webhook adapter (speech-completed payload)
Normalized { participants, utterances } from any tool
Speaker-attributed transcript, names only
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.
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.
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.
- Analyze the insights that surface from your imported meetings
- Import your people & organizations so attendees match your existing contacts
- See all supported apps & integrations