Skip to main content
An approval flow is the record of one deal waiting for sign-off. It is opened when a subscription version or quote matches an approval rule, holds one request per approver group, and ends approved, rejected, or canceled. Use this page to understand how decisions are reached, what approvers and reps see, and what happens when a deal changes while a flow is open. Flows are worked in the dashboard under Approvals; there is no public API for them, but every transition is emitted as a webhook. For the rules that open flows see Approval Rules; for the whole model, the overview.

Lifecycle

The same four statuses apply to each individual request within the flow.

When a flow is opened

  • A subscription version is published and matches a rule.
  • A published subscription is changed in a way that matches a new rule.
  • A quote is sent that matches a rule.
The flow appears under Approvals with the triggering rules, the required groups, the requester’s justification (if the ruleset requires one), and the decision history.

How a group decides

Each approver group on the matched rule becomes a request. The group’s strategy decides when that request is satisfied: any — one member is enough.
all — every member must approve.
minimum — a set number must approve.
A group with no named members is satisfied by any user holding the approver role. With by_requester routing, the members are looked up from who submitted the deal. The rule itself also has a groups strategy — whether all of its groups, any one, or a minimum number must be satisfied for the flow to be approved. A single rejection rejects the flow.

Making a decision

  1. Open Approvals and select a pending request.
  2. Review the deal: products and pricing, discounts, contract terms, customer, and the requester’s justification.
  3. Approve with an optional reason, or Reject with a reason that says what would make the deal approvable — a lower discount, a longer term.
Reasons stay with the flow, so the next person to look at the deal sees the thinking.

Bulk decisions

When one flow has raised several requests for you, select them with the checkboxes, approve or reject the selection, and give one reason for all. Bulk decisions apply within a single flow, up to 100 requests at a time.

After approval

The ruleset’s post-approval action runs: the subscription is activated, the quote is sent for signature, or the deal is left for the rep to progress manually. Which of those happens automatically, manually, or at the requester’s choice is set on the ruleset — see the Setup Guide.

Cancelling a flow

Flows are cancelled automatically when the subscription is deleted, the quote is voided, or the subscription is reverted to draft. A rep can also cancel a pending request from the subscription or quote with Cancel Approval Request and a reason.

Re-evaluation

A flow is re-evaluated when the deal changes — price, discount, terms, or products — or when the rules themselves change. New requirements are added if the change trips additional rules, existing approvals are kept where the rule that produced them still matches, and approvers are notified of anything new.

Notifications

Approvers receive an email when a request is assigned to them and when the flow reaches a decision. If a Slack workspace and channel are connected under Settings → Approvals, requests are also posted there and can be actioned from the channel.

Webhooks

To drive your own notifications or mirror the flow into a CRM, subscribe to the approval events: Payloads are camelCase. See Webhooks.

History and audit trail

Every flow keeps when it was opened, which rules triggered it, which groups were asked, each decision with its reason, and timestamps for every action. A subscription’s past flows are on its Approval History tab.

Troubleshooting

Flow stuck in pending. Open it and see which group is outstanding. An all group waits for every named member; a group with no members waits for any user with the approver role, so make sure someone has it; a named approver needs an active user account. Unexpected rules triggered. Every enabled ruleset contributes its first matching rule. Check priorities, thresholds, and the discount type on each condition. Approver not notified. Confirm the user account and email address, check spam, and — for Slack — that the connection shows as enabled rather than needing reconnection.

Next steps

Approval Rules

What opens a flow.

Setup Guide

Groups, routing, notifications, and roll-out.