Roadmap to revenue
Sales as Code deals name the capability they wait on, sent once CommitOps reads them. Two parts to go.
Use case
Roadmap to revenue: a workflow across Sales as Code, CommitOps, RepoOps that starts from weekly on Monday, or when a capability ships.
Who would use it
Founders and product leaders deciding what to build next.
What value it provides
Deals waiting on a capability add up to ranked demand. When the work ships, a report names the deals it moved and the customers who still need telling.
Why it matters to the user
It turns a roadmap argument into a list with pipeline next to each item, and it stops shipped work from going untold.
The problem
The roadmap follows whoever spoke last. Nobody can say which deals wait on which feature, or which deals moved after a feature shipped.
Expected outcomes
- Open pipeline attached to each capability
- Deals that moved within 30 days of the capability shipping
- Shipped promises not yet told to the customer: target 0 after 7 days
Each run records its outcome as met, not met or not measured.
How it runs
Products and connections
| Product | Role in this workflow | Docs |
|---|---|---|
| Sales as Code | Read the capability each deal waits on | Reference · Sales as Code docs |
| CommitOps | Read those deals into the ledger; Rank capabilities by blocked pipeline; Report the deals each shipped capability moved | Reference · CommitOps docs |
| RepoOps | Find shipped work per capability | Reference · RepoOps docs |
Outside the family: HubSpot, Salesforce or Attio, GitHub.
What a person approves
| Action | Default risk |
|---|---|
commitops.customer.notify | high |
crm.deal.update | medium |
Action keys are from the PromptCompute catalog.
How to access it from an agent
An agent will run this workflow through the PromptReports MCP server or API, with an ID agent token. The runner will then call each product for it. Proposed
// MCP: https://mcp.promptreports.ai/mcp (Proposed)
start_run({
workflow: "roadmap-to-revenue",
inputs: { "pipeline": "Open deals this quarter", "capability_list": "From CommitOps" },
dry_run: false
})
// returns { run_id, status: "running", approvals_url }
get_run({ run_id }) // poll, or subscribe to run eventscurl -X POST https://api.promptreports.ai/v1/runs \
-H "Authorization: Bearer $PROMPTREPORTS_AGENT_TOKEN" \
-d '{"workflow":"roadmap-to-revenue"}'Or call the products yourself, step by step:
| Product | Endpoint | Tools |
|---|---|---|
| Sales as Code | To confirm | to confirm |
| CommitOps | https://commitops.ai/api/mcp | whoami list_assertions get_assertion promised_not_started |
| RepoOps | https://mcp.repoops.ai/mcp | search_brain get_pre_edit_context propose_brain_entry get_incident_attribution |
Set it up
- Sign in at app.promptreports.ai with PromptReports ID, and pick your org.
- Connect Sales as Code, CommitOps, RepoOps on the Connections page. Link HubSpot, Salesforce or Attio, GitHub through the product that uses it.
- Register the agent that will run it on the Agents page, and give it a version manifest.
- Set the approval policy for commitops.customer.notify, crm.deal.update. Start with Require approval; critical actions are never auto.
- Fill in the inputs (Pipeline, Capability list) and choose the trigger: weekly on Monday, or when a capability ships.
- Start a dry run. It will count no workflow request, and it shows which steps would record missing evidence.
- Start the run. Approve each gate in the approvals inbox, then read the signed record when it ends.