Pick your path
The spreadsheet, paperwork, and sync paths land in the same normalized data via the Universal Event Format, so mixing those is safe. A gig imported from a spreadsheet and one extracted from a contract behave the same afterward. Workspace clone uses that same UEF/CSV shape; see below.
The spreadsheet season
Prefer loading Crew → Venues → Clients → Songs → Setlists → Events so gigs match real rooms and clients instead of creating name-only stubs. Open Assets → Imports (/assets?tab=imports) and drop files first. Full wizard: Import your data and start running. Leaving Planning Center, Back On Stage, Master Tour, Stagera, or LASSO / Shoflo? Use Coming from another system for export steps and zip shapes (ShowOps / Umbrella stay BYO until a dump exists).
1
Shape the export
One row per gig (or per crew member per gig; see grouping below) with columns for name, date, venue, customer, and crew contacts. If your old system has stable IDs, keep the ID column. Mapped external IDs make re-imports update in place instead of duplicating.
2
Parse
Open Assets → Imports (
/assets?tab=imports). Older bookmark Settings → Organization → Imports can bounce an owner to /gigs on some builds (including DEV); treat that as a product gap. Upload the file (.xlsx / .csv / .tsv / .txt, up to 25 MiB) or paste CSV/TSV (up to 8 MiB). Soundcheck normalizes the headers and samples the rows. There is no Google Sheets connector. Export first. 3
Map
Mapping is required. Review the proposed column → field mappings and adjust. Several crew rows for the same gig? Set row grouping to
group_by_external_id so they collapse into one event with multiple members. Save the mapping as a template if you’ll import this shape again.4
Preview: the dry run
The preview shows create vs update vs skip counts for your target, plus row-level errors and notes. Nothing is written yet.
5
Commit
Write the records. Every row gets an outcome so you can audit the run. Re-running the same file later produces updates, not duplicates. Use that as your confidence check.
After you commit
Do not stop in the import history tab:- Open Gigs and confirm the season list.
- Ask crew to accept org invitations from imported members.
- Spot-check venues, clients, and Show Prep (songs / setlists).
- Re-import the same file once. Expect 0 new rows.
The paperwork pile (CheckAI Private Preview)
CheckAI beta is Private Preview, available only to the existing beta tester group. Signing up, choosing a paid plan, upgrading, contacting support, or viewing a public demo does not grant access. Other organizations can attach their files for reference and enter or import structured records manually. For gigs that exist only as documents (a signed contract, a forwarded email thread, a call sheet PDF), use AI file ingestion:- Open the enabled Files preview on a gig and add the documents. Source files attach immediately; extracted records are reviewed separately.
- CheckAI reads each file and proposes structured records: schedule items, crew with fees, ledger items, leads, and event fields.
- Review the proposals and matches against existing data. Select the correct records; leave uncertain or incorrect rows unselected.
- Review combined proposals across files, checking overlapping or conflicting details against the originals.
- Select Commit selected to apply the chosen records in the web app. Crew records are added without sending invitations. External AI clients use a separate confirmation flow; see the ingestion guide.
Clone a sandbox workspace
Use this when you already have a Soundcheck org (sandbox or golden fixture) and want another org to start from the same catalogs.- On the source org, open Settings → Organization → Data and download the workspace zip (UEF JSON plus wizard-ready CSVs for crew, clients, inventory, venues, songs, setlists, events, and leads).
- On the destination org, either:
- Drop
csv/*.csvon Settings → Organization → Imports (drop-first), or - On Data, use Import UEF bundle with
uef/*.json(or the zip).
- Drop
- Crew rematches on email. Clerk memberships are not copied. Skip only happens when that email is already a claimed member on the destination. An unmatched exported Owner is written as an unclaimed OWNER roster row and gets a Clerk org:admin invitation (accepting grants financial/admin/owner-only access). Do not clone a sandbox into a real org if you do not want that person as an admin. Other unmatched members land as unclaimed roster entries with a Clerk invite for their exported role. Duplicate setlist titles rematch. A second pass is updates only (0 new). Money, files, branding, and integration tokens stay out of the zip.
export_workspace → preview_uef_import → import_uef). Public MCP cannot. The Data page and Imports still work. Full detail: Export a workspace.
Common pitfalls
Crew rows were skipped during commit
Crew rows were skipped during commit
An invitation needs a way to reach the person. Each crew row must have an email or a phone number. Rows without either are skipped, and the Preview counts reflect that before you commit.
I imported the same file twice and worried about duplicates
I imported the same file twice and worried about duplicates
The importer is idempotent: rows matched by external ID or natural key (like title + date for events) update in place. Re-importing a corrected file is the intended fix loop, not a hazard.
I can't see Settings → Organization → Imports
I can't see Settings → Organization → Imports
Imports need the
data-import feature flag and an organization owner or admin signed into the right org. If the page is missing, ask your Soundcheck contact to enable the flag, or confirm you are an owner or admin on that organization. On some environments (including DEV), that route can bounce an owner to /gigs instead of the importer. Treat that as a product gap, not a permissions typo. See roles & permissions. My spreadsheet has gigs, but the fees are only in the contracts
My spreadsheet has gigs, but the fees are only in the contracts
Use both paths: import the gigs from the spreadsheet first, then drop each contract onto its gig and let ingestion propose the ledger items and crew fees.
Past seasons: should I import those too?
Past seasons: should I import those too?
If you want history and reporting, yes. Imported past gigs can be marked Completed/Settled so your books reflect them. If you only care about what’s ahead, importing just the upcoming season keeps things lighter.
Related
Import your data and start running
Start-here path: order, wizard, bad rows, and what to do after commit.
AI file ingestion
Extract records from contracts and call sheets.
Universal Event Format
The shared schema behind every intake path.
n8n CRM sync
Recurring sync for sources with a webhook.
Export a workspace
Clone a sandbox: download the zip, restore CSVs or UEF on the destination org.