A round of changes driven directly by your feedback.
The editor inside create dialogs finally behaves
The rich-text editor's floating menus — slash commands, the selection toolbar, @mentions — used to misbehave inside the create dialogs for tickets, articles, and projects: menus wouldn't open, or clicking one closed the whole dialog. That's fixed. Menus now open reliably, can overflow past the dialog's edge, and Escape does the right thing — first press closes the menu, second closes the dialog. The selection toolbar also anchors at your cursor instead of jumping to the top of the screen when you select a lot of text.
The ticket dialog picked up some extras along the way: a maximize toggle for writing longer descriptions, and a tidier field row — priority, status, assignee, tags, and attachments stay inline, while less-used fields like start date, deadline, customer, and project live behind a ··· menu. Picking one adds its chip and opens its picker in the same click. Dialogs also open faster and animate from the right place.
Bulk sync can report back per row
The workflow bulk-upsert node has a new Return per-row results toggle. Turn it on and the node's output includes one entry per synced record — its Starko ID, external ID, and whether it was created, updated, unchanged, or invalid (with a reason). That means a sync can write Starko IDs back to your source system, or fan out follow-up steps over only the records that were just created. Off by default; results are capped at 5,000 rows per run.
Custom attributes for companies and tenants
The free-form attribute card that clients have is now on companies and tenants too. Edit attributes directly on their detail pages (the section starts collapsed, like on clients), and the workflow side has full parity: create, update, and bulk-upsert nodes all accept custom attributes for all three entity types.
Live for all workspaces — nothing to do on your end.