On this page
Who needs to know about thisIf you do need to walk someone through API ConfigWhat triggers a balance webhook, concretelyCommon training mistake to avoidFor Training
Who needs to know about this
Realistically: nobody on the clinic-staff training track. Nothing in the day-to-day patient/appointment/invoice workflow changes. Add Balance, taking a payment, and overpayment-to-balance conversion all work exactly as they did before — same buttons, same forms, same outcomes for the patient and the invoice.
The only audience is whoever at a clinic manages third-party integrations (usually a technical admin, not front-desk staff), and only if that clinic has apiEnabled turned on.
If you do need to walk someone through API Config
- Settings → Integrations → API Config tab (only visible if enabled for
the company).
- Each row is one webhook destination: a Base URL, an optional **Verify
Token (used to HMAC-sign the payload so the receiving system can confirm it really came from Dentolize), and an APIs** multi-select of which events to receive.
- To receive balance activity, check Balance Invoices and **Patient
Balance** in that multi-select — they're separate checkboxes from "New Invoice" / "New Payment" and must be selected independently.
- There is no "Type" field to fill in anymore (it was removed in this PR —
if training material or screenshots predate this change, they'll show a Type dropdown that no longer exists).
- Up to 5 rows can be added in the UI (
fields.length >= 5disables the
"New Item" button), though the backend allows up to 10 via the API.
What triggers a balance webhook, concretely
Use this when training whoever configures/tests an integration, so they know what to click to generate a test event:
- Add Balance button on any patient profile → fires one
NEW_BALANCE_INVOICE and one NEW_BALANCE_PAYMENT.
- Recording a payment against an invoice for **more than the remaining
amount owed** → the system automatically creates a balance invoice for the difference and fires the same two events. (There's no separate UI action for this — it's a side effect of entering a large-enough payment amount.)
Common training mistake to avoid
Don't tell integration admins that subscribing to "New Invoice" also covers balance invoices — it doesn't. Balance invoices and balance payments are distinct event types that must be checked separately, even though a balance invoice is, underneath, still an Invoice record.