A ZoomInfo Chorus migration succeeds only when the buyer proves which conversation artifacts and relationships moved or were deliberately archived, changes capture and CRM authority without duplication, and documents source revocation and deletion. A transcript file does not prove custody of recordings, speakers, coaching history, CRM associations, permissions, or consent evidence.
Accessible official sources were reviewed August 8, 2026. The official API page exposed an export endpoint but broader developer/help details were sparsely rendered to the crawler. That is a research limitation, not proof a capability is absent. Bind this runbook to the contract, SKU, permissions, API rights, vendor response, retention schedule, DPA, and a buyer-run sample.
Define the Chorus exit boundary
This page owns incumbent export and cutover. Use the Chorus accuracy test for transcript quality, review/comparison pages for selection, the Gong exit checklist for Gong, and the CRM checklist only when CRM authority changes.
Freeze tenant, subscriptions, users, integrations, capture sources/rules, storage, retention, holds, target, archive, snapshot, cutoff, rollback, cancellation and deletion dates. Name owners for program, Chorus, data, CRM, security, privacy, target, finance, validation, rollback and destruction. Hard gates include no unauthorized capture/sharing, accepted critical media and CRM edges, permission fidelity, visible failure, one write authority, tested rollback and deletion evidence.
Inventory content, configuration, relationships, and rights
Inventory calls/meetings; audio/video; transcript turns, timestamps, languages and speakers; summaries, actions, owners/due dates; topics, trackers, snippets/playlists; scorecard definitions, versions, evaluations and coaching; comments/notes; users, managers, teams, roles and inactive owners; templates, vocabulary, custom fields and reports; CRM accounts, contacts, leads, opportunities, events and activity IDs; calendar/conferencing/dialer IDs; permissions, shares, consent/notice, retention, holds, deletion, API clients and webhooks.
For each item record source ID, parent/edge IDs, eligible count, owner, sensitivity, authority, plan/right, extraction path, format, target, retention, test, exception owner and evidence. ZoomInfo’s privacy policy describes Chorus handling audio, video, image and text communications plus associated data; this guides inventory scope, not export rights.
Model the inventory as edge tables rather than one spreadsheet. A meeting-to-speaker edge needs meeting ID, speaker ID, role, time range and confidence or correction state. A meeting-to-CRM edge needs source and CRM object types, IDs, association time and writer. An action edge needs meeting, action, owner, due date and completion state. A scorecard edge needs call, rubric version, evaluator and evaluation. This is the same authority discipline used in the CRM integration guide.
Label portability and disclose documentation gaps
Use documented, buyer verified, support/contract dependent, reconstruct, or unavailable. Store URL/ticket, SKU, permission, filters, format, schema, pagination, limits, media access, edge behavior, history and test date.
The accessible official Chorus API page exposed a conversations export endpoint. It did not establish complete bulk portability for media, comments, trackers, scorecards, coaching history, templates, vocabulary, permissions, consent, deleted artifacts or audit history. Mark these vendor-confirmation required until documentation and a reproduced result prove otherwise. A CRM copy, endpoint name, UI download or search snippet is not evidence of complete history.
Freeze capture and preserve snapshot plus delta
- Freeze users, teams, permissions, trackers, scorecards, templates, vocabulary, CRM mappings, capture rules, retention and deletion.
- Count scheduled, active, processing, failed, uploaded, held and deleted conversations; define late processing.
- Preserve configuration before stopping calendar, conference, dialer, upload and API capture in a rehearsed order.
- Extract a timestamped snapshot then final ordered delta; log every approved post-snapshot change.
- Keep source access until extraction can be repeated and rollback expires.
Reconcile eligible conversations as accepted capture plus approved exclusions plus failed/quarantined plus post-cutoff items. In any dual period, one system owns notices and one writes CRM.
Export immutable files and manifests
Preserve raw API JSON, CSV, audio, video, transcripts and configuration evidence unchanged in encrypted storage. Manifest tenant, endpoint/UI path, filters, cursor/page, requester, UTC start/end, schema, filename, rows, bytes, duration, errors, retries, exclusions and SHA-256. NIST’s Secure Hash Standard supports file digests; a digest proves identity, not semantic correctness.
Transform working copies only. Preserve source IDs and crosswalk. Profile duplicate IDs, missing pages, nulls, orphan speakers, inaccessible owners, malformed media, impossible timestamps, truncation, missing action owners and CRM edges without parents. Compare a sample to the UI before access changes.
Record extraction attempts, not only successful files. A complete manifest includes permission failures, throttled pages, expired media URLs, missing recordings, calls still processing, and vendor-confirmed exclusions. Resume from a stored cursor or watermark only after proving it cannot skip or repeat records. Encrypt exports in transit and at rest, restrict the archive to named operators, and set retention based on business, contract, privacy, consent and legal-hold requirements.
Reconcile meetings, media, fields, edges, and history
- Conversation reconciliation = accepted target/archive conversations ÷ eligible source conversations.
- Media reconciliation = playable correctly linked media ÷ eligible media.
- Field fidelity = correct tested values ÷ eligible tested values.
- Edge reconciliation = correct speaker, artifact, team, CRM, action-owner and scorecard edges ÷ eligible edges.
- History coverage = accepted versions/events ÷ eligible versions/events.
- Duplicate rate = unintended extra target objects ÷ eligible source objects.
Report denominators/exclusions by team, owner, source, language, age, privacy, media type, CRM association, hold and deletion. Reproduce known-answer action ownership, scorecard totals and CRM association counts. A transcript without speakers/timestamps or a score without rubric version is incomplete.
Use full reconciliation for IDs, held media, consent, permissions, active users and critical CRM relationships. Where field-level full comparison is impractical, freeze a stratified sample before inspecting results and include private/public, old/new, short/long, internal/external and each capture source. Have business owners sign the exception register; a technically successful job is not evidence that coaching or compliance workflows remain usable.
Stage the target and run controlled dual capture
Load users, teams, permissions, ID crosswalks and CRM mappings before metadata, media, transcript/speakers, edges and supported derived artifacts. Disable capture, sharing, notifications, coaching automation and CRM writes.
Seed private calls, shares, inactive owners, external participants, duplicate contacts, merged accounts, multiple opportunities, missing speakers, long media, languages, incomplete actions, edited scorecards and holds. Replay imports; interrupt media, repeat/omit a page, revoke a token and deliver a late delta. Dual-capture only a bounded consented set with one CRM writer; this tests transition mechanics, not target superiority.
Cut over or roll back with hard gates
Write the exact source stop, delta, manifest, transformation, import, reconciliation, activation and monitoring order. Define abort authority and preserve a read-only source window. Rollback disables target capture/sharing/writes, exports target-only deltas, preserves post-cutover conversations, restores only approved source integrations and prevents duplicate bots/CRM activities.
Stop for unauthorized recording, critical media loss, permission leakage, lost consent/hold state, unacceptable CRM-edge loss, destructive duplicates, invisible extraction errors, or uncontrolled double capture. Rehearse rollback before production.
Decommission, revoke access, and prove deletion
After acceptance and hold review, revoke API keys, webhooks, OAuth, calendar/conference/dialer/CRM connections, SSO, service identities, public links, guests and support access. Prove credentials and links fail.
Submit a contract-governed return/deletion request listing raw and derived content, configuration, integrations, subprocessors, backups, support artifacts, holds and retention exceptions. Collect ticket, scope, completion date, exceptions and backup-expiry statement. Accessible official deletion/retention documentation was incomplete, so this guide makes no universal timing claim. Cancellation is not deletion evidence.
Apply the worked example and calculate TCO
This fictional arithmetic is not a Chorus result. Of 1,500 eligible conversations, 1,470 reconcile; 760 of 800 media files are playable/linked; 2,910 of 3,000 critical edges reconcile; and eight unintended duplicates appear.
| Measure | Calculation | Result |
|---|---|---|
| Conversations | 1,470 ÷ 1,500 | 98% |
| Media | 760 ÷ 800 | 95% |
| Edges | 2,910 ÷ 3,000 | 97% |
| Duplicates | 8 ÷ 1,500 | 0.53% |
Missing held media or consent edges remains a hard stop. TCO = source overlap + target setup/licenses + vendor support + API/engineering + media transfer/storage + mapping/validation + privacy/security/legal + training + monitoring/remediation + rollback + archive + deletion.
Print the Chorus migration checklist
| Control | Evidence | Status |
|---|---|---|
| Rights, holds and cutoff frozen | Signed charter | □ |
| Artifacts, IDs, edges and integrations inventoried | Source register | □ |
| Portability labels evidenced | URLs/tickets/tests | □ |
| Snapshot, delta and stop preserved | UTC log | □ |
| Manifests, digests and crosswalk retained | Archive | □ |
| Counts, fields, media, edges and history reconcile | Signed report | □ |
| Stage, dual capture and rollback pass | Test logs | □ |
| Access revoked and deletion evidenced | Closure pack | □ |
Gangly does not make Chorus data portable and is not the presumed target. If evaluated as a workflow layer, keep CRM authority explicit and test approved inputs, human review, field-level writes, permissions, replay and failure recovery through the conversation-intelligence integration guide.