July 6, 2026

This Week in Slashwork

This week was a grab bag. One long-promised feature, one enterprise checkbox, and a pile of fixes nobody asked for but everybody needed. We landed the much-request Org Chart, SCIM became really real, and mentions got a tasty tune up. Here's what shipped.

Org chart, Inline chat search, SCIM provisioning, Post embedding, Smarter @mentions, iOS badge counts, Non-nullable seen time

🧭 Org Chart

We've been promising an org chart for a while now. It showed up as a “coming soon” aside in an earlier newsletter, and coming soon just became now. The People Directory now runs on a proper tabbed interface, and one of those tabs is a real, navigable org chart: who reports to whom, drawn out as actual lines between actual faces, not a spreadsheet pretending to be helpful.

🔎 Inline Chat Search

Search inside a chat has been near the top of the customer wish list for a while, and this week it landed: you can now search within a conversation without leaving it. It's not perfect yet (result ordering and rendering could use more polish) but really usable.

🔐 SCIM Provisioning Buffs

A few weeks back we mentioned enterprise plumbing was in the works. This week it stopped being a tease: Slashwork now speaks SCIM v2, the standard protocol identity providers like Microsoft Entra ID use to automatically create, update, and deprovision user accounts. Your IT admin sets it up once in their IdP, and new hires get a Slashwork account without anyone touching an invite link.

Under the hood that's a company-level SCIM config with a hashed auth token, a full Users endpoint for creating, listing, and fetching accounts, and a Schemas endpoint so identity providers know exactly what we support instead of guessing. We tested every step of it against Microsoft's own SCIM validator to ensure we’ve dotted our Is and crossed our Ts.

📎 Post Sharing

We laid the server-side groundwork this week for embedding a Slashwork post inside another post. This is a foundation for quoting or resharing something someone said, without copy-pasting it into a new message and losing all the context. We also pulled the actual post-rendering logic out into its own reusable piece, so the embedded version and the original render exactly the same way, because they're now, literally, the same code.

Nothing to click on yet. But the pipes are laid.

🔔 iOS App Icon Badging

We shipped the server-side piece of proper badge counts on iOS: the number on your app icon now reflects your actual unread count, explicitly set every time we push a notification, and kept in sync as you read things or new items roll in outside of a push. Small feature. Extremely visible one.

🧱 Under the Hood: Mark as Unread

This is the section where I ask you to care about something you'll never directly see. Group “seen” state used to be nullable, which meant marking a chat as unread had to blow away the seen timestamp entirely. Fine, until you want to show whose face was last seen below a given message — which needs the seen time and the unread flag to be two separate, independent things.

This week we added a proper column, backfilled it, stopped writing nulls, and finally made the field non-nullable — three commits, in that exact order, because that's the only order in which this kind of migration doesn't break production. There's no visible payoff yet. There will be.