Weekly 21 Sept – 27 Sept

Type a list filter in plain language and Zero applies it, alongside shared LinkedIn pages and more reliable sequence delivery.

Type plain text into the list filter bar (AI-assisted filter creation)

You can now write a plain-English filter in the list search box (for example “my open deals over 50k” or “companies in europe”) and press Enter to have Zero apply matching filter pills automatically. The feature uses a small, local routing step to avoid unnecessary model calls and only invokes the model when the text reads like a filter (Cmd+Enter forces the AI); the server validates and resolves names to ids so results render as editable filter pills.

Other improvements

Shared text/editor foundation and test cases

Server and the editor now share a single base set of Tiptap nodes and codecs and a schema/versioning guard so stored documents are repaired and rendered consistently; the repo also pins the current converters with 700+ hand-written cases so future profile-based renderers can be validated against today’s outputs.

LinkedIn: workspace pages, follower sync, formatting and sequence sender identity

LinkedIn managed pages and follower sync were centralized at the workspace level (shared page settings, resumable follower imports, contact creation, lead-search/reporting filters and reporting columns), message formatting from LinkedIn is now preserved in sourceBody so rich formatting survives syncs, and LinkedIn sequence sending now keys off the LinkedIn account identity (not the Zero user who originally connected it) while respecting each account’s public-by-default visibility.

Sequence email and delivery: approval, readiness and scheduling fixes

Sequence message approval and delivery logic was tightened end-to-end: start‑gate email approval is surfaced separately, prepared-draft readiness checks gate fanout and mailbox scheduling, draft previews are allowed with unhealthy sender mailboxes while actual sends still reject until the mailbox is fixed, and mailbox scheduling/fanout was adjusted so hot mailboxes no longer block capacity for others.

HubSpot admin: targeted refresh and workspace-owned connections

Admin integration menus get a one-off Refresh values action to re-pull selected HubSpot properties into existing linked Zero records, and HubSpot connections were moved from user-scoped storage into a new workspace-scoped table so teammates share connection visibility; the migration plan requires a manual copy step and a short maintenance window.

Lists, pickers and relation properties

Filterable drill-in lists are now shared between Select and ColumnPicker (OptionList), group-by uses a property-aware selector, non-record dynamic lists are supported (activity, files, memberships, analytics), and relation fields were unified so custom relation properties create/attach records correctly while the column catalog gained relation summary columns (counts and aggregated deal values).

CSV/imports and fair-use quotas

Large chat CSV imports now reference storage objects rather than embedding all rows in the job payload, server workers copy referenced CSVs into an ops archive, and CSV imports gained a shared fair‑use allowance that lets trial and Pro workspaces run a defined number of imported-contact enrichment lookups before normal credits apply.

Enrichment and deliverability robustness

Phone and email enrichment now distinguishes provider errors from a completed but empty lookup, preserves existing contact values when vendors return no data, and tightens ZeroBounce usage so verification calls are deduplicated and serialized to avoid burning credits on parallel attempts.

UI polish and record-creation UX

Small but visible UX improvements: Spotlight create now shows a toast with a View action; the New badge sits above the name; chat context selections over three records collapse into one chip; drag-and-drop files were added to record Files; the trial countdown was centered in the sidebar; the floating chat composer recenters when builder sidebars open; the record header shows an Add deal pill when no deal exists; record-linking from a deal’s contacts field now reliably attaches created contacts;

Pipelines: editor UX and choosing the right default after import

Pipeline editing now keeps edits as drafts with a sticky Save/Cancel bar and clearer discard behavior, and imports automatically promote the pipeline that actually contains the imported deals as the workspace default when the previous default is empty so teams land on the pipeline they use rather than an empty seeded pipeline.

Automation validation, safer hooks and saved-view controls

Add‑deal and automation actions now validate pipeline/stage/list references so stale IDs produce clear warnings, a write-response leak (returning fields crossing into hooks) was fixed so certain patch calls stop failing, and saved-view/property selection received clearer save controls and unsaved-change handling in the sidebar.

Workspace qualification job and outbound webhook delivery

A new hourly job scores workspaces on engagement signals and persists the first qualifying snapshot; when a workspace qualifies the system will deliver a signed, retryable webhook event in bounded batches with compare-and-set claiming and retries.

Analytics sessions and Replay Vision in feeds

PostHog analytics sessions (with Visit metadata and Replay Vision summaries) can appear in company/contact/deal feeds with a Watch replay link where a recording exists; the sync batches findings and stores replay URLs and summaries as server-only fields.