Module 05 / CRM

The pipeline that updates itself.

Live Part of Atlas

Reps stop logging activity. Stages move from the call, the email, the contract send, and the implicit signal that a champion left for a competitor. The forecast is what actually happened, not what someone hoped.

What it does

Five things, and only five.

CRM is built on one belief: reps will not enter data, and asking them to is a tax on revenue. We solved that by reading the data directly.

Activity auto-capture

Email, calls, meetings, deck shares, contract sends. Pulled in automatically and linked to the right deal.

Stage transitions from signal

"Sent eval doc" moves the deal to Eval. "Procurement included on a thread" moves it to Procurement. No rep clicks required.

Champion tracking

If your champion stops opening your email or leaves the company, the deal is flagged. The reason is named, the next play is suggested.

Honest forecast

Forecast is rolled up from real signal velocity, not commit categories. Last-mile rep overrides are tracked and graded by accuracy.

Quote-to-cash inline

Quote, redline, sign, and provision from the same record. No round-trip to a separate CPQ. Contracts is the back end. Tasks owns the handoff.

Live activity stream · Acme Robotics deal
14:02:11email_in"happy with the eval, going to procurement"eval → proc
14:01:55contract_sendMSA v3 sent to legal@acmerobotics.com$184k
13:58:02meeting30-min eval review, 4 stakeholders, transcript clipped+2 champs
13:24:09callOutbound to economic buyer, voicemail, 0:14no impact
12:11:50page_viewchampion viewed pricing 4x in 90sheat ↑
How it works

Three steps. No data entry.

Reps spend a day a week in admin. We replace that with three automatic loops that run every time a signal hits the workspace.

STEP 01gmailcalendaraircalllinkedinpandadocresolvercontact matchdeal attach

Ingest from every surface

We tail your mailbox, calendar, dialer, LinkedIn, and contract tool. Events arrive automatically. The resolver attaches them to the right contact, deal, and account.

STEP 02Eval7d in stagesignal: legalcc on threadconf 0.91Procurement

Promote stages from signal

The classifier ships each event through a rule plus model layer. High-confidence transitions are automatic. Low-confidence ones are queued for a one-tap confirmation from the rep.

STEP 03todaycomm $4.4Mbest $5.8MQ4 forecast

Forecast updates per signal

Every signal nudges the forecast. The commit and best-case are derived from signal velocity, not commit color codes. Rep overrides are tracked and accuracy-graded.

Key features

Six features that compound.

Each below is shipping today. None require a separate plan or a separate tool to bolt on.

Account graph

Companies, contacts, parents, subsidiaries, and inherited account-level fields. Resolves shared email domains and aliases.

Plays library

"Champion gone" play, "stalled in legal" play, "MQL to AE in under 4h" play. All trigger from signal, not from cron.

One-touch decks

Generate a buyer-specific deck from the live account state, the past 3 calls, and the pricing config.

Quote and sign inline

CPQ-grade quote, approval routing, redline diff, and signature. No round-trip to a separate vendor.

Territory and access

Row-level permissions by region, segment, ICP. Federated SSO.

Pipeline analytics

Cohort-by-source funnel, stage velocity, win-rate by champion type. No separate BI required.

Connected

Wired into revenue.

CRM is the spine of the GTM stack. Six modules feed it and read from it.

Six surfaces all read the same deal

An email opens a thread in Inbox. The thread links the deal. The meeting attaches the transcript. The contract attaches the redline. The task chases the procurement step. Analytics reads the same row.

Inbox → activityMeetings → transcriptsContracts → MSA, order formTasks → follow-upsAnalytics → forecastDocs → decks
API

Programmatic pipeline.

Subscribe to stage changes. Push deals from your own systems. TypeScript shown.

pipeline.ts
// Stream every stage change in your pipeline, in real time.
import { Wrx } from "@wrxstack/sdk";

const wrx = new Wrx({ token: process.env.WRX_TOKEN });

for await (const ev of wrx.crm.stream({ object: "deal" })) {
  if (ev.kind === "stage_change" && ev.to === "Procurement") {
    // Auto-spin a contracts workspace, attach last MSA, ping legal.
    const contract = await wrx.contracts.spawn({
      deal: ev.deal_id,
      template: "MSA_v3",
      reviewers: ["legal@acme.com"]
    });
    await wrx.tasks.create({
      title: `Procurement: ${ev.deal.name}`,
      links: [{ kind: "contract", ref: contract.id }],
      due:   "+3d"
    });
  }
}

// Or push a deal in from your own data layer.
await wrx.crm.upsert({
  object: "deal",
  external_id: "sfdc-006XYZ",
  account: "acmerobotics.com",
  amount: 184_000,
  stage: "Eval"
});
Comparison

CRM vs. Salesforce.

Salesforce is a database with workflows. wrxstack CRM is a graph that updates itself.

wrxstack CRM vs. Salesforce

CapabilitySalesforcewrxstack CRM
Activity captureAdd-on (Einstein Activity)Native and automatic, no add-on
Stage transitionsRep clicks the picklistSignal-derived w/ confidence
Champion trackingCustom fieldBuilt-in, flagged on departure
Forecast modelCommit categoriesSignal-velocity model
Quote-to-cashCPQ add-onNative, in the deal record
Time to first valueMonths of configurationConnect your tools and go
Admin burden on repsManual logging every weekAuto-captured from real activity
FAQ

Common questions.

Six things heads of revenue ask in their first call.

Can we run dual-write with Salesforce during migration?

Yes. The dual-write connector mirrors deals, accounts, contacts, and activities. Conflicts resolve per rule. Dual-write can run through your migration window, then you cut over. Migration history (won deals, stage transitions, owner changes) is preserved.

How does the signal classifier decide what moves a stage?

A combination of rules and a domain-tuned classifier. Rules cover deterministic moves (contract sent, signature). The classifier handles fuzzy ones (legal cc'd, procurement language). Every transition is reversible and audited. Reps can disable auto-promotion per pipeline.

What about custom objects, custom fields, and process builder logic?

Custom objects and fields are first-class. We support inheritance, formula fields, and validation rules. The workflow engine handles approvals, escalations, and time-based triggers. Existing process-builder logic ports without a rewrite.

How is the forecast actually computed?

Per pipeline, we fit a velocity model on the last 8 quarters of historical signal-to-close transitions. The forecast is a Monte Carlo over open deals, weighted by their current signal density. Commit and best are p50 and p80. Rep overrides are tracked separately and scored for calibration over time.

Do you support territory, segmentation, and team rollups?

Yes. Territories are typed with rules (region, segment, ARR band, named accounts). Rollups respect group membership. Field-level masking is available per role. Row-level enforcement is applied on every read.

What happens when an account is acquired, merged, or split?

The account graph supports parent, subsidiary, and merger edges. Open deals reconcile automatically when a merge is recorded. Closed-won history is preserved at the original entity. Reports can roll up across legal entities or hold them separate, your choice per workspace.

Related

Pairs well with.

CRM is sharpest with Inbox, Meetings, and Contracts in the same workspace.

Honest limits

Who this is not for.

CRM keeps your pipeline current without data entry. If you need a full sales-engagement platform with a built-in dialer, multi-step outbound sequences at scale, and territory and quota management, a dedicated CRM will fit better. CRM is for teams that want the record to stay accurate, not a large revenue-operations build-out.

Get started

Stop paying reps to enter data.

Free to start, no credit card. Connect your Gmail, calendar, and dialer in 10 minutes. The first auto-captured deal lands the same day.