Guides
Configuring cycles and channels
Define tenant cycle stages and channel taxonomies used across opportunities and reporting.
- Guides
- 1 min read
Cycles
A cycle is an ordered list of stages. Typical commercial lending motion starts with a small set (qualify, structure, approve, book) and grows only when process owners need a distinct gate.
Guidelines:
- Prefer fewer stages with clear exit criteria over fine-grained micro-stages.
- Name stages with verbs or states used by relationship managers, not engineering ticket names.
- Document required fields per stage before enforcing them in the API.
await client.admin.cycles.update({
id: 'default-lending',
stages: [
{ id: 'qualify', label: 'Qualify' },
{ id: 'structure', label: 'Structure' },
{ id: 'approve', label: 'Approve' },
{ id: 'book', label: 'Book' },
],
})
Admin scopes are required. Non-admin tokens receive 403.
Channels
Channels classify entry into motion. Keep the list short and stable; retiring a channel should archive rather than delete historical usage.
await client.admin.channels.upsert([
{ id: 'relationship', label: 'Relationship' },
{ id: 'campaign', label: 'Campaign' },
{ id: 'partner', label: 'Partner' },
{ id: 'inbound', label: 'Inbound' },
])
Validation before enforcement
- Export current opportunity distribution by proposed stage and channel.
- Run a dry-run migration against a non-production tenant.
- Ship admin configuration, then enable required-field checks gradually.
See Deployment checklist and Release notes when upgrading cycle schemas between versions.