The wedge
Slack is a wonderful product for chat. But your team is talking about something — a deal, a ticket, a candidate, a sprint — and the chat about it lives in a separate tool from the thing. Odexy Chat threads attach to real entities. Open a deal and see the conversation. Open a ticket and see who's mentioned. No context-switching.
What ships today
- Slack-grade unread — per-channel unread counts, per-thread unread, "mark all read" with right semantics.
- Presence v2 — rich availability (in-huddle, typing, active, away, offline) broadcast over WebSocket.
- Entity threads — a thread can attach to any module entity. Comments on a deal? A thread. Discussion on a candidate? A thread.
- DMs + group DMs — standard direct-message semantics, with read receipts.
- Mentions —
@usernotifications routed through the unified notification matrix (in-app + email + push). - Activity trail — every message is recorded, which is what compliance reviews ask for.
- Notification digests — opt-in chat digest if you don't want every mention to email.
How it integrates
Every module that has comment threads uses Chat under the hood:
- CRM — deal comments are chat threads, mentions notify the deal owner.
- Support — internal-note threads on tickets are chat threads.
- Recruitment — interviewers' debrief notes thread to the candidate.
- Projects — task discussion is one chat thread per task.
- HRM — manager + report private threads for one-on-one history.
Unified meaning: when a thread fires a notification, it goes through one notification dispatcher with one set of preferences and one suppression list.
How the AI helps
- "Summarize the conversation on this deal in the last 2 weeks."
- "Who's been mentioned but hasn't responded in support tickets older than 48 hours?"
- "Draft a reply to the candidate's question in their thread, using the standard 'next steps' tone."
- "Mute the project-x thread for me until Monday."
The AI summarization is read-only by default; replies are propose-then-approve.
Built for scale
- Realtime — Postgres LISTEN/NOTIFY fanned out via WebSocket. No long-poll.
- Unread state — server-authoritative per Slack's published spec; resilient to client clock drift.
- Audit log — every message + edit + delete logged immutably.
- Permissions — channel + thread access governed by the same role / permission system as the rest of Odexy.
Odexy Chat vs. the category
| | Odexy Chat | Slack | MS Teams |
|---|---|---|---|
| Threads attached to real entities | ✓ | partial | partial |
| One audit log with the rest of your work | ✓ | enterprise add-on | enterprise add-on |
| AI uses the real UI | ✓ | partial (Copilot) | partial (Copilot) |
| Per-org pricing | ✓ | per-seat | per-seat |
Slack and Teams are the category winners for cross-org chat. Odexy Chat isn't trying to replace them for that — it's trying to be the chat about your work, with the thread attached to the thing.
Design-partner take
> "Slack is still our company-wide channel. But deal-by-deal discussion happens in Odexy because the thread is on the deal. We stopped trying to find conversations." — Design partner, 18-person sales team
