All Docs
FeaturesagentOS Direct DebitUpdated March 13, 2026

v1.0.18 — DD-Specific Email Notification Templates

v1.0.18 — DD-Specific Email Notification Templates

Release v1.0.18 adds seven Direct Debit–specific email notification templates to the service. These templates cover every key event in the DD lifecycle, ensuring tenants, agents, and configured alert recipients are kept informed at every stage.

Overview

The email templates module now includes purpose-built templates for Direct Debit events. Previously, consuming applications had to handle their own notifications for DD events. From v1.0.18, the service itself dispatches the appropriate email at each lifecycle event.

Templates

1. mandate_invite

Sent to: Tenant
Trigger: A letting agent initiates the mandate setup flow by sending an invite.

Contains the unique, token-based mandate form link for the tenant to complete their bank details, accept the Direct Debit Guarantee, record video verification, and complete ID verification. The link is scoped to the specific mandate and expires as per the configured token TTL.


2. mandate_confirmation

Sent to: Tenant and Agent
Trigger: The mandate has been successfully registered with Modulr via AUDDIS.

Confirms to both parties that the Direct Debit mandate is live. Includes mandate reference, collection amount, frequency, and first collection date.


3. mandate_rejected

Sent to: Agent
Trigger: AUDDIS returns a rejection for the mandate registration.

Includes the rejection reason code and a human-readable description so the agent can take corrective action (e.g. contact the tenant to re-submit with corrected bank details).


4. collection_failed

Sent to: Agent
Trigger: A scheduled BACS collection attempt fails.

Includes the failure reason and the collection reference so the agent can identify the affected mandate and tenant. Agents can use this to determine whether to retry or escalate.


5. clawback_received

Sent to: Agent
Trigger: A tenant's bank reverses a previously collected Direct Debit payment.

Includes the reversal amount, the original collection reference, and the reason for the clawback. This notification is critical for agents to take timely action on affected tenancies.


6. alert_threshold_breached

Sent to: Configured recipients (per-customer alert configuration)
Trigger: Any monitored threshold is breached.

Covers all alert types:

  • Mandate creation rate (e.g. more than 5 per hour)
  • Daily new DD collection amount
  • Weekly collection amount
  • Clawback reserve dropping below minimum

The template receives the alert type, the configured threshold value, and the current observed value as variables, and renders a consistent notification regardless of alert type.


7. funds_forwarded

Sent to: Agent
Trigger: Funds are successfully forwarded from the Griffin DD holding account to the agent's Griffin client account, after the hold period and clawback reserve check.

Includes the forwarded amount and a breakdown of any deductions (e.g. reserve retained), giving the agent a clear audit trail of when rent proceeds become available in their client account.


Template Variables

Each template is rendered with a set of variables drawn from the relevant domain objects at the time of dispatch. The specific variable sets are defined in the templates module and documented inline. Common variables across templates include:

  • agent_name — trading name of the letting agent
  • tenant_name — full name of the tenant
  • mandate_reference — unique mandate identifier
  • amount — monetary amount in GBP (formatted)
  • collection_date — relevant date, formatted as a UK working day

Recipient Resolution

  • Tenant emails — resolved from the tenant contact record on the mandate.
  • Agent emails — resolved from the customer configuration for the letting agent.
  • Alert recipient emails — resolved from the per-customer alert threshold configuration.

Multi-Tenancy

All email dispatch is scoped per customer (letting agent). Template rendering and recipient resolution respect the multi-tenant data boundaries — no cross-customer data is included in any notification.