StartConceptsPlaybooksFeature docsAPI & MCPChangelog

Concepts

The mental model behind Sales as Code. Read this once and the rest of the docs make sense without backtracking.

The unit is a job, not a tool

A founder still doing their own selling is not short of tools. They are short of people: prospecting, deals, technical proof, customers, partners, support, enablement and the numbers are all owed work every week, by one person. So the unit here is the job. Each of the 9 roles is a package of skills and scheduled tasks for one of those jobs, and each one runs whether or not you open anything.

One account holds whichever roles you have. Hold all 9 and they feed each other: what one role learns about an account is what the next one reads. A sales leader running a team instead takes leadercron for themselves and seats for their people through Team on Cron, on one login.

How it runs

There is nothing to install and no laptop to leave open. The work happens on our servers on the schedule you set, and the site you are reading is where you watch it and approve what leaves.

Why our servers? A schedule has to survive your laptop being shut, and the roles are worth more when they run on the days you are too busy to think about them. Your licensing, connections, run history and business record live in one durable account so every role reads the same context and reports into the same place.

One page, 4 blocks

9 roles running daily checks produce far more than any one person can act on. If each reported into its own console you would have 9 places to look and no answer to the only question you wake up with, which is what to do first. Home answers it: every role reports in, and the page ranks across all of them.

The order is arithmetic you can read and disagree with, not a model: how close an item sits to a real conversation with a person, whether the role raised it today or this week, how long it has waited, and how quick it is to clear. Deal size nudges, capped. Each standup row also says how much that role held back, because restraint you cannot see reads as a role that did nothing. How to read it: Home.

The gate

Nothing reaches a customer without you. A draft is refused at the send layer until a signed-in person approves that exact draft, and no scheduled path, agent or automation in the product can do the approving. That is a check in the code, not a setting to remember.

Sending is off on a new account and stays off until you turn it on. With it off, an approved draft is recorded as held rather than sent, so you can run the whole thing for a month and read what it would have said. The drafts waiting on you sit in the dispatch queue.

gtmcron's plugins

One thing on this page is not about the 9 roles. gtmcron also sells as eight separate plugins, which is how the whole product was sold before the roles were. Nothing was withdrawn: what people bought, they keep, and the plugins remain purchasable at /plugins. If you arrived after 2026, you can skip this section; a gtmcron subscription and the Founder plan both include all eight.

Each plugin is one company function. Their internal labels (Operator, Closer, Writer, Researcher, Event) are gtmcron's own axis and a narrower one than the 9 roles above, which are the jobs a company has. Company OS Core is required when buying plugins singly, because every other plugin reads your company, offer, ICP and voice from it.

Each has its own feature doc, and the set is listed together on the gtmcron page. Every other role licenses as one thing, with no per-plugin picker.

Plans & entitlements

Two ways to buy, and one mechanism underneath. What you buy grants an entitlement, a permission each skill checks before it runs, so an unlicensed role stops and points you at /pricing rather than half-running.

The MCP contract

Skills talk to this site through one MCP server at /api/v1/mcp. Every skill follows the same shape: verify and entitle first, report last. You never call these yourself; they are here because they explain what shows up on Activity and what does not.

The last two are what turn a scheduled run into something you can read. Driving the same endpoint from your own tooling is the optional path in API keys & MCP.

The brain, and why it compounds

The brain is the durable memory of your go-to-market, and it starts with the business record you write at setup: what you sell, who to, and how you talk. Every role reads that before it writes a word. On top of it each role keeps a scope of its own (outbound its signal weights and funnel, content its voice model and what has published, deals its qualification state) and syncs that scope on every run. Empty on day one, sharper every week, because each outcome feeds the next run.

Day 1
Empty
  • No company context
  • No win/loss patterns
  • No voice model
  • Generic output
Day 7
Warming
  • Dossier built from your repo/site
  • First funnel + content runs logged
  • Voice model drafting in your tone
  • Signal weights forming
Day 30
Compounding
  • Funnel self-tunes on what converted
  • Loss patterns logged with prevention rules
  • Content ranked by what drove signups
  • Every role reading one business record

Generic prompts don't get sharper. A brain that learns from your runs does, and because it lives in a shared scope, every role sees it.

Learning from losses

The brain learns most from losses. Mark a deal closed-lost and the GTM Engine prompts for a structured postmortem (symptom · root cause · what you'd do differently), stored as a dated entry in the sales-craft playbook. The next time an open deal shows the same early signals, that prevention rule fires. Here's a representative entry, anonymized, but the rule and the integration are exactly the shape that ships:

S-001 $87k ACV · lost
Symptom
Champion went dark for 3 weeks; she'd quietly taken a new role elsewhere. The rep emailed the listed replacement → silence → closed-lost.
Root cause
Single-threaded. Champion strength read as "healthy," but with one contact a strong champion is fragile by definition: high strength masked low coverage.
Prevention rule the brain wrote
  • Champion strength now caps until the account has ≥3 contacts with recent two-way activity: strength and coverage.
  • Any open deal single-threaded past day 30 gets flagged regardless of strength.
  • The "multi-thread proof" play surfaces every time the flag fires.

The playbook brain carries dated loss postmortems, win patterns, anti-patterns, and objection branches, all read by the roles that coach. Every loss adds one. Every win adds one.

Content Studio

A 10-agent pipeline: Scout, Strategist, Writer, Media, Formatter/SEO, Repurposer, Compliance, Publisher, Community/Engagement, Orchestrator. It researches trends, drafts in your voice, cuts video, checks brand safety, and stages everything for you at /studio. It then drafts replies to comments and attributes signups back to the piece that drove them.

Publishing to a channel you own is a separate lane from the gate above, and worth stating plainly because the two are easy to confuse. A message to a customer is refused at the send layer until you approve that exact draft. A post to your own channel runs at the mode you set for that channel: Draft then approve, Assisted (it prepares the link, you submit), or Automated (it publishes after the compliance check). A compliance violation holds the piece for review in every mode. Full detail on the Content Studio page.

Integrations: you connect, we custody

You connect your tools once, at Settings, Connect. We custody each token encrypted and read it on the schedule to do the work: Gmail, Google Calendar, Drive, Slack, Apollo, Attio, Clay, Zoom, and any other MCP server you configure. Tokens are encrypted at rest, never sold, never used to train, and revocable at any time.

Supported tools: reference

The roles are tool-agnostic: each reads whatever category of tool you point it at (a CRM, a sequencer, a data warehouse). This table is the reference for the tools we have working knowledge of and the tier of each connector.

The tier column describes the connector's status:

ToolCategoryFirst-party tier
SalesforceCRMGA
HubSpotCRMGA
PipedriveCRMGA
ClariCRM · forecastingPreview
GongConversation intelligenceGA
ZoomMeetingsGA
OutreachSequencesGA
SalesloftSequencesPreview
NooksDialerPartner-gated
SlackChatGA
IntercomSupport · lifecyclePreview
ApolloProspecting · enrichmentPreview
ClayEnrichmentGA
ZoomInfoEnrichmentPartner-gated
SnowflakeData warehousePreview
Google BigQueryData warehousePreview
GainsightCustomer successGA

How to connect, in one line: add the tool's connector in Settings and complete the OAuth handshake; the wizard maps the category to what you connected. What we process: the work runs on our servers, so we read the connected data; only run metadata and brain state are stored, never raw contact data by default.

Conversation intelligence is covered by Gong, Clari, and Zoom. Chorus and Avoma are not built as first-party connectors; use any MCP server you configure if you need them, and tell us if it's a gap worth closing.

Activity

Everything your roles report (the emit_telemetry and sync_brain calls) lands on Activity: runs and actions week over week, top outcomes, whether each thing you own is running (Healthy / Failed / Not started), the newest runs, and the latest brain state per scope. It's read-only by design: the work runs on our servers on a schedule; Activity is how you see it without leaving a tab open. Managers get the team-level version at /team-admin/rollup. How to read it: Activity.

Next: Get set up: pick a product, connect your tools, set a schedule, and run your first skill. Or choose a plan at /pricing.