BUILDER is the automation layer of the Revenue Architecture Operating System. Scheduled rules fire. Triggered plays launch. SLA timers escalate. Every action is governed, auditable, and reversible. Currently in development; ships Q3 2026.
The three layers reinforce each other. The app shows you. The agent answers you. The automation engine acts for you. None of them replaces the others.
BUILDER runs on top of PILLAR's existing scoring engine, signals, plays, and MCP tool catalog. Every rule authored in BUILDER inherits the data guarantees below. Nothing fires in the dark.
Ten actions, all callable from any rule, all executable in shadow / propose / execute mode.
Expressive, composable, auditable. Cross-entity joins. Temporal predicates. Formula-provenance-aware.
// Rule that fires when a Tier A account is at renewal risk // with no active save play and no recent CSM activity. WHEN account.tier = "A" AND account.renewal_risk_score > 70 AND account.plays.count(state=ACTIVE, template=renewal_save) = 0 AND no_activity_in(account, 14d) THEN start_play(template=renewal_save, mode=propose) notify_user(to=account.owner_id, severity=warning)
The fastest way to break trust in automation is to automate the wrong thing. BUILDER makes you earn it. Seven days of shadow observation, then propose-mode with human approval, then optional execute-mode with ongoing health checks.
BUILDER is editable in a browser by any Architect-role user, and in a terminal by any RevOps engineer. Rules export to YAML. YAML commits to git. Git enables PR review. Automation becomes infrastructure — versioned, reviewed, reversible.
$ pillar rules apply rules/ Pending changes: + CREATE renewal-at-risk-no-play ~ UPDATE champion-departed-rescue (conditions changed) = NOOP weekly-digest-monday ! SKIP stuck-deal-escalation (managed_by=ui; use --force) Apply? [y/N] y ✓ Applied 2 changes in 1.2s
apiVersion: pillar.io/v1 kind: BuilderRule metadata: name: renewal-at-risk-no-play owner: [email protected] spec: trigger: type: schedule cron: "0 */4 * * *" conditions: all: - field: account.tier operator: equals value: A - field: account.renewal_risk_score operator: greater_than value: 70 actions: - type: start_play template: renewal_save mode: propose
// DSL editor — browser form builder [ Trigger ] Schedule · every 4 hours [ Condition 01 ] account.tier equals A [ Condition 02 ] account.renewal_risk_score > 70 [ Condition 03 ] account.plays.count(state=ACTIVE, template=renewal_save) = 0 [ Condition 04 ] no_activity_in(account, 14d) [ Action 01 ] start_play(renewal_save) · mode: propose [ Action 02 ] notify_user(owner) · mode: execute [ Safety ] Per-account rate limit ...... 1/day Circuit breaker ............. 5 errors / 10 min Required shadow ............. 7 days [ Owner ] [email protected] [ Managed by ] ui ✓ Dry-run: would have matched 12 accounts last 7 days
Version your revenue automation in git. Review PRs like you review infrastructure changes. Roll back with one command. This is config-as-code for the layer that runs your engine.
Every use case below is drawn from real GTM patterns. Every one ships in BUILDER's starter-rules library so your first week doesn't start from scratch.
deal.closed_won verifies mandatory handoff fields are populated. If missing, holds onboarding assignment and notifies the AE. No handoff, no kickoff.Before BUILDER automates anything, the underlying architecture has to be worth automating. The Blueprint Assessment scores your revenue operation across 5 pillars, 27 categories, 142 questions. Takes 20 minutes. Free, self-serve, no sales call required.