Customers gets statuses, saved views, and CSV import
Customers gains statuses, saved views, and CSV import, integrations get their own page, and Studio now handles video.
Customers grew into a real workspace
The customer index now bends to how you work. Search by name or email, filter on any custom field, sort the columns you care about, and pick which ones show at all from the new customize panel. Once you land on a setup you like, save it as a view and name it. Mark one as your default and that is what opens next time.
Status became a built-in field instead of a property you had to invent. Every organization starts with Lead, Qualified, Customer, and Churned, and managers can rename, recolor, reorder, or delete them. Deleting one asks where its customers should go rather than quietly orphaning records. Flip the index to the new Board view and you can drag a customer from one status to another.
Select a few rows and a bulk bar slides in for setting status, archiving, restoring, or exporting to CSV. Getting customers in is easier too. /hub/[slug]/customers/import walks a CSV through upload, column mapping, and a preview before anything is written. Headers like Name, Email, and Status match themselves; anything unusual you map by hand.
Every integration in one place
Connected apps, AI provider keys, and API access moved out of the organization settings page and into their own Integrations page at /hub/[slug]/integrations. Each provider is a card with a real brand icon and its current connection state, and the configuration drawer opens right after you connect instead of leaving you to hunt for the next step. Disconnecting sits where you would expect and looks like the destructive action it is.
API keys you can name and rotate
An organization is no longer stuck with a single API token. Owners and managers can create as many named keys as they need, each one full access or read-only, then rename or revoke them individually. The secret shows once, at creation. So you can hand a key to one automation, label it for what it does, and pull it back later without breaking everything else you connected.
Video arrives in Studio
Pull an MP4, MOV, or WebM in from Media Center or paste one straight onto the canvas. Studio grabs a poster frame, reads the duration, and lays the clip out with the same fit, crop, corner, and shadow controls your images already use. Select the element to play it in place.
Frames holding video export as MP4, with a progress bar you can cancel. Frame rate follows the source clip by default and you can override it when you need something specific. Frames without video still export as PNG or JPG, and a mixed selection comes back as one ZIP with both kinds inside.
Properties that fit the data
Pages, board cards, and customers all draw on the same property system, and that system now gives every type its own editor. A date behaves like a date, money formats like money, and person fields search your members. Selects gained real option management with colors and drag-to-reorder. When a change would affect values that already exist, you see what it touches before you confirm.
Long lists stop dragging
Boards, customer lists, media folders, and form submissions load a page at a time instead of pulling everything up front. Drag ordering, filters, calendar, grid, and table views behave exactly as before. They just hold up on boards that have grown.
A steadier-looking Hub
Icons and avatars across the Hub now follow one shared treatment, so a page, a board, a customer, a Studio project, and a search result all render at the same sizes in the same rounded container with the same color rules. The sidebar and your search results are quieter to read because of it. Internal content keeps its lock treatment and still reads at a glance.
Under the hood
Public entrypoints like forms, Spotlight pages, the support widget, and automation webhooks now carry tighter request limits and stricter validation. Support drops a page source the moment that page is deleted or switched to internal, so private content cannot surface in a public answer. Package versions are aligned to 2.2.0. Nothing here needs a migration, a new secret, or a feature-flag change.