Deals and forecast

Pipelines and deals, tasks and activities, the deal room with quotes and click-to-sign, and the explainable forecast.

When a meeting is booked, the deal moves into ZeroReach's light CRM. With an API key, use the crm:read and crm:write scopes.

Pipelines

A pipeline is an ordered list of stages. Each stage has:

  • a kind: open, won or lost;
  • a default win probability;
  • the fields a deal needs before it may enter the stage.

A workspace gets a default "Sales" pipeline the first time it lists pipelines or creates a deal.

  • PUT /api/v1/pipelines/{pipeline_id}/stages replaces the ordered stage list. Removing a stage that still has deals answers 409.
  • Deleting a pipeline needs an admin, and answers 409 while it has deals or is the only one.

Deals

A deal links a company and its people (leads), with a value, currency, owner, close date and probability.

  • POST /api/v1/deals creates one, in the default pipeline's first stage unless you name another.
  • POST /api/v1/deals/{deal_id}/move moves it between stages, as in a board drag.
  • Entering a stage checks its required fields: 422 stage_requirements, with the missing fields.
  • The deal's status (open, won or lost) follows its stage's kind, and closed_at is set when it is won or lost.
  • GET /api/v1/deals/analytics sums count, value and weighted value by stage.

Tasks (/api/v1/tasks) have a due date and an owner, and link to a lead, a company or a deal. A task Zero created has source assistant. Activities (/api/v1/activities) log notes, calls and the workspace's own activity types on a record's timeline.

After an AI call, the Meeting copilot can update the lead's open deal on its own: the agreed next step, a call-summary note, and tasks for the follow-ups we promised. See After the call.

The deal room

Each deal has a room (/api/v1/deals/{deal_id}/room) with four parts.

  • Quote: line items (name, quantity, unit_price), a discount and the totals. Money is rounded to cents per line, then on the discount.
  • Proposal: text you write, or ask the AI to draft from your knowledge base and pricing (POST /api/v1/ai/deal-proposal-draft), then save.
  • Mutual action plan: ordered steps owned by us, them or both.
  • Share link: POST .../room/share creates a private link for the prospect. Only its hash is stored, and a new link replaces the old one. The prospect can view the room, tick off their plan steps and sign. Views are counted.

Discount approval

Each role has a discount limit. The defaults are: member 10%, admin 25%, owner 100%. Admins change the member and admin limits with PUT /api/v1/deal-room/discount-limits.

A discount above the limit of the person who sets it stays pending and doesn't apply until an owner or admin whose own limit covers it approves it (POST .../room/discount/decision). The person who asked can't approve their own discount. Every request and decision is in the room's audit trail.

Click-to-sign

  • Sending: only a person sends a document for signature (POST .../room/signature). API keys are refused, and Zero never does it; no agent ever sends or signs.
  • Freezing: sending freezes a snapshot of the deal, quote and proposal, with its SHA-256 hash. The quote and proposal can't change while a request is open (void it first).
  • Signing: signing records the typed name, the time and hashes of the signer's IP address and user agent, and re-checks the document hash.
  • The signed PDF is available at .../room/signature/pdf.

Forecast

The forecast is computed on read from your data. It makes no AI calls.

Win probability

A deal's win probability is its own probability (else its stage's), adjusted by named factors. Each factor is listed with its effect:

FactorEffect
Activity on the deal or its people in the last 7 days+5
No activity for 30 days or more−10
A reply from its people in the last 30 days+5
A meeting booked with its people (last 30 days or upcoming)+10
A next step is set / none+3 / −5
The close date has passed−15
Mutual action plan progressup to +5
Sent for signature / signed+10 / at least 95

Open deals stay within 1–99. Won deals are 100 and lost deals 0.

The forecast by month

GET /api/v1/analytics/forecast groups open deals by close-date month (months 1–12, default 6):

  • Overdue deals count in the current month; deals without a close date are unscheduled.
  • It shows value and weighted value (value × win probability).
  • Amounts are summed in the workspace's main currency. Other currencies are totalled on their own and never converted.
  • owners splits the totals per deal owner, and owner_id (a member's id or me) narrows the forecast to one owner.

Call scorecards

GET /api/v1/analytics/call-scorecards scores finished AI calls out of 100, from their transcripts:

PartPointsWhat scores
Talk ratio40The agent's share of words; the target is 35–60%.
Questions30Questions the agent asked.
Next step30A next step was set, a meeting was booked or a callback was scheduled.

Each miss comes with a coaching tip.