Module

Revenue

The people you are selling to, the money you are trying to win, and the timeline of everything that has passed between you. Find it in the sidebar under Revenue. It sits between Paid Marketing (what you spend on attention) and Finance (what you collect once somebody signs), so ad click → contact → deal → invoice → cash is one chain in one database.

What ships

  • Contacts — the humans, whether or not you bill them yet.
  • Deals — one revenue opportunity each, owned by a Member or by an AI employee.
  • Deal stages and the board — your sales process as an ordered list of columns, seeded with a sensible ladder on first visit.
  • The activity timeline — every email, stage change, signal and note against a contact, deal, or account. Mostly written for you.
  • Sequences — multi-step outbound where each touch is drafted individually by an AI employee.
  • Signals — product-usage triggers over your own database.
  • Insights — MRR movement, retention, CAC, pipeline coverage, win rate and stage conversion.

Contacts vs. Customers

These are two different objects and the difference is the whole reason this section exists.

Contact
A person. Name, email, phone, job title, LinkedIn. Lives here, under Revenue → Contacts. A contact does not need an account attached — early on, most of the list has none.
Customer
An account — the billable company, over in Customers, carrying the billing email, tax ID, contracts and statements.

A contact is linked to a customer when — and only when — an account actually exists for them. Until then the employer is just a free-text Company field on the contact, which is kept even after you link the account, because the parent company and the billing entity disagree often enough that overwriting one loses information. There is no separate pre-revenue "account" object to keep in step: a Customer is simply not billable until it has an invoice, so contracts, ACV and statements work for a prospect for free.

Each contact carries a lifecycle stage — subscriber, lead, qualified, opportunity, customer, churned, or unqualified — and an owner who is either a Member or an AI employee, never both. Source records where they came from, and it is filled in automatically for contacts a signal created (signal:trial-expiring) so attribution survives.

Do not contact is a hard opt-out on the person: it blocks every address you hold for them, on every send path. It is separate from — and checked alongside — the address-level suppression list described in Deliverability. Archiving a contact hides them from the list without removing them from historical activities and deals.

Deals

A Deal is one opportunity: a title, an amount, a currency, an expected close date, and the stage it sits in. Both the customer and the primary contact are optional, because a deal routinely starts as a company name and a number before either exists. Other stakeholders — the buying committee — are added on the deal itself as additional contacts.

Two fields do more work than they look. Next step is one line the owner keeps current: what has to happen next. Probability is inherited from the stage unless you override it on the deal, which is what makes weighted pipeline value meaningful before anybody has touched a single row.

Deal stages

Your sales process is a flat, ordered list of deal stages, managed from Revenue → Settings → Stages. Each stage has a name, a colour, a default probability, and a kind that decides what reaching it means:

  • Open — still in play.
  • Won — terminal, counts as revenue.
  • Lost — terminal, does not.

The kind is the single source of truth for a deal's status: moving a deal into a stage rewrites the status to match and stamps the close date, and moving it back out reopens it. You never set status by hand.

The first time anybody opens the board, Genosyn seeds a conventional B2B ladder — New (10%), Qualified (25%), Demo (40%), Proposal (60%), Negotiation (80%), Closed Won, and Closed Lost. Rename, recolour, reorder and reweight them freely; those probabilities are defaults, not claims about your business. Archiving a stage removes it from the board and the move-to picker while keeping it resolvable for deals that closed in it, so a historical win never loses its stage name.

The board

Revenue → Board is one column per open stage, one card per deal, sorted so the deals nearest a decision are where your eye lands. Drag a card between columns to move it — that is the same operation as changing the stage on the detail page, so it writes a stage_change activity, updates the status, and feeds the funnel report. Dropping a card into a won or lost column closes the deal; lost asks for a reason, and the reason is worth typing because it is the only field that later explains a conversion cliff.

Each column header carries its count and its total value, and the board totals both the raw and the probability-weighted pipeline. Filter by owner to see one person's — or one AI employee's — book.

The activity timeline

Every contact, deal, and customer has a timeline, and it is the most valuable thing in this section precisely because almost nobody types into it. An Activity is one event: what happened, when it happened, and who did it.

From mail
email_in / email_out, written by mail sync. The bulk of the timeline.
From deals
deal_created, stage_change, deal_won, deal_lost. Stage changes are what the funnel report reads.
From outbound
enrollment, sequence_step, unsubscribe, bounce.
From signals
signal, when a product-usage trigger fires on a contact.
From humans
note, call, meeting, task — logged by hand from the Log activity button.

How it fills itself from mail

Once a mailbox is connected under Email, every sync compares the participants on each new thread against the email addresses on your contacts. A match writes an activity onto that contact's timeline — inbound or outbound, with the subject, a snippet, and a link straight into the thread. Open a contact you have been emailing for two years and the whole correspondence is there, with nobody having done any data entry. That property is what makes the section load-bearing instead of abandoned.

Three behaviours are worth knowing, because each one is deliberate:

  1. It links to contacts that already exist; it never creates one. A real inbox is mostly newsletters, receipts, vendors and strangers. Auto-creating a contact per address would bury the list within a week and make every number downstream — counts, targeting, reports — noise. Creating a contact stays an explicit act: you add one, you import, or a Signal fires.
  2. It is idempotent per message. Re-syncing does not double a conversation. The consequence, accepted on purpose: a contact created after a message was already synced does not retroactively inherit that message, because the message is no longer new.
  3. It never breaks the mailbox. The linking is best-effort enrichment hanging off sync. If it fails, mail still arrives.

The same pass does two more jobs: an inbound reply on a thread a Sequence started stops that enrolment, and a delivery-failure report from a mail daemon suppresses the dead address — see Deliverability.

Insights

Revenue → Insights reports over a period you choose, defaulting to the trailing twelve months. Recurring revenue: MRR movement split into new, expansion, contraction, churn and reactivation (the waterfall is guaranteed to add up), ARR, and NRR / GRR retention. Pipeline: coverage against a target you enter, win rate, sales-cycle length, and stage-to-stage conversion read off the stage-change activities. Acquisition: CAC by channel, LTV:CAC, and payback months. A brand-new company sees zeros, never errors.

Giving AI employees revenue access

By default an AI employee cannot see the revenue section at all — no grant means no revenue tool. Owners and admins grant access from Revenue → AI access at one of three escalating levels:

  • Read — see contacts, deals, activities, signals and the reports. Changes nothing.
  • Write — also create and update contacts and deals, log activities, move a deal between stages, and enrol somebody in a sequence. Drafts still wait for a human.
  • Send — also let a sequence this employee drafts go out without anybody pressing Send. This is the only level that spends your sending reputation unattended, and it is gated a second time by the mailbox grant. See autoSend.

Members reach Revenue through the app as usual; these levels govern the AI surface only. Every write an employee makes lands in the audit log marked as an AI actor and on the employee's journal.