Skip to main content

Steps and channels

Each step of the collection rule answers three questions: when to fire (trigger), what to do (action) and through which channel to speak (channels). This page details the options for each.

Steps of a collection rule

When: triggers and offsets

The trigger anchors the step to a date on the charge, with an offset in days:

TriggerMeaningExample
Before due date (before_due)X days before it is dueFriendly reminder at -3 days
On the due date (on_due)On the day itself"Due today"
After due date (after_due)X days overdueFirm charge at +5, offer at +15
After issue (after_issue)X days after issuingInvoice receipt confirmation
After payment (after_payment)X days after payingThank-you/confirmation

The daily check compares today's date with the trigger of each active step, in position order. A step runs at most once per charge: if it has already fired, it does not repeat. after_due steps use the overdue days recalculated on the day — if a charge entered the rule already 20 days overdue, the eligible +3, +5 and +10 steps fire under the same per-person contact limits (you do not bombard the debtor; see Contact compliance).

What: action types

ActionWhat happens
Notification (notification)Sends a message over the step's channels, with the chosen template
Negotiation offer (negotiation_offer)Creates an agreement offer for the charge (10% discount, up to 3 installments, valid for 7 days), visible in the debtor portal
Manual task (manual_task)Opens a follow-up task for the team, high priority, 24-hour deadline
Credit bureau registration (negativation)Creates a pending credit bureau registration record + an urgent human-review task — nothing goes to the bureau without approval
Protest (protest)Creates a pending protest record + an urgent human-review task
Legal (judicial)Opens an urgent task to escalate to legal

Credit bureau registration, protest and legal escalation never execute on their own: they are workflows with mandatory human review. A charge under legal hold skips these steps automatically.

Through which channel: channels

A notification step can use one or more channels: email, SMS, WhatsApp, voice (phone call) and manual. The recipient is resolved from the customer's record:

  • Email — the first email on file;
  • SMS and voice — the phone marked as mobile (or the first in the list);
  • WhatsApp — the phone marked as WhatsApp; without one, it falls back to the mobile.

If the customer has no contact for a channel, that channel is simply skipped — the others proceed. Each charge + step + channel combination has an idempotency key: even with concurrent jobs, the same message never goes out twice.

:::caution Voice is not dispatched yet The voice (phone call) channel appears in configuration but is not dispatched yet — today it is a planned channel with no send effect. A voice-only step produces no contact. For calls, use a manual task and log the outcome. The channels that actually send today are email, SMS and WhatsApp (the manual channel only records that a person will make the contact). :::

Tone and template

Each step carries a tone (friendly, neutral, firm, urgent) and a message template with interpolated variables — customer name, updated amount, days overdue, payment link. Without a template, the system sends a generic reminder with the charge's description; in practice, you will always want a template per step.

Step conditions

Steps can carry additional conditions recorded alongside the step; they are preserved in the published version's snapshot, and the evaluation result of each condition is stored on the step execution (conditionsResult) — you can answer "why did this message go out (or not)?" by looking at the record. Regardless of any condition, an active suppression always wins: no step condition overrides an opt-out or an open dispute.