Genosyn
v1.171.0Local --:--:--
revenue

The Deal timeline fills itself from Gmail.

Most stacks keep the ad click, the Contact, the Deal, the invoice, and the payment in four systems that agree only after somebody reconciles them. In Genosyn they are rows in one database. An AI Employee works them at read, write, or send, whichever level a human wrote on its Grant.

Genosyn running a Sales Development Rep use case in Revenue.
Fig. 1A Deal at 06:35, one Sequence queued and unsent.
READ<WRITE<SENDDRAFTS QUEUE5-FIELD CRON
What it does · 6 parts

Deals and Contacts share one timeline.

Contacts, Deals, Sequences, and Signals in the same database as your invoices, with timelines that fill from synced mail.

01

Moving a Deal to Closed Won stamps the date

Seven Deal Stages seeded from a conventional B2B ladder, New through Closed Won, arrive as a flat ordered list you edit, each carrying a forecast probability. Moving a deal into a won or lost stage closes it and stamps the date. Genosyn reserves Pipeline for its DAG automation, so here you get stages and a board.

02

Every synced message lands on one Contact timeline

Mail sync matches thread participants against known Contacts and writes each message onto the timeline as it lands, so opening a contact shows every conversation you have ever had without anyone logging a thing. It links only to contacts that already exist. A mailbox is mostly newsletters and receipts, and auto-creating from strangers would bury the list in a week.

03

A Sequence names one AI Employee and a brief

A Sequence stores no message bodies. It names an AI Employee and a standing brief, so every touch is written for that contact from their real context: prior threads, the open deal, the Signal that enrolled them. Drafts land in the same review queue your mail already uses, and a reply stops the enrolment within a heartbeat.

04

RFC 8058 unsubscribe ships with the first message

Every send path shares one outbound choke-point, and suppression is re-checked there at send rather than at draft time. RFC 8058 List-Unsubscribe with one-click POST, a public unsubscribe endpoint, weekday send windows, and a per-sequence daily cap are on from the first message.

05

A Signal queries Postgres, ClickHouse, or Stripe on cron

A saved query against a connected Postgres, MySQL, ClickHouse, or Stripe account runs on cron, deduplicated so an account fires once instead of on every tick. A firing then logs an activity, sends a notification, opens a Deal, enrols a Sequence, or wakes an AI Employee with the payload.

06

Collected cash sums the payments actually recorded

MRR movement covers new, expansion, contraction, churn, and reactivation, alongside ARR, NRR and GRR cohorts, win rate, sales-cycle length, stage conversion, pipeline coverage, CAC by channel, LTV:CAC and payback. The arithmetic is pure and property-tested, and collected cash comes from recorded invoice payments rather than a deal marked won.

Who works it · 3 behaviours

A Sequence waits for a human Send.

Revenue is one company-wide Grant per employee at read, write, or send — the same shape Finance uses. An employee with no grant gets no revenue tools at all, and the level it does hold is written into its prompt in plain English, so it knows where the line is before it reaches one.

Approval

A Sequence is queued and nothing has sent.

01

Three levels, one row

read lists and opens contacts, deals, timelines, sequences, signals, and reports. write creates and updates them, moves a deal between stages, logs activities, and enrols contacts. send is the only level that can put mail on the wire unattended.

02

Unattended send needs two keys

A sequence marked auto-send requires the employee's revenue grant at send and its grant on that mailbox at send. Suppression, the send window, and the daily cap apply either way — auto-send bypasses none of them.

03

Attributed, then auditable

Every AI write is recorded against the employee's name in the audit log, and the timeline shows whether a Member or an AI Employee logged each event. A contact or a deal can be owned by either.

Questions · 5 answered

Readers ask 5 questions about Revenue.

How is this different from bolting a CRM onto our stack?

The chain is unbroken. The Contact, the Deal, the invoice it becomes, the payment recorded against that invoice, and the journal entry that posts are rows in one database with one permission model and one audit trail — no nightly sync, no integration to reconcile. A Contact is a person and can exist long before there is an account to attach them to; a Customer is the billable account an invoice is addressed to.

How does the timeline fill itself, and what does it deliberately not do?

Mail sync links each mirrored message to Contacts that already exist and writes an inbound or outbound activity, so a contact page shows the whole conversation history with nobody doing data entry. It never creates a Contact from an unknown address, and idempotency is keyed on the message, so re-syncing a mailbox never doubles a thread. Creating a contact stays an explicit act — a human, an import, or a Signal.

Can an AI Employee send outbound email without me?

Not by default. Every drafted touch lands in the Drafts review queue and a human presses Send. Unattended sending requires the sequence to be marked auto-send and the employee to hold send on both its revenue grant and that mailbox — and suppression, send windows, and daily caps still apply, with no path around them.

What exactly is a Signal?

A saved query over a connected product database or Stripe, plus a rule for what to do with the rows it returns, evaluated on a standard 5-field cron. It runs through the same executor and the same 30-second, 5,000-row envelope as an Explore chart, and a unique dedupe key means one row fires once rather than on every tick. Actions are: log an activity, notify, open a Deal, enrol a Sequence, or hand it to an AI Employee.

Where do the CAC numbers come from?

Spend is grouped by platform from the ad-spend ledger Paid Marketing writes, and wins are counted per deal source over the same period, with unattributed spend and wins kept as their own row rather than dropped. That ledger records authorized budget changes rather than settled platform spend, so CAC today is a documented proxy — reading real spend back from the ad platforms is the next step. The other side of the ratio is exact: collected revenue sums recorded invoice payments.

InstallApache-2.0v1.171.0

Tomorrow one thing is finished before 09:30.

Install Genosyn, register an AI Model, write one role, and put it on a schedule. The company grows from there.