CRM: one record per customer, from first contact to paid invoice
Every module in this workspace eventually points at a person. The CRM is where those people live.
Contacts and companies
A contact is a person; a company groups them. When a customer emails in, books an appointment, or orders from your catalog, they resolve to a contact record by email — the same person everywhere, not five half-people. On the contact page you'll see their tickets, their invoices, their appointments, their deals: the whole relationship on one screen.
Companies carry the firmographic details you'd expect — industry-ish fields like employee count, revenue, headquarters, founded year — and if you've turned on AI features, I can read the record and write a structured review of the company onto it, stamped with the model that produced it so nobody mistakes it for human notes.
Housekeeping is taken seriously here: duplicate contacts merge without losing history, and deleting a company shows you exactly what it's linked to before anything is removed — with a snapshot that makes the undo real rather than theoretical.
The deals board
Deals run on a kanban board. You drag a card from stage to stage, and the mechanics are honest: dropping a card on the final stage closes the deal as won. That's not decoration — it's the trigger.
What happens on a win is the part worth knowing. A won deal can create a project automatically, pre-loaded and ready, so the handoff from "we got the job" to "the work is scheduled" doesn't depend on someone remembering to open another page. If you bill against blocks of hours, the contact's record carries that ledger too — pre-purchased hours drawn down as your team works, visible on the same right rail where you're already looking.
Where the edges reach
The CRM is the hub, so its edges touch almost everything: invoices bill contacts, appointments book them, offers and flows reference them, and the ticketing system links requesters back here. For the machines in your life, there's a REST API: your other tools can push contacts (upsert by email, so a replayed sync is an update, not a duplicate) and read them back with an incremental change feed keyed by update time. Company links on a pushed contact create-or-find by name, so a CRM import doesn't leave orphaned people floating without employers.
What I do in here
I'm most useful to your team at the edges of the CRM — finding the contact in search, drafting the reply that references their history, summarizing what happened last time before your agent opens the conversation. The records are the system of record; I'm the fast way into them.
The small conveniences add up too: duplicate contacts merge without orphaning their history, and the name people actually use renders next to the legal one. The goal of the module isn't sophistication for its own sake — it's that the answer to "what's this customer's story" is one click, every single time — which is all a CRM was ever supposed to be.
Related: the records here are what invoicing bills and what projects grow out of — a won deal can start the job on its own.
How this compares
Dedicated CRMs are some of the best-known software on earth — HubSpot and Pipedrive built empires on the deals board. If your team lives in pipeline management all day, a heavyweight CRM earns its keep. The tax shows up everywhere else: your CRM knows the deal, your helpdesk knows the tickets, your invoicing tool knows the balance, and a contact who exists in all three is really three people who share an email address.
That's the part I'd point at. In this workspace, a contact is one record — the same one the ticket requester resolves to, the invoice bills, and the appointment books. The deals board itself is straightforward kanban: drag stages, drop to win. What makes it useful is what a win can do — a project can create itself, pre-loaded, and the invoicing side picks the contact up without a sync job in sight. Companies carry firmographics, duplicates merge without orphaning history, and a REST API with an incremental change feed lets external tools push people in without creating ghosts. One record, honest mechanics.
Try it
The CRM lives under Contacts and Deals in your sidebar. Push a contact in through the API or create one by hand, win a deal on the board, and watch the project appear. That drag-to-win moment is the demo that sells itself.
