A meeting-notes migration is complete only when you can prove which meetings, media, generated artifacts, relationships, permissions, and histories moved; explain every exception; reverse the cutover; and show that old access was revoked or deleted. A folder of transcripts is not a complete migration.
This is a documentation-led, vendor-neutral control plan. It does not claim hands-on results or that every platform exports every artifact. Confirm the current contract, plan, role, API entitlement, rate limit, retention, support assistance, and termination terms in the buyer’s tenant.
Define the meeting-notes migration boundary
This page owns custody and transition, not product selection. Use the AI meeting-notetaker buyer guide to shortlist products. Use the Fireflies accuracy test or Avoma accuracy test to measure generated outputs. Vendor-specific export pages may document a particular path; this checklist governs the common artifact graph and acceptance evidence.
Write an exit charter: source workspace and plan, destination or archive, eligible dates and teams, legal holds, snapshot and final-capture times, rollback window, deletion date, and approvers. Assign program, source-admin, data, security, privacy, CRM, destination, finance, validation, rollback, and destruction owners. Define hard gates before extraction: no unauthorized recording, no permission leakage, complete required media custody, accepted critical CRM edges, visible failures, one capture/write authority, and tested rollback.
Inventory artifacts, identities, edges, and rights
Inventory meetings; audio and video; transcripts, turns, timestamps, languages, speakers, and custom vocabulary; summaries, outlines, actions, owners, due dates, topics, notes, comments, highlights, and edited versions; recordings and shared clips; users, guests, teams, roles, inactive owners, calendar and conferencing identities; CRM account, contact, lead, opportunity, event and activity associations; permissions, public links, consent evidence, retention, holds, deletion state, integrations, webhooks, API clients, and support exports.
For each row store stable source ID, parent ID, related IDs, owner, created/modified/deleted times, sensitivity, eligible count, required fields, current authority, contractual right, extraction path, destination disposition, retention, acceptance test, exception owner, and evidence link. Model the graph explicitly: meeting → media; meeting → transcript → speaker turns; meeting → summary/action/topic/note/comment; meeting → calendar/CRM record; artifact → owner/team/permission/consent/hold.
| Layer | Required edges | Typical evidence gap |
|---|---|---|
| Media | Meeting ↔ audio/video ↔ duration/checksum | UI playback does not prove bulk download |
| Transcript | Meeting ↔ turn ↔ speaker/time/language | Plain text may lose structure |
| Generated work | Meeting ↔ summary/action/topic ↔ owner/version | Visible artifact may lack export path |
| Systems | Meeting ↔ calendar/CRM IDs | A CRM note may omit provenance |
| Governance | Artifact ↔ access/consent/retention/hold | Cancellation is not deletion evidence |
Build the portability matrix
Assign one label to every artifact: documented exportable, buyer-verified exportable, partial, support/contract dependent, reconstruct, or unavailable. Save the opened official URL, plan, permission, format, fields, edges, pagination, test date, sample output, and caveat. Do not infer complete history from a visible screen or a single endpoint.
Otter’s conversation-export documentation describes audio and text formats and says bulk export is available on specified plans. That supports those bounded operations, not universal portability across notetakers. Fathom’s transcript documentation describes copying transcript text rather than a direct download in the documented interface. Different paths demonstrate why a buyer needs an artifact-level matrix.
Microsoft’s portability documentation distinguishes customer data from some configuration and protected operational information that may not be exportable. Apply that discipline here: document what the contract and tested interface establish; label settings, audit logs, model outputs, deleted content, sharing history, vocabulary, permission history, and complete relationship export as unknown until proven.
Freeze capture and preserve snapshot plus delta
Freeze teams, roles, vocabulary, templates, recording rules, retention, sharing defaults, integrations, and CRM mappings. Record the snapshot start and completion in UTC. Inventory scheduled calls, in-progress meetings, processing media, uploads, failed captures, queued CRM writes, and deletions. Preserve configuration and counts before disabling anything.
Extract the eligible snapshot, then a final delta of created, changed, deleted, merged, or late-processed items. Where no delta export exists, compare timestamped full snapshots by stable ID and disclose the uncertainty. Define treatment for a meeting beginning before cutoff but completing processing later. Reconcile: eligible meetings = accepted migrated/archive meetings + approved exclusions + failed/quarantined meetings + documented post-cutoff meetings.
Export immutable files and manifests
Store raw API JSON, CSV, audio, video, subtitle/text, and configuration evidence unchanged in encrypted, least-privilege storage. Build a manifest with tenant, operation or endpoint, filters, page/cursor, requester, UTC times, schema, filename, bytes, rows, media duration, errors, retries, exclusions, and checksum. A checksum proves file identity, not correctness or completeness.
Transform working copies only. Preserve source IDs and a source-to-target crosswalk. Profile duplicate IDs, null critical fields, orphan speakers, missing media, impossible timestamps, truncated notes, absent pages, inaccessible owners, stale public links, and broken CRM associations. For actions preserve text, owner, due date, completion, meeting, and provenance; a sentence inside a summary does not recreate a structured task.
Reconcile counts, fields, media, edges, and history
Reconcile six layers separately: object counts, required field fidelity, playable media, correct relationships, permission/consent state, and required history/version coverage. Report expected, accepted, failed, skipped, duplicated, quarantined, and excluded denominators by team, owner, source, language, age, sensitivity, CRM association, media type, hold, and deletion state.
- Object coverage = accepted target/archive objects ÷ eligible source objects.
- Media coverage = playable and correctly linked files ÷ eligible media.
- Field fidelity = correct tested required values ÷ eligible tested values.
- Edge coverage = correct meeting-speaker, artifact, user/team, action-owner, and CRM edges ÷ eligible edges.
- Duplicate rate = unintended extra target objects ÷ eligible source objects.
Reconcile in both directions. Every eligible source item needs one accepted destination/disposition, and every destination item needs one source or approved new-system origin. Full-count critical objects; use a frozen stratified value sample only when complete comparison is impractical. A transcript that lost speakers or timestamps fails relationship fidelity even when its word count matches.
Stage the target and dual-run one authority
Load identities, teams, permissions, crosswalks, and CRM mappings before meetings; then metadata, media, transcript structures, edges, and supported generated artifacts. Keep target capture, notifications, public sharing, automations, and CRM writes disabled. Seed private meetings, external guests, inactive owners, duplicate contacts, merged CRM records, multiple opportunities, missing speakers, long media, multiple languages, edited notes, holds, and failed recordings.
Replay imports to test idempotency. Revoke a token, interrupt media transfer, repeat and omit pages, delay processing, and send a late delta. Failures must be visible and recoverable. Dual-capture only a small consented set, and allow only one platform to write CRM or notify attendees. Compare capture, media, transcript structure, speakers, actions, associations, permissions, retention, export, and deletion. Follow CRM integration controls for retry and authority tests.
Cut over and prove rollback
Write the exact order: source stop, final delta, manifest close, transformation, destination import, reconciliation, destination activation, monitoring, and approval. Name the abort owner and deadline. Keep source read-only until critical gates pass. Hard-stop on unauthorized capture/sharing, critical media loss, permission leakage, lost consent or hold state, unacceptable CRM-edge loss, destructive duplicates, silent extraction errors, double capture, or untested recovery.
Rollback disables target capture, sharing, notifications, integrations, and writes; exports target-only deltas; preserves meetings captured after cutover; restores only approved source connections; and replays nothing twice. Test it before production. A rollback depending on an expired key, canceled subscription, or deleted source is fiction.
Decommission, revoke, and evidence deletion
After acceptance and legal-hold review, revoke API keys, OAuth grants, webhooks, calendar/conferencing connections, CRM integrations, SSO assignments, service identities, public links, guests, mobile/browser sessions, exports, and support access. Test that credentials and links fail. Otter’s retention documentation shows audio/video, transcript, and full-conversation retention can affect dependent artifacts differently. Fathom documents organization controls for consent, links, retention, downloads, and deletion. Verify the actual tenant rather than generalizing.
Request written scope, date, backup/subprocessor treatment, exceptions, and legal holds for deletion. Keep the contract, inventory, portability matrix, raw manifests, checksums, crosswalk, reconciliation, exceptions, approvals, revocation tests, deletion request/response, and archive schedule. The FTC advises inventory, access minimization, secure storage/transfer, appropriate retention, and secure disposal in its business guidance. This is operational guidance, not legal advice.
Apply the worked example and calculate TCO
This fictional example demonstrates arithmetic, not vendor performance. Assume 1,000 eligible meetings, 980 accepted meeting objects, 700 eligible media files with 686 playable and correctly linked, 4,000 critical edges with 3,920 accepted, and five unintended duplicates. Object coverage is 980/1,000 = 98%; media coverage is 686/700 = 98%; edge coverage is 3,920/4,000 = 98%; duplicate rate is 5/1,000 = 0.5%.
Those identical percentages can hide different risk. If 20 missing meetings are held calls or 80 missing edges are consent or opportunity associations, stop. Publish exceptions and denominators instead of one blended score.
TCO = source overlap + destination licensing/setup + export/API/support assistance + engineering + media storage/transfer + mapping/transformation + privacy/security/legal + validation + training + monitoring + remediation + rollback capacity + archive + revocation/deletion. Model low/base/high cases for reconstruction, support, overlap, and storage. Do not subtract the source until it is truly retired.
Print the migration evidence checklist
| Control | Owner | Evidence | Status |
|---|---|---|---|
| Scope, plan, retention, holds, cutoff frozen | Program/legal | Exit charter | □ |
| Artifacts, IDs, edges, permissions inventoried | Admin/data | Register and counts | □ |
| Each artifact has a portability label | Data/procurement | Docs, tests, gaps | □ |
| Snapshot and final delta preserved | Admin | UTC run log | □ |
| Raw files, manifests, checksums retained | Engineering | Immutable archive | □ |
| Counts, fields, media, edges, history reconcile | QA/owners | Signed exceptions | □ |
| Staging, failures, dual-run, rollback pass | Program/target | Test logs | □ |
| Credentials, integrations, shares revoked | Security | Failed-access tests | □ |
| Deletion scope and exceptions evidenced | Privacy/legal | Vendor response | □ |
| TCO and archive schedule accepted | Finance/program | Closure pack | □ |
Gangly is not the presumed destination and does not make an incumbent’s data portable. If evaluated downstream, keep the CRM authoritative and test only approved evidence, rep review, field-level write authority, replay, permissions, failure recovery, and incremental cost. Apply the conversation-intelligence privacy checklist before reusing meeting artifacts.