Every lead, deal, and conversation on one timeline you own.

Leads, pipelines, and a single timeline per relationship — with email and SMS that actually send, sequences that run, and write-back to the tools you already use.

Your pipeline

Shape your own pipeline — and every move writes to the timeline.

Lead → Won, or whatever your funnel actually is. Drag a deal to the next stage and Excellent writes an activities row to that relationship's timeline — so the history is append-only, never an overwritten status field.

opportunity_move · activities.insert

One database

The person in your pipeline is the person in your directory.

A lead is one-or-more people linked through entity_links to a single timeline. Calls, emails, SMS, and meetings all land on that one spine — and the contact reads from the exact same people row Operations and Hiring use. No parallel contact table to reconcile.

entity_links · one people row

Real delivery

Sequences that actually send — and auto-pause when one bounces.

The cadence runner fires real email (Resend or any HTTP transport) and SMS (Twilio or any HTTP transport) through your own keys — the secret lives in your env, never the database — with idempotency keys and transient retry. Delivery webhooks track opens and bounces, and a hard bounce auto-pauses that lead's cadence before it burns the domain.

Resend · Twilio · auto-pause on bounce

Write-back

Push to Salesforce, Calendar, and Postgres — you keep the source.

Bidirectional write-back mirrors Contacts, Accounts, and Opportunities to Salesforce, meetings to Google Calendar, and rows to any PostgREST or Supabase database. Your local SQLite stays the source of truth; the external system is the mirror it writes into — direct, no third-party broker in the path.

SQLite = source · Salesforce = mirror

Ownership

Export every lead and timeline — one endpoint, CSV or JSON.

The whole CRM exports as CSV or JSON from a single endpoint. There's no export ticket and no lock-in tax, because the data was never anywhere but your machine to begin with.

/api/crm/export · csv | json
/api/crm/export
$ GET /api/crm/export?format=csv200 · text/csv · 1,284 rows — leads, timelines, activitiesGET /api/crm/export?format=json  # same data, JSON

A synced contact is the same person everywhere.

The lead in your pipeline, the candidate in hiring, and the contact synced from Gmail are one record in one database — not three copies that quietly drift apart.

Bring your whole business home.

Download Excellent and run your whole business on your own machine.