The company record
One company, as all nine roles already see it. Open it from any account name in any panel, or search for it in the command palette.
Overview
Every other surface in the app is a list ranked by one lens. Deals ranks by risk, Customers by health, Escalations by what is commercially at stake. That is the right shape for deciding what to work on, and the wrong shape for working on one thing: a single deal meant visiting six panels and holding the join in your head.
The account record at /companies/<id> is the other view. One company, with each role's slice of it in one place.
You reach an account three ways: click its name in a panel, search for it at /companies, or type the company into the command palette. The page at /companies is a lookup rather than a twelfth ranked list, because ranking the book is what every panel already does and finding one company is what none of them did.
Every panel that names a company links it: Deals, Customers, Partners, Renewals, and the account behind a deal room or a routed signal. The panels that do not are naming something else. Prospecting and Awareness name a person rather than a company, SE Signals names a POC whose account is a free-text label, and Market names an account matched by filter that has no record in your book until you import it. A test holds that list, so a panel cannot quietly join it.
It computes nothing new
The account lookup uses the reviewed table and evidence panels. Domain and context come from saved account fields. Missing values stay unrecorded, and a listed company is not a verified contact. Search reports the current scan size and warns when older accounts may be outside that scan.
Eligibility. Each account shows whether your first launch would research it: Eligible, Excluded or Not confirmed, with the reason. It is the same check the launch runs before it researches a company, over the same rules: the accounts you excluded, plus accounts your own records hold, such as an existing customer or an account with an open opportunity. Not confirmed means the answer rests on less than the full check: the account has no domain, so only rules by company name could match, or one of your records could not be read just then. Exclude account and Restore eligibility are the launch's own actions, so an exclusion set here holds the account in research, contact selection and sending, and shows on the launch research step too. Restoring lifts only a rule you set; an account held by its own records keeps its reason, and the button says so. Eligibility does not change which accounts are listed.
This matters more than any single section on the page. Every value here is one company's slice of a ranking that already exists, produced by the same engines the panels run over the same rows. The deal risk is inspectDeals, the same function Deals calls. The health score is inspectBook, the same one Customers calls.
Every tile names the role that produced it. An unattributed number is a claim nobody owns, and this page would be the easiest place in the product to grow a second set of answers that quietly disagree with the panels. If a section here would need a number no panel computes, that number belongs in the panel first.
Launch research and contact evidence
Below your accounts, /companies shows what your first launch researched, in the same table the launch showed you while it ran. Each account row has why it fits, the sources that identify it, its eligibility, the AI calls and vendor credits its research used, and a receipt link for each paid lookup behind its contacts. Under the table sits the launch's total: AI calls used out of 30 and vendor credits reserved out of 5.
Contact evidence. Each contact found at an account shows three separate lines. Person says who identified them and when. Employer says when the company was last confirmed, and says stale once that check has expired. Mailbox says deliverable only for a current check; an accept-all domain, an expired check or an address whose shape alone was checked all read as unknown, with the reason. A named person is not proof that mail to the address arrives, which is why the two lines never merge.
Verify contact. A contact marked Review before sending carries a Verify contact button. It runs the same check as the draft review in your launch: one launch credit, through your connected Apollo account, and the answer replaces the old evidence. A check made recently is reused at no charge. When the check cannot run, the button is disabled and says why: research is still running, daily prospecting owns the contacts, or the contact has no address.
Research that stopped. A paused launch says so above the table, with the fix when there is one (an AI key or AI budget in Settings). A paid lookup whose outcome is still unknown is listed under Research request with a link to its receipt, so you can check it before starting another.
On one account's page, the same panel shows that account's row and its contacts only. An account your launch did not research says so.
The first-run flow and these pages render the table and the evidence from one shared script, so they cannot describe the same account or contact two ways.
What each section shows
- The tiles. Stage, open value, deal risk, health, renewal date, last touch and people. Each carries the role or the source it came from. A tile only appears when there is something real behind it, so an account with no opportunity has no risk tile rather than a risk of zero.
- What each role knows. Nine rows, one per role, each with what that role ranks by and what it has to say. A role with nothing says so, and says why. Two or three quiet rows on a working account is normal: crocronjob has nothing until a deal closes, and leadercron has nothing while you are the only person on the account.
- People. Contacts and prospects linked to this account, with their title and last recorded activity. Nothing is inferred; a field your book does not carry is absent rather than guessed.
- Launch research. This account's row from your first launch and the contacts found there, as described above.
- What happened. Agent runs and meetings in one order, newest first. A run that failed says so with its error. An entry with no real timestamp is dropped rather than dated today.
How an opportunity finds its account
The CRM import writes accountId onto each opportunity when the export carries an account column, and that link is what the record joins on. A book imported without one falls back to matching the account name, case-insensitively.
An account id that does not match wins over a name that does. Otherwise a renamed account would silently absorb another account's opportunities, which is the kind of error that looks like data and is not.
An empty account is a real state
An account imported four minutes ago has a domain and nothing else. The record says that, per role, rather than rendering a page of zeroes and grey bars that reads like a score of nought instead of an absence of data.
The health engine is the sharpest case. It treats missing adoption and engagement as risk on purpose, which is right on a board where an unmeasured account genuinely should worry a CSM, and wrong here, where it would tell you an account is at risk when nobody measured anything. So a health score appears only for an account there was something to score.
Research notes, and where each one came from
A scheduled pass writes short research notes against your accounts. Until September 2026 it had no way to look anything up: it asked a model what it remembered about the company and asked it to grade its own confidence. That was honest, and the freshest thing it could tell you was as old as the model.
The pass reads the web now. A note taken from a page it read carries that page's link, so you can open it and check the claim yourself. A note that came from the model's own knowledge carries no link and says which kind of fact it is: a stable one like a head office, or one that moves like a funding round, which it marks for you to verify.
Search is capped per pass across the whole platform, because it costs money per query. When the cap is reached the remaining accounts are researched the old way, from the model's knowledge with no links, which is a thinner answer rather than a missing one. A link only ever appears on a claim actually read there.