Skip to main content

Mailbox rename

  • Renamed the personal and org Engagements UI labels to My Mailbox and Mailbox (web and mobile). Routes and APIs are unchanged (/engagements, /org-engagements).

Client portal, tours, run of show, and a gated closeout

  • Added the client portal: invite a customer’s primary contact into a dedicated workspace with their events, contracts, invoices, forms, and a message thread with your team. Invitations go out from the customer record — see inviting clients and contracts, invoices & forms.
  • Added tours: group a run of gigs into a folder on the Gigs page and manage it as a whole, with a per-tour financial roll-up — revenue, payouts, and net across every show inside.
  • The gig timeline grew into the run of show: one show-day rundown holding timed items, songs, instructions, notes, and attachments — with PDF export offering quick views (All Items / Songs Only / Titles Only), a field picker, and formatting controls with live preview.
  • The close-out checklist can now be enforced: organizations that opt in to close-out gates lock Settle and Archive behind the blocking steps (contract signed, quote approved, deposit received, invoice sent, payment received, feedback logged). Owners and admins can override with a logged reason, and enforcement only applies to gigs created after it’s enabled.
  • Added a Cancelled gig status, distinct from Archived: cancel a called-off show from Draft or Active, keep the record, stop uninitiated payouts — never gated by the close-out checklist. See the event lifecycle.
  • Venues are now a top-level directory with per-venue detail pages: Load-in & access logistics (dock, elevator, parking, load-in path, private access code) entered once auto-fill every gig at that venue, alongside stage specs and the room’s gig history.
  • Redesigned the gigs board, and made gig creation lighter: location is now optional (name, date, and event type are enough), and an optional end date turns a gig multi-day.
  • Replaced the dashboard with a personalized Home page: a greeting, a getting-started card while you set up, stat tiles, recent activity, and a finances summary for admins with finance access.
  • Plan seat limits now block organization invites at the cap, up front — the message shows your limit and current count, batches count pending invites, and custom per-organization limits are supported.
  • ACH payouts now ride on verified bank accounts: accounts carry a Verified / Pending / Unverified badge on profiles and in organization payment settings, and payout eligibility surfaces right on the gig roster.
  • Refined the unified engagements inbox: clearer Active / Needs response / Responded / Past filtering, a type filter spanning invitations, crew offers, availability checks, and onboarding steps, and an org-wide Engagements view of everything your organization has sent.
  • The MCP server surface kept growing alongside these features, so agents can work with the same tours, closeout, and portal data you see in the app.

AI file ingestion, contracts, closeout, and portal forms

  • Introduced CheckAI, Soundcheck’s AI assistant. AI file ingestion is available now — drop a contract, call sheet, rider, or email onto a gig and CheckAI extracts the schedule, crew, ledger, and leads into reviewable proposals you commit. The conversational Slack assistant is rolling out.
  • Ingestion produces the same Universal Event Format as the importer (source.type: "INGESTION"), with a per-file analyze → review → optional cross-file merge → commit flow, a new-vs-duplicate dry run, and a confirmation gate on every commit.
  • Added Contracts & e-signatures: send event agreements for SignWell signature, track each signer through DRAFT → SENT → SIGNED/DECLINED, and route declines back to the org portal. Enterprise orgs can sign under their own brand with white-label branding.
  • Added post-event closeout: gigs now extend to Completed and Settled, with a settlement view that gates closing the books until every crew payable has cleared, plus event/venue/crew reviews captured at closeout.
  • Added portal forms: connect JotForm or Form.io client-portal forms for lead intake, event questionnaires, and feedback, with responses matched to the right customer or event.
  • Added the HubSpot ↔ Flex pipeline: a signed n8n sync that keeps HubSpot deal stages, Flex quotes, and Soundcheck gig status in lockstep, with closeout status flowing back to your CRM.
  • Unified the roster around invitations and per-recipient crew offers, so every staffed seat — however it was filled — shares one response model.

MCP server: file ingestion and a bigger surface

  • The MCP server grew to 73 tools, 9 resources, and 9 prompts, adding the file-ingestion tranche (create_ingestion_batch, add_ingestion_text, get_ingestion_file_review, trigger_ingestion_merge, get_ingestion_batch_review, commit_ingestion_file, commit_ingestion_batch, and more), the soundcheck://ingestion/{event_id}/{batch_id} resource, and the ingest_gig_files prompt.
  • The confirmation gate now also covers commit_ingestion_file and commit_ingestion_batch, binding the exact proposals and merge version you reviewed so a re-merge re-gates the commit.

Unified engagement inbox, operator data importer, and sidebar overhaul

  • Unified inbox at /engagements brings invitations, crew offers, and availability requests under one view; org admins get an org-wide pipeline view at /org-engagements with per-engagement recipient stats.
  • Accepting an invitation or crew offer on Soundcheck now auto-accepts the matching Google Calendar invite — no need to confirm twice.
  • Notification emails open the relevant row in the unified inbox via ?highlight={id}, with a brief scroll-and-highlight on arrival.
  • Added engagement notification preferences: per-kind (invitation, crew offer, availability request) × per-channel (email, SMS, push) toggles for each member, with org-wide defaults that admins can set.
  • Added the operator data importer at /imports: a Parse → Map → Preview → Commit wizard for bulk-loading gigs, venues, customers, and invitations from spreadsheets or pasted CSV/TSV. Idempotent on re-import via stable external IDs.
  • Sidebar reorganized into Operations, Admin, Sales, and Developer groups; Payments and Tasks promoted to top-level pages; Engagements pinned for admins.
  • Page layouts normalized to a shared PageHeader for consistent titles, descriptions, and action slots.
  • Crew offer cards now show the gig date, and past-event offers hide the Accept/Decline buttons.

Engagement service, calendar handoff, and operator import endpoints

  • Added the engagement service: a shared response model spanning invitations, crew offers, and availability requests. New reads at GET /v1/users/me/engagements and GET /v1/organizations/{orgId}/engagements.
  • Added engagement notification preference endpoints under /v1/users/me/.../engagement-notification-preferences and /v1/organizations/.../engagement-notification-defaults.
  • Accepting an invitation or crew offer now calls CalendarService.AddAttendeeToEvent with responseStatus=accepted, so the user’s Google Calendar RSVP follows automatically.
  • Added operator import endpoints under /v1/organizations/{orgId}/imports/* (create, list, parse, map, preview, commit, catalog). Optional AI-assisted mapping (opt-in via IMPORT_AI_MAPPING_ENABLED) scrubs PII before any model call.
  • Added partial unique indexes on Invitation(eventId, email) and Invitation(eventId, phoneNumber) so invitation upserts are idempotent across retries.
  • Redesigned the sidebar with Linear-style grouped navigation; renamed Leads to Pipeline and unified Crew Offers and Leads under the sponsors-style layout.
  • Broadened People access and consolidated People / Pipeline tabs alongside the new sidebar groups.
  • Template events are now visually marked, draft and template styling uses the warning and info design tokens, Notify is hidden on templates, and templates no longer appear in date-based gig sections.
  • Quieted 503 noise on Connections and hid pending invites in the gig table view.

CRM, scheduling, templates, and payout workflows

  • Added the CRM suite: customers, venues, sponsors, sponsor commitments, inventory, lead intake, lead conversion, and signed n8n CRM sync ingestion.
  • Lead conversion now turns a qualified inquiry into a gig, customer, primary contact, and customer-gig link.
  • Added personal availability, the organization crew availability calendar, and availability requests that reconcile responses into member calendars.
  • Added the Gig Coordinator role for gig operations without billing, P&L, payout, or member-administration access.
  • Added gig templates, gig duplication improvements, and draft-to-active publishing guidance.
  • Added crew offers for open shifts and job offers, with accepted offer payouts included in finance totals.
  • Added per-user calendar feed subscriptions for Apple Calendar, Google Calendar, Outlook, and other iCal clients.
  • Added profile updates for instant member payouts through Stripe and calendar sync management.

CRM, availability, calendar feed, and payments API updates

  • Added CRM APIs for customers, venues, sponsors, inventory, lead conversion, sponsor requests, and the signed n8n CRM sync webhook.
  • Added availability request APIs, crew availability calendar reads, and candidate selection for scheduling managers.
  • Added calendar feed token generation and public .ics feed delivery using per-user secret URLs.
  • Updated payment handling with ACH-funded payouts shown as free, Stripe charge retrieval for better fee attribution, and offer-payable ledger support.

Analytics, sync, and operational hardening

  • Configured the PostHog proxy and enriched user, organization, role, and group analytics identification.
  • Added n8n CRM sync configuration through signed webhooks and organization binding.
  • Continued OpenAPI sync, web coverage expansion, and CI stability improvements around the new CRM, availability, and payment workflows.

Payment history visibility

  • Fixed payment history refreshes so pending member payments initiated from a gig team card appear on the organization Payments tab, and profile payment history loads across every organization membership instead of only the active organization.

Financial and roster workflow refinements

  • Implemented Stripe destination-charge payout architecture and payout funding flow work for member payments.
  • Added payment confirmation flow and tightened fee visibility controls so pay values respect creator/admin role rules.
  • Fixed setlist and team visibility edge cases, including accepted-invite filtering, paid-by logic, and roster dedupe behavior.
  • Enabled clickable song/media links in event workflows with more reliable parsing and safer deep-link handling.
  • Improved event details and sample-event UX with stable tab loading, search behavior, and reduced regressions around sample data and pay badges.

Routing and onboarding stability

  • Reworked public organization profile routing with top-level slug profiles and synced org slug handling with Clerk.
  • Hardened organization onboarding and authentication redirects to reduce stale-state stalls and redirect loops.
  • Updated enterprise and white-label behavior around organization pages and access gating.
  • Improved onboarding and authentication E2E coverage for cached sessions and redirect timer teardown.

Audit and finance reliability updates

  • Expanded event audit logging with field-level diffs and stronger success/error guardrails.
  • Added destination-charge transaction/stripe handling updates, including refund handling and improved payment observability.
  • Improved precision handling in ledger/amount math and tightened decimal rounding behavior across balance computations.
  • Hardened workflow and user event parsing paths to reduce edge-case failures and reduce noisy update payload handling.

CI/CD and operational hardening

  • Hardened API deployment and backend workflow guards for safer concurrency and PR handoff safety.
  • Stabilized Docker/devcontainer startup tooling and fixed pipeline failures in docs, migration, and API job chaining.
  • Continued maintenance of changelog/docs tooling, including broken-link and sync workflow cleanup for release-note automation.

Documentation and platform reference updates

  • Cleaned up docs/changelog automation references and updated documentation workflows to reduce CI drift.
  • Corrected broken-link handling and synced reference links after recent product/API changes.

Pollstar Live! 2026

Soundcheck CEO Ben Ikwuagwu joined the speaker lineup at Pollstar Live! 2026 to discuss software, scale, and industry readiness for new tools. What we took home from Pollstar Live 2026.

Profile editing & UI improvements

  • Added Edit General Information screen with Figma parity (ENG-65)
  • Fixed null-user loading state and KeyboardAvoidingView indentation

Authentication & onboarding fixes

  • Fixed first-login auth race conditions and context loading issues
  • Improved org invite onboarding flow for unauthenticated users
  • Auto-populate org invite signup form with email from Clerk API
  • Fixed gig invite handler and position_name field mismatch
  • Added rate limiting to invite verification endpoints
  • Redirect NotFound to /gigs instead of /dashboard

Security & middleware enhancements

  • Implemented CORS origin allowlist and fail-closed behavior
  • Added Twilio webhook signature verification
  • Enhanced client IP handling in middleware
  • Added dynamic rate limiting configuration
  • Implemented fail-closed behavior for ENVIRONMENT variable
  • Added security observability for auth/authorization failures
  • Removed legacy basic auth and closed bypass vulnerabilities

CI/CD & workflow improvements

  • Enhanced CI workflows with workflow_run triggers and success guards
  • Added schema drift detection and health checks
  • Added baseline data seeding and handler generation to CI
  • Consolidated docs automation workflows
  • Added Slack changelog digest with Block Kit formatting

Repository & handler improvements

  • Implemented Prisma-based subscription repository
  • Standardized error handling for “Not Found” cases
  • Enhanced DELETE operation handling
  • Added stub calendar service for testing environments

E2E testing & org provider improvements

  • Added stale org self-healing coverage to OrgProvider
  • Guard org refresh with useRef to prevent redundant calls
  • Migrated web quality checks to tsgo and oxc tooling

OpenAPI Spec & Error Standardization

  • Added OpenAPI 3.1 spec auto-generated from handler annotations via swaggo
  • Standardized error responses across all handlers to flat APIError format
  • Fixed bug where clients couldn’t read API error messages
  • Added CI step to generate and publish OpenAPI spec artifact
  • Sentry log handler now respects configured minimum log level

Documentation Site Launch

  • Launched comprehensive Mintlify documentation site
  • Consolidated all markdown docs into structured navigation
  • Added API reference with OpenAPI integration
  • Added interactive API playground
  • Added search functionality

Finance Module

  • Added finance line items for event budgeting
  • Added performer payment tracking
  • Added organization finance metrics
  • New proto: finance/v1/finance.proto

Key Vault Migration

  • Migrated sensitive env vars to Azure Key Vault
  • Added private endpoint access
  • Improved secret rotation capabilities

NAMM 2026

The Soundcheck team spent the week at NAMM 2026 in Anaheim connecting with manufacturers, agencies, and touring professionals across the industry. NAMM 2026 recap.

Authentication Improvements

  • Fixed OAuth redirect handling
  • Added token race condition fix
  • Improved Apple Sign In flow

Setlist Builder Enhancements

  • Drag-and-drop song reordering
  • Set duration calculations
  • PDF export functionality

Initial Release

  • Mobile app for iOS and Android
  • Web app for desktop users
  • Go API backend
  • Azure infrastructure deployment