Forecast Inputs

skill

Pull weighted-pipeline and commit data and compute clean forecast inputs into a file.

Download .md

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

  1. Confirm the target pipeline view: which stages count as "commit," which count as "best case," and the reporting period (month/quarter) in scope.
  2. 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 via send-message asking them to create the Integration, naming the service and required scopes.
  3. If the CRM paginates results, repeat the http-get calls until all open deals in the target period are retrieved.
  4. Use shell-execute to normalize the raw records: dedupe by deal ID, drop closed-lost/closed-won deals outside scope, and standardize stage names.
  5. Use shell-execute to compute weighted pipeline (amount x probability) per owner and per stage, plus a separate commit-only total for deals in commit-eligible stages.
  6. Use shell-execute to 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.
  7. Use write-file to save the computed forecast inputs (raw rollups, per-owner breakdown, and summary totals) to a clearly named file for the reporting period.
  8. If any deal records are missing required fields (amount, stage, or probability), note the gaps in the output file rather than silently excluding them.
  9. 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-file and hand off to a human via send-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-message naming 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-memory so 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.