Salesforce is the gold standard of enterprise CRM. It's also a shrine to the account object, with deals bolted on as a record type, activities bolted on as another record type, and an integration marketplace papering over all the gaps. For a small team with a strong opinion about how sales should work, that's not the product. We wanted a CRM where the deal is the primary object — not the account, not the contact — and where every activity, every email, every calendar invite already lives in another fleet tool, so the CRM doesn't have to duplicate any of it. That product is Envoy.

Envoy Deals Kanban

Why Deal-First

Most CRMs treat accounts as the root object. Every deal hangs off an account, every contact hangs off an account, every activity hangs off somebody. That makes sense if you're a Fortune 500 selling enterprise software — you have one account, five years of engagement, and ten opportunities inside it. It doesn't match how a sales team actually spends a day. Reps wake up, open the CRM, and ask: what deals need my attention today? The answer isn't "which accounts;" it's "which specific opportunities are slipping, which are ready to advance, which have a signal that warrants a call." Envoy inverts the hierarchy. The Deal is the atom. Pipelines are sets of stages a deal moves through. Accounts and contacts are thin projections over Tribe, our authoritative relationship store. Activities stream in from Courier (emails) and Cadence (meetings). The CRM doesn't own those concepts — it just borrows them.

Multi-Pipeline by Design

Envoy ships with two pipelines out of the box — New Business and Renewals — and you can add as many as you need: Expansion, Services, Partner Channel, whatever. Each pipeline has its own stages, probabilities, and forecast logic. Stages carry a numeric probability (0 to 100), an expected duration in days, optional entry and exit criteria, automation hooks that fire when a deal transitions, and a "rot threshold" — the number of days a deal can sit in that stage before it gets flagged as stalled. The kanban view is drag-and-drop, and the weighted forecast recalculates every time a deal moves. There's no bolted-on record type system, no workarounds, no "custom object to simulate multiple pipelines." It's just data.

AI Woven Through

Every deal in Envoy carries an AI-generated health score that combines stage, age, engagement recency, and contact coverage. Risk flags fire automatically for common failure patterns — ghosting, missing economic buyer, stalled renewal, stage regression — and each flag links to the evidence that fired it. The forecast view shows a "commit / best-case / AI" band where the AI column weights the weighted pipeline by historical close rates at each stage, adjusted for the current deal's velocity signature. A Next-Best-Action per deal ("Re-engage champion," "Confirm procurement timeline," "Send reference case study") renders right on the card, with a one-click action that enrolls the contact in a sequence, drafts an email via Courier, or books a meeting in Cadence. None of this is a bolt-on. It's in the core model.

Fleet Integration

The best part of building CRM #27 in your own fleet is that the other 26 tools already solve the problems CRMs traditionally solve badly. Tribe is the contact store — accounts and contacts in Envoy are projections, not originals, so there's no duplication or sync drift. Courier pipes email threads into the deal timeline as they arrive — commitments, sentiment, reply times, all visible per deal with zero data entry. Cadence owns calendar — every meeting attended shows up on the deal, with attendance and (when available) recording transcripts. Trellis owns money — a won deal becomes a quote and then an invoice; payment status feeds back into deal health and renewal risk. Docket surfaces product blockers on the deal card. Slate pushes the day's top-three deals-needing-attention into the morning task queue. Codex renders the relevant sales play inline by stage. Narrative auto-drafts a case study when a deal wins. Pulse closes the loop on landing-page → deal attribution. Herald runs nurture and win-back sequences. Chronicle now observes all of this end-to-end.

Sequences, Quoting, and Commissions

Envoy handles the parts of sales ops that everyone pretends a dedicated spreadsheet owns. Sequences are multi-step nurture or breakup flows with per-step timing and auto-pause on reply; Herald powers the sends. Quotes are versioned, with line items, discounts, and recurring components; quote events (sent, viewed, signed) show up on the deal timeline. Commissions are a first-class module: plans, quotas, accruals, and payout statements. Rep-level attainment with deal-level drilldown. No spreadsheet reconciliation at end of quarter. It's all in the data model, all MCP-exposed.

MCP-Native from Day One

Every Envoy operation — listing pipelines, moving deals across stages, scoring health, running forecasts, logging activities, creating quotes, running reports — is exposed as an MCP tool. A Claude agent can triage the pipeline, write commit forecasts, answer "what's the biggest risk in next week's close list," or rehearse a discovery call by pulling the relevant deal context. We're not layering AI on top of the CRM. The CRM is a first-class tool surface for AI agents, and humans happen to also use the web UI.

The Stack

FastAPI, SQLAlchemy 2.0 async, PostgreSQL for relational, Valkey for the Celery broker. React 19 + Vite frontend using the @avian/design-system and @avian/app-shell for the chrome, with a native HTML5 drag-and-drop kanban for the board. Celery workers handle rot-threshold evaluation and automation hooks; WebSockets fan out live deal updates to every watcher. Mercury 2 backs the health scoring and next-best-action; Anthropic Claude is the fallback. Alembic for migrations, Playwright for E2E. Light and dark mode, no exceptions. MCP-native. 100% built by Claude.

Built in Fifteen Phases, Deployed in One Afternoon

Envoy went from empty repo to production deployment in fifteen phases: foundation, pipelines, accounts, deals + kanban, activities, AI, automation, quoting, forecasting, sequences, territories, commissions, reports, MCP + fleet, hardening. The production deploy touched ECR, ALB, Route53, CloudFront, CodePipeline, and SSM — all provisioned via Terraform. The pipeline was red twice (Docker Hub rate limit, then a port collision in the ALB listener) before it went green. That's the normal shape of a first deploy.

What's Next

Envoy is generally available to the Renkara team today. The next pass wires its telemetry into Chronicle, connects the Courier activity stream more tightly, and teaches the AI health scorer to notice patterns specific to our product mix. If there's a sales process tomorrow that doesn't fit, we'll fix the data model. Envoy is the CRM we finally wanted.