CRO — Chief Revenue Officer
The Chief Revenue Officer (CRO) runs on the Sonnet (workhorse)
model tier at 5 credits per call. The CRO is the revenue engine: it
constructs the Ideal Customer Profile, discovers prospects across six
channels, enriches profiles, executes personalized outreach (email, SMS,
LinkedIn DM, voice) using the Founder DNA voice, runs adaptive follow-up
sequences, manages pipeline, reactivates dormant customers, and reports
revenue with ROI attribution.
Day in the life
The CRO operates on a continuous loop driven by trigger events and pipeline state. When the morning cadence fires, the CRO discovers prospects matching the configured ICP, then enriches the highest-priority profiles with website analysis, social presence, recent news, and review signals (Professional+ feature). The Adaptive Channel Orchestrator scores each prospect across email, SMS, LinkedIn DM, and voice — picking the channel with the highest expected response rate while honoring opt-out flags and the 48-hour contact-spacing gate.
Outreach generation runs the Founder DNA voice match (NEVER generic sales copy), injects the live trigger event when one is present (funding round, job change, hiring spike, champion departure), and references any open commitments the agent made in prior touches. The Subject Line Scorer rates the generated subject and one-shot regenerates if the score is too low — penalizing red-flag words (“free”, “guaranteed”), rewarding numerics, first-name personalization, 6-10 word length, and curiosity CTAs. AI disclosure is appended automatically; the Quality Gate validates the final content before send.
For voice outreach the CRO routes through RetellCallService, which
enforces TCPA quiet-hours per the recipient’s IANA timezone, the autonomy
check, and AI disclosure inside the call script — all before Retell ever
dials.
Throughout the day the CRO runs adaptive follow-up sequences that adjust to engagement signals, tracks pipeline and flags stale deals, identifies dormant customers for win-back campaigns with tailored offers, and delivers a revenue report with ROI calculation, pipeline velocity, conversion rates, and revenue attribution. The CRO also exposes call-performance metrics that pair the raw resolution rate with an emotion-adjusted resolution rate (deflated by mean peak frustration) so headline numbers stay honest.
Tools
Tools are registered via register_sales_tools in
src/agents/sales/tools.py. The CRO additionally calls platform helpers
shared across all agents.
AdaptiveChannelOrchestrator.score_channels— Picks email, SMS, LinkedIn DM, or voice based on prospect signals and enforces opt-out blocks.SubjectLineScorer.score+ one-shot regeneration — Optimizes subject lines before the Quality Gate runs, with bonuses for numerics, first-name personalization, length, and curiosity CTAs.ContactTimelineService.check_spacing/record_touch— 48-hour contact-spacing gate; records every outbound touch for downstream cooldown enforcement.CommitmentExtractor.list_open— Pulls open commitments the CRO made in prior touches so the next-touch message acknowledges or updates them.RetellCallService.create_phone_call— Voice outreach with TCPA quiet-hours, autonomy check, and AI disclosure baked in.KGQueryService.get_context_for_topic— Enriches outreach with knowledge graph context on competitors and customer segments.quality_gate— Validates outreach content before send.delegate_to(to_role, ...)— A2A delegation; e.g. requests CFO financial-position context for the morning brief.
Decision patterns
These are the entries in _TASK_DISPATCH (also exposed as
CROAgent.TASK_HANDLERS) inside src/agents/sales/agent.py.
icp_construction— Triggered at onboarding and whenever business data changes materially; produces the Ideal Customer Profile that drives every later prospecting decision.prospect_discovery— Triggered by the daily cadence and whenever pipeline drops below the configuredmin_active_prospectsthreshold.prospect_enrichment— Triggered after discovery; advanced enrichment (website analysis, social, news) requires theREVENUE_ENGINE_FULLfeature gate (Professional+).outreach_execution— Triggered after enrichment; runs cooldown, channel-orchestrator scoring, trigger injection, commitment lookup, Founder DNA generation, subject-line scoring, AI disclosure, and the Quality Gate before recording the touch.outreach_call— Voice outreach via Retell; loadsvoice_configfrom the tenant; enforces TCPA quiet-hours and autonomy check inside the service.follow_up_automation— Triggered by engagement signals (open, click, reply silence); adapts the next touch to the signal.pipeline_tracking— Triggered by the daily cadence; bulk-outreach automation requiresREVENUE_ENGINE_FULL.customer_reactivation— Triggered by dormancy windows; produces tailored win-back offers per segment.revenue_reporting— Triggered weekly; includes ROI, pipeline velocity, conversion rates, and revenue attribution.
Escalation criteria
- Prospect is within the 48-hour contact cooldown — outreach is deferred, not blocked, and recorded as such.
- The Adaptive Channel Orchestrator returns
channel=Nonebecause the prospect is opted out — outreach is blocked outright. - The tenant plan lacks
REVENUE_ENGINE_FULLfor advanced enrichment, bulk outreach, or pipeline automation — the CRO returnsfeature_gated. - TCPA quiet-hours apply for the recipient’s timezone — voice and SMS
blocked inside
RetellCallService/Twilio compliance pipeline. voice_configis incomplete (retell_agent_id,retell_voice_id,from_number) — voice call refused before dial.- Action would exceed the CRO’s daily budget cap.
- Action affects more than
escalation_blast_radius_thresholdin a single call (e.g. bulk segment beyond approved size). - Confidence below
0.6on the channel-orchestrator decision OR the Quality Gate flagged the output and auto-revise failed.
Example outputs
Subject: Quick thought on your 12 new SDR hires
Hi {first_name},
Noticed Acme Co is growing fast — 12 new SDR roles in the last 30 days.That kind of ramp is exactly when ICP drift starts costing you replyrates, and the fix usually isn't more reps; it's tighter signal scoring.
I help mid-market RevOps teams cut SDR ramp time by ~40% with a 15-minuteICP audit and a one-week pilot on your top 3 segments. Worth a look?
— Sent on behalf of {founder_name} by their UltimateTeam.ai CRO agent.{ "channel_selected": "email", "channel_confidence": 0.81, "subject_line_score": 9, "subject_line_regenerated": true, "ai_disclosure_included": true, "open_commitments_count": 1, "trigger_type": "hiring_spike", "summary": "Outreach sent to lead-3491@acme.co via email"}[Pipeline status — 2026-04-25]
Stage | Count | $ Total | Velocity (d) | Stale ≥7d--------------|-------|----------|--------------|----------Qualified | 42 | $128,400 | 4.1 | 3Demo booked | 18 | $94,200 | 6.7 | 2Proposal sent | 11 | $74,800 | 9.3 | 4 ⚠Closed won (Q)| 7 | $58,400 | — | —
Action: Three proposals stalled >7d. Re-engage with case study + revisedmutual close plan today.Sourced from src/agents/sales/agent.py and
src/agents/sales/capabilities.py. Last reviewed: 2026-04-25.