Forecast Inputs
Pull weighted-pipeline and commit data from the CRM (customer relationship management system) and compute clean forecast inputs into a file for sales-operations review.
When to use
- A revenue leader asks for updated forecast numbers ahead of a pipeline review or board meeting.
- Month-end or quarter-end close requires refreshed weighted-pipeline and commit figures.
- Someone requests a sanity check on current commit vs. weighted-pipeline totals before a forecast call.
- A recurring cadence (weekly/monthly) calls for regenerated forecast inputs.
Tools
http-get: reads deal/opportunity records, stage, amount, probability, and close-date fields from the CRM.shell-execute: runs a small script to dedupe records, compute weighted-pipeline totals, and roll up commit figures by owner and stage.write-file: saves the computed forecast-inputs artifact (for example, a CSV or JSON file) for downstream use.
Playbook
- Confirm the target pipeline view: which stages count as "commit," which count as "best case," and the reporting period (month/quarter) in scope.
- Call the CRM REST API with
http-get(e.g. GET https://api.hubapi.com/crm/v3/objects/deals) to pull open opportunities with amount, stage, probability, owner, and close date. Authentication is injected by the org's Integration row for this host — never ask for, echo, or hardcode credentials. If the call returns 401/403 or no Integration row exists, stop and message a human viasend-messageasking them to create the Integration, naming the service and required scopes. - If the CRM paginates results, repeat the
http-getcalls until all open deals in the target period are retrieved. - Use
shell-executeto normalize the raw records: dedupe by deal ID, drop closed-lost/closed-won deals outside scope, and standardize stage names. - Use
shell-executeto compute weighted pipeline (amount x probability) per owner and per stage, plus a separate commit-only total for deals in commit-eligible stages. - Use
shell-executeto compute summary rollups: total weighted pipeline, total commit, coverage ratio (weighted pipeline / quota if quota data is available in the pulled records), and counts of deals per stage. - Use
write-fileto save the computed forecast inputs (raw rollups, per-owner breakdown, and summary totals) to a clearly named file for the reporting period. - If any deal records are missing required fields (amount, stage, or probability), note the gaps in the output file rather than silently excluding them.
- If the CRM requires an update to any deal record (correcting stage or amount) as part of cleanup, do not attempt it — compile the change list to a file with
write-fileand hand off to a human viasend-message, since PATCH/PUT/DELETE operations are not supported by this skill.
Failure modes
- 401/403 response from the CRM -> missing Integration row; stop and escalate via
send-messagenaming the service and required scopes. - Empty result set -> verify the endpoint URL, filters, and date-range parameters before assuming there is no pipeline data.
- Rate limit hit on the CRM API -> back off and retry later; note the rate limit in memory via
update-memoryso future runs pace requests accordingly. - Source page or API schema changed unexpectedly -> fall back to browser-search to confirm the current API documentation before retrying.
Done when
- A forecast-inputs file exists (written via
write-file) containing weighted-pipeline totals, commit totals, and per-owner breakdowns for the target period. - Any data gaps or records needing manual correction are documented in the output file or handed off via
send-message. - The summary totals in the file are internally consistent (weighted pipeline >= commit total) and cover the full requested reporting period.