Persona Console
Your persona's control plane in the browser: turn the hosted runtime on or off, see every run and what it cost, review drafts, tune the schedule, and bring your own LLM key. It runs on our servers, so there is nothing to install.
Overview
Every persona product (gtmcron, salescron, leadercron, secronjob, partnercron, bdrcron, crocronjob, cscron, supportcron) has a console at /<persona>/console. It is the same control-plane shell, branded to each persona. The console never runs agents itself. It drives the hosted runtime that runs headless on our servers on a schedule, so nothing depends on you keeping an app open. The cross-product landing is /home.
Scoped to you. Your key, budget, schedule, and drafts are private to your account. The work runs on our servers, so we process the data you connect: it is encrypted, never sold, never used to train a model, and you can revoke access anytime.
How it runs
The hosted runtime runs on our servers on a schedule. There is nothing to install and no app to keep open. Deterministic detections are free and always available; AI drafting runs under a budget cap on our key (or yours with BYOK). Where a deployment requires your own key, the AI tier turns on once you add a key in Settings; without one you still get the full deterministic tier at no cost.
When the included budget runs out. AI runs pause until the reset at the start of next month, and every deterministic check carries on unchanged, so the ranking and the findings keep arriving. The Settings tab says so where the meter is and offers the one thing that changes it: add your own provider key and runs go on your key, metered to you and not capped by us. The header pill reads "AI paused" so a quiet month is never a mystery. It used to say only a zone name, and the blocked-run message pointed at raising a cap, which is an operator setting no control on that page can move.
Draft-first. A run only ever creates a draft you approve. Nothing is sent without your yes, and you choose where each draft lands in Settings: an in-app Draft queue, your Google Drive, or your own mailbox as a draft. Managed mailbox delivery lands each message in your mailbox as a Gmail draft (via the draft API), never auto-sent; a message leaves only when you choose to send it.
Before anything has run, the Drafts and Runs tabs do not just say "nothing here": they point you at the next step, turn the runtime on from the Schedule tab, run a skill now, run the free checks, or load sample data in Settings to try the review flow before you connect live data.
The tabs
Six tabs are always there: Schedule, Draft queue, Library, Runs, Build, and Settings. Which of the rest you get follows your seat. A leadership seat (gtmcron, leadercron, partnercron, crocronjob) adds Team, for seven. A front-line seat (salescron, secronjob, bdrcron, cscron, supportcron) adds Coaching and Live coach, for eight.
- Schedule. A master runtime on/off switch, plus every skill with its cadence and tier. Toggle a skill on or off, or run one right now. Deterministic skills are free; AI skills run under your budget cap. Until you are set up, a compact "finish setup: N of 5 ready" card sits at the top with the exact next step; it disappears once all five are done. The five, in the order you should do them: tell your roles about the business, add your AI provider key, connect a data source, choose where output goes, turn the runtime on. Each one links to the place it is actually finished, and for the three that happen here that is the pane holding the control rather than the console's front door, because the console opens whatever tab a link asks for (
?tab=settings,?tab=schedule). Run the free checks now runs the AI-free deal-risk checks on demand and shows the findings inline, so you get value the moment you connect data (or load sample data) without waiting for the next scheduled pass. Every product also includes a lightweight score-narration skill that reads your role's deterministic score board (deal risk, health, awareness, ecosystem fit, technical risk, attention risk, or efficiency, whichever fits the seat) and drafts the plain-language "why" behind the ranking, the number stays deterministic, the AI tier only narrates it. The runtime checks in three times a day (morning, midday, evening), so a skill can run at the right time, for example a morning brief, a midday deal-risk sweep, and an end-of-day follow-up, all from one schedule. - Draft queue. At the top, five performance tiles computed over your whole outreach log for the window you pick (24h / 7d / 30d / 90d / all): Drafted, Sent, % Sent, Replied, and Reply %. Replies are counted honestly, only a real human reply counts; an out-of-office auto-reply or a bounce never inflates your reply rate. If you run a self-hosted (Lane B) kernel, its LLM spend shows as UNKNOWN here, because it runs on your own key inside your n8n, never $0. Below the tiles, the drafts your hosted runs produced: open one to edit it inline, then Copy it or send it on. Every draft carries a Why this draft line, the skill that wrote it and the exact sources it was allowed to cite, plus a flag if any stat went uncited (and the exact unsupported claims listed out, so you verify those numbers before sending), so you can trust and defend it before it goes out. Your saved edit is what gets delivered: with managed connectors on, → Gmail draft lands your edited version as a draft in your real mailbox and → SF task logs a Salesforce task to review. Nothing is ever auto-sent. For a leadership draft (a scorecard, a QBR, or a board pack), → Drive exports that draft to your Drive "Accounts" folder as a Google Doc, so you can bring it to the meeting. It uses the same Drive connection and opt-in as the automatic delivery, so turn on Drive delivery in Settings and connect Google first. Print / PDF opens any draft as a clean printable page in a new tab, where your browser's print dialog saves it as a PDF, no connection needed. When you Dismiss a draft, a one-tap chooser asks why (not relevant, wrong facts, off tone, or just dismiss); the reason is captured to teach the seat's craft library over time, so the system stops repeating a draft you already rejected. It is optional, and "just dismiss" records nothing. Right after you dismiss, a Restore appears in case it was a mistake. You can also Snooze a draft to hide it for three days; it returns to the queue on its own. A daily learn step reads those reasons: when the same skill keeps getting dismissed for the same reason, it drops a short library review suggestion into your queue (for example, "recent pre-call briefs were dismissed as wrong facts, add a proof point"). It is a suggestion only, points you at your Library tab, and never edits anything for you.
- Library. The two layers that ground every AI draft: your seat's built-in craft library and the proof points you add yourself. Review either, add or remove your own, and drop any built-in craft you do not want. "Your knowledge library (grounding)" below covers what each layer is allowed to do.
- Runs. This role's open findings first, then what ran. The findings are everything this role has raised and you have not answered; the highest few of them are ranked against your other roles on Home, and this is the full list, so a finding that did not make today's line is still reachable. Arriving from a link on Home, the finding you clicked is drawn first and marked. A sample finding says so, the same as on Home. Under them, what ran, when, on which tier, and the outcome, read from the run ledger. A run that fails says why: open it and the reason is on the record, including the case where the model provider stopped responding. Every AI run is bounded, one request stops at 150 seconds and the whole run stops at 240, so a provider that hangs shows up here as a failed run with a timeout reason rather than a window where nothing appears to have happened. The next scheduled pass tries again.
- Build. Two read-only tools for extending what your runtime can do. Connected servers lists the MCP servers your runtime can reach using a credential you have already authorised, and Probe asks one whether it answers and what tools it offers. A probe lists tools and stops: it never calls one, because invoking your tool to prove it could invoke your tool would have done something on your behalf that nobody asked for. If a server needs your own instance URL (Salesforce), it asks for it rather than guessing. Validate a skill draft checks a custom SKILL.md against the same compiler the hosted fleet runs, so a draft that passes here is one your runtime can run. It answers with either every objection to the draft (each with the rule, what is wrong, and why that rule exists) or the manifest entry it would become, its tier, any config tokens it expects that your tenant has not set, and the first part of the compiled prompt. It saves nothing: authoring is feedback here, and saving is a separate decision with its own governance.
- Coaching (front-line seats only). Your own weekly card: where you improved (activity and reliability, week over week), the one skill to work on (your highest open gap this period, phrased as a skill), and the exact play from the craft library to run for it. The play is not just named: open "Show the play" on the card to read its full trigger, steps, and success criterion inline, pulled straight from the craft library. Deterministic and token-free, built from your own open deals and run activity, so it costs no AI budget. If your open deals are all clean, it says so. It also shows your goals and pace: each active goal with whether you are ahead, on pace, or behind for the week or month, and for a goal you are behind on, the tool to run to catch up. Set goals on the Activity page. When enough peers opt in, it also shows a "Reps like you" line: how your draft, meeting, agent-run, and action counts compare to the anonymized cohort median. It is opt-in, shows only aggregate medians, and stays hidden below 5 peers so no one can be identified. Opt out on the Activity page. At the bottom, a "Your quarter" recap tells the story of your quarter in your own numbers: deals won and deals advanced a stage (from the real stage-history timeline), plus agent runs on your behalf, drafts prepared, and actions taken in your tools. It counts only what is tracked, so it is honest, and it costs no AI budget. On salescron, at the start of each calendar quarter the runtime also drafts a warm "Your quarter" narrative (under your budget): the same numbers told as human prose you would be proud to read, grounded in your own accounts and opps. It lands in the draft queue for your review, exportable to Drive or print, never sent.
- Team (leadership seats only). On a leadership seat (gtmcron, leadercron, partnercron, crocronjob), a manager Home that answers "who needs help and why": a rep scorecard ranked by activity, plus coaching flags for anyone silent or erroring this period. The read is metadata only and enforced by the database, you see that a rep ran, when, and the outcome, never what they wrote, and only for teams you own. It costs no AI budget. A leader who owns no team sees an empty state until reps start running. When your reps' pipeline has been summarized, the rollup also shows a team forecast (committed plus weighted pipeline against quota) and a coverage read (how far the weighted pipeline covers the gap to plan). That read stays metadata only: it sums a per-rep, numbers-only pipeline summary (open pipeline, committed, quota, win rate), never a rep's deals or notes. Alongside this deterministic view, leadercron now also runs a weekly AI coaching note (Wednesday, under your budget): it reads how deals are moving in the book and drafts the pattern, the one behavior to change, and a practice rep, so you have it before your 1:1s. It lands in the draft queue for your review, never sent.
- Live coach (front-line seats only). Interactive coaching on demand, alongside the passive weekly Coaching card. Three tools in one tab: Roleplay practice runs a live buyer scenario (pick a scenario, hold a back-and-forth with an AI buyer, get a mid-scene hint and an end-of-scene scorecard); Meeting prep builds a pre-call brief for a meeting from your connected calendar (posture, goals, questions to ask, likely objections, the closing play), grounded in your seat's sales playbooks; Inbound reply drafts a reply to a recent inbox thread; Cadence shows the multi-touch sequences the daily run designed for opps your inbox triage flagged as at risk, with the reasoning for the shape and each step's channel, timing, message and what it is looking for. Accept a step to mark it done so the next run knows where you are, or skip it. Nothing is sent from here either. Meeting prep and Inbound reply end with a Grounded in line naming the playbooks the answer was built from. Click one to read the passage it drew on, so you can check the advice against the craft behind it rather than taking it on trust. Each runs server-side on your own key when you have saved one in Settings (BYOK, metered to you), otherwise on the hosted key under your budget. If neither key is set, the tool does not dead-end: it hands you the ready-to-run prompt with a copy button so you can run it in any AI chat. If your saved key is there but can no longer be read, these tools say so and tell you to paste it again, rather than reporting that no key is set and sending you to add one you already have. Always draft-only, nothing is ever sent. The pickers list what you have connected (or your sample data); connect your calendar and inbox on the Connect page to fill them.
- Settings. Your budget/usage meter, your identity (fills the
{{TOKEN}}values in the agents), bring-your-own-key, managed connectors, where drafts land (in-app queue, Google Drive, or your mailbox), and sample data.
What the tabs are fed by
- Sample data. Not ready to connect live data yet? In Settings, Load sample data seeds a small sample book so the free deterministic checks surface real findings (a slipped close date, an overdue next step, an unactioned account signal) and the draft queue shows the review and "why this draft" experience. Everything is clearly marked sample, and Clear sample data removes exactly it and nothing else.
- Role checks on your own data (free). Beyond the generic checks, each seat's own analysis engines run on the same schedule over your stored records, with no AI spend. For an AE, the free sweep scores each open deal's risk with the MEDDPICC gap driving it, flags deals stuck in a stage with the move to advance, and names the buying-committee white space on accounts you are already working. For a CSM, it surfaces at-risk accounts with the churn drivers, renewals coming due on accounts that are not healthy, accounts whose realized value is stalling, accounts being served below the motion their ARR and health earn, and healthy accounts with realized value that nobody has asked to be a reference yet. For an SE, it scores each open POC's technical risk with the next technical action. For a BDR, it surfaces the warmest prospects (those showing real buying signals) to reach while the signal is fresh. For a founder or GTM operator, it ranks the warmest accounts (including your TAM targets) to work today. For a sales manager, it reads run and outcome aggregates for the reps on the teams you own (never a rep's content) and surfaces who needs a 1:1 first, checks each rep's open pipeline against the number they carry, and builds the commit back up from the deals inside it, so you see which committed money still has no close date, no economic buyer, no agreed next step, or nothing moving on it. A rep whose CRM carries no forecast category is reported as having called nothing, rather than being given a number nobody asked them for. For a CRO, it runs the governed-model hygiene gate over the pipeline and flags the deals whose data quality would undermine the forecast. For a partner manager, it tracks partner certification state and flags the partners missing a required cert or with one expiring soon. For a support lead, it surfaces the accounts whose health has turned, the same read the CSM seat gets, so an open escalation sitting on an account already in trouble is the one you see first, and it clusters your tickets to find the issue that keeps coming back. A cluster only reaches you as a product ask once it has arrived across more than one month and somebody escalated it or rated it bad; it comes with the ticket count, the customer count and the months, so you can take it to product as it stands. These feed the same weekly Coaching card, which points at your top gap and the play to run for it. A missing field is shown as a gap to close, never a number invented. The checks read your 1,000 most recently updated records of each kind, so a very large import is scored on the freshest slice rather than the whole history.
- Recommended for your seat. Settings shows the connectors your persona gets the most from, so a BDR sees its prospecting tools, an SE its demo and RFP tools, and a CSM its success platform, on top of the CRM, email, and calendar core every seat needs. Each shows its category, how it connects, and a maturity badge where relevant. Connect the managed CRM/email/calendar right there; the rest connect on the Connect page.
- Signals from your connectors. Once you connect a doer tool, its activity feeds the free account-signal check automatically. An Outreach reply, a Salesloft meeting, and a Planhat health-score drop each land on the matching account as an unactioned signal, so the deal-risk sweep flags accounts that need a touch without any AI spend. Signals attach to the account by matching the contact's email (or, for Planhat, the company) to what your CRM already synced.
Bring your own key (BYOK)
By default the runtime uses our key with a monthly budget cap priced into your subscription, so it works with no LLM key of your own. In Settings you can instead supply your own Anthropic or OpenRouter key; runs then meter to you and don't draw our budget. Keys are write-only: once saved, the console only ever shows whether a key is set, never the key itself. Your key powers everything the console runs for you: scheduled hosted runs and the Live coach tools (roleplay, meeting prep, inbound reply) alike. Bedrock support is built but not accepting keys yet; the option unlocks once the transport is validated, and until then the Settings card shows it as coming soon.
Because a saved key is encrypted at rest, it is possible for a stored key to stop being readable, for example after a server-side key rotation. The console checks this rather than assuming a saved key still works: when a key is stored but can no longer be read, the provider shows as key set, unreadable, the LLM pill reads key unreadable, and the Settings card tells you to paste the key again. Scheduled runs keep going on the included tier in the meantime, and each such run records the reason on its own row in the Runs tab, so a run billed to the included tier instead of your key is never silent. Where a deployment requires your own key, that run stops instead and the Runs tab shows the failure with the same reason.
Your knowledge library (grounding)
Every AI draft grounds on your proof points, not general knowledge. The console keeps a per-tenant library of cited notes: case studies, win stories, product facts, each traced to a named source. Before a run drafts, its library is pulled in as a cited-context block and the model is told to cite the source in brackets after each claim and to use only those facts. If the library has nothing on what a draft needs, the run says so plainly rather than inventing a stat, and any number in the draft that lacks a citation is flagged for review.
Your library has two layers. On your first scheduled run the console seeds the seat's built-in craft library (your persona's playbook: value framing, discovery, qualification, and so on), so grounding is never empty on day one. On top of that you add your own proof points in the console's Library tab: title a win, list the facts, and it is cited from then on. The Library tab shows both layers separately, so you can review exactly what grounds your drafts, add or remove your own proof points, and remove any built-in craft you do not want. Personal, medical, and signed-legal sources are refused at ingest. Your library is private to your org and never visible to another tenant.
Not every skill is grounded, and the ones that are not say why rather than staying quiet. A skill that narrates a score the deterministic tier already computed takes no craft input, because no playbook text can change a number that is already decided. Since 2026-08-22 the founder-marketing skills on gtmcron (launch playbooks, the content calendar, messaging experiments, build-in-public, community replies) read a content craft library of their own rather than the deal-running playbooks: writing for an audience who has not raised a hand is a different discipline from running a deal, and grounding a launch plan in objection handling would have produced a citation that pointed somewhere misleading. Two gtmcron skills stay deliberately ungrounded for reasons that are not about a missing library: the investor update reports to a board, and the decision log records a decision already made.
The two layers play different roles. The built-in craft grounds how to frame a draft (the method), but a run's proof points, the stats, logos, and quotes it can cite as results, come only from what you uploaded. So a draft never presents a generic playbook line as if it were your customer's outcome; if you have not added a proof point yet, the run says so rather than borrowing one. Extend or replace the seeded craft with your own notes anytime.
A third layer arrives once your organisation has more than one seat: what colleagues have already established. Every run can read the findings other roles' runs recorded about an account, so a customer success run that spotted a renewal risk is something the account executive's run reads rather than works out again. The run sees whether a finding is its own or a colleague's, and it is told to check before deriving an account fact itself. You only ever see what you are entitled to see: a finding stays private to the seat that made it unless the type is one your organisation has already declared shareable, and that decision is made once, in one reviewable place, rather than per run.
Since 2026-08-29 a run also carries your own memory: the open gaps, pending next actions and recent insights the weekly reflection found in your activity, appended after the playbook context. Until then that block reached the in-app assistant and nothing else, so a scheduled run was coached from the playbooks alone. It is about two hundred tokens when a reflection exists and nothing at all when one does not; a rep who has not been reflected yet is drafted for exactly as before.
Connect your CRM (managed)
In Settings you can turn on managed connectors. Link Salesforce, HubSpot, Gmail, or Google Calendar right in the browser; we custody your OAuth token encrypted, poll it on a schedule, and fill your accounts, opps, and contacts server-side. There is nothing to install. The panel shows each provider's connection state and last sync, and a Sync now button pulls your book immediately.
Opt-in and reversible. Token custody is a choice: a security-strict team can leave it off and run its own self-hosted delivery instead (see below). Same as the Settings → Connect page, which carries the same panel.
Connected activity tools feed the free deal-risk checks as account signals: Outreach replies, Salesloft activity, Planhat health changes, Consensus demo engagement, Intercom conversations (including Fin resolutions), and Crossbeam partner overlaps each attach to the matching account so the next scheduled pass can flag it. A signal that cannot be matched to one of your accounts is skipped, never guessed.
Deliver reports to your Google Drive
In Settings, the Deliver reports to Google Drive toggle sends each hosted run's report into your Google Drive "Accounts" folder as a native Google Doc plus a raw .md copy, so you read the report where you already work. A run about a specific account lands in a per-account subfolder (Accounts/<account>); a general run lands in the Accounts root. The same deliveries show on your rollup under "Delivered to your Drive".
Off by default. The toggle needs managed connectors on and Google connected (Settings), because delivery uses your Google Drive access. Writing a file into your own Drive folder is delivery, not an outbound send.
Advanced: self-hosted delivery (optional)
Most teams use the managed path above. If your security posture requires every credential to stay on your own infrastructure, you can run a small n8n on a machine you control that holds your own OAuth and LLM credentials. Those runs place real Gmail or Outlook drafts and write CRM records on your infrastructure, never ours. Templates live in n8n-templates/ and setup lives in your product docs. Nothing is ever auto-sent.
Keyboard: the Cmd-K palette
From the console (or any signed-in page), press Cmd+K / Ctrl+K or click Search in the top bar to jump to a page, a pending draft by title, or a quick action without touching the mouse. See Home (Today) for the full palette guide.
When a coaching section cannot load
The Coaching tab is assembled from several reads: your goals and pace, the cohort comparison, and your quarter recap. A section whose read fails now says so. It used to disappear, which looks exactly like having no goals set, or no cohort yet.
What runs it
The hosted runtime is server-side cron plus a bounded agent loop. It runs on our servers on a schedule, with nothing to install and no app to keep open. Scheduled work runs on a metered LLM key (ours by default, yours with BYOK).