The wedge
Most CRMs sell you a beautiful pipeline and then leave you alone — the moment a deal closes, you re-key the customer into your invoicing tool. Odexy CRM and Odexy Sales share one customer table. The deal you won on Tuesday is the company you invoice on Wednesday, with no copy-paste.
What ships today
- Multi-pipeline deals — per-pipeline stages, custom probability, weighted forecast.
- Companies + contacts — primary contact role, multiple email + phone per contact, address typed.
- Activity timeline — emails, calls, notes, file uploads, deal stage changes — one chronological feed per company.
- Per-org multi-currency — deal value in the customer's currency; conversion to the org's reporting currency happens server-side.
- Lead capture —
crm.lead.createaction, called by the contact form, by inbound email, by the AI agent. - Saved views — per-user filters/sorts persisted as URLs.
How it integrates
This is the suite payoff:
- Sales — close a deal; an invoice draft auto-creates linked to the same company.
- Accounting — invoice payment posts a GL entry tagged to the deal for true cohort attribution.
- Email — outreach goes through one suppression list; bounces flag the contact automatically.
- Support — tickets join to the company; the rep sees deal context on every ticket.
- HRM — owner reassignment respects the live org chart and leave calendar.
The reason this works: every table carries org_id, every join is ON deals.company_id = companies.id. No webhooks, no flattening, no Zapier.
How the AI helps
- "Show me deals that haven't moved in 14 days with notes mentioning pricing."
- "Draft a follow-up to the contacts who opened my email but didn't reply, using the standard 'check in' template."
- "Advance Maria's deal to Negotiation — she emailed back a counter-offer."
- "Flag any deal where the company's last support ticket is unresolved older than 7 days."
The AI uses the same crm.deal.update, crm.contact.create, email.outbound.send your team uses. It inherits your permissions — if you can't see compensation, neither can your AI.
Built for scale
- Per-org subscriptions, custom domains — host
crm.yourcompany.comonce provisioned. - Activity trail — every stage change, every merged contact, every reassigned owner is recorded, with whether a person or the AI did it and what it looked like before.
- Realtime — deal-stage changes broadcast over WebSocket to anyone with the deal open.
- Imports — paste from a CSV with a column mapper; we don't truncate weird characters or coerce timezones silently.
- Open to your own tools — everything the CRM can do is available to your own scripts and to your own AI agents, under the same permissions.
Odexy CRM vs. the category
| | Odexy CRM | HubSpot | Salesforce |
|---|---|---|---|
| Joined to invoicing in one schema | ✓ | — | — (separate cloud) |
| AI uses the real UI | ✓ | partial (chatbot) | partial (Einstein bots) |
| Per-org pricing, all modules included | ✓ | per-seat-per-cloud | per-seat-per-cloud |
| Custom domains + white-label | ✓ | enterprise add-on | enterprise add-on |
HubSpot is the polished category leader; Salesforce dominates enterprise. Both charge per seat per "cloud" — and you'll still need a separate HR, payroll, and project system. Odexy bundles every module per org.
Design-partner take
> "The day we closed our first deal and the invoice was already drafted in Sales, I deleted the import script I'd written to keep our old CRM and our old billing system in sync." — Design partner, 12-person agency
