Settings and IntegrationsProduct guide

Email Templates

Manage the branded email templates ISPbills sends for customer lifecycle events

Get help
What this guide covers

Manage the branded email templates ISPbills sends for customer lifecycle events

On this page

Settings → Email Templates stores the reusable messages ISPbills sends for customer email events. Templates are scoped to the current group administrator, so each tenant maintains its own set.

Create or edit a template

Choose an event type, then enter a subject and HTML body. Plain-text content can also be stored in the optional text field. Enable Active when the template should be eligible for sending.

The supported event types are:

Event type Sent when
Welcome A new customer account is created
Payment Received A customer payment is recorded (receipt)
Bill Due A customer’s invoice is due soon (reminder)
Suspension A customer’s service is suspended for non-payment
Activation A customer’s service is activated or restored
Custom Any other message you compose yourself

The list supports editing and deletion. ISPbills sends the first active template it finds for the matching event type, so keep only the intended version active to avoid ambiguity.

Ready-to-use defaults

New tenants do not start with an empty table. ISPbills ships five enterprise-grade default templates — Welcome, Payment Received, Bill Due, Suspension, and Activation — as polished, on-brand starting points. Each uses the house transactional layout (dark header, cyan accent, a 600px white card) as fully self-contained inline-CSS HTML, and the operator’s company name is baked in as the brand at seed time.

Defaults are populated by the email-templates:seed-defaults console command:

Option Effect
(none) Seed defaults for every group admin that is missing them
--operator=<id> Limit to specific tenant id(s) (repeatable)
--force Overwrite existing rows for the shipped event types (destroys operator edits)
--dry-run Report what would change without writing

Seeding is idempotent: a tenant that already has a template for a given event type is left untouched unless --force is passed, so your customisations are never clobbered.

Placeholders

Placeholders use double braces, for example {{customerName}}. At send time each {{token}} is replaced with the real value supplied by the event; any token the event does not supply is left unchanged. Tokens are camelCase — the company/brand is not a token because it is baked into the template when it is seeded.

The tokens each shipped default understands:

Event type Available placeholders
Welcome {{customerName}}, {{username}}, {{password}}, {{packageName}}, {{loginUrl}}
Payment Received {{customerName}}, {{customerId}}, {{gateway}}, {{amount}}, {{currency}}, {{fee}}, {{txnId}}, {{paymentDate}}, {{dashboardUrl}}
Bill Due {{customerName}}, {{invoiceNumber}}, {{packageName}}, {{billingPeriod}}, {{amount}}, {{currency}}, {{dueDate}}, {{paymentUrl}}
Suspension {{customerName}}, {{customerId}}, {{username}}, {{packageName}}, {{amount}}, {{currency}}, {{paymentUrl}}
Activation {{customerName}}, {{customerId}}, {{username}}, {{packageName}}, {{speed}}, {{validUntil}}, {{loginUrl}}

Which events send automatically

Customer-facing lifecycle emails are queued automatically for three events, provided the customer has an email address and the group admin has an active email gateway:

  • Welcome — when a customer account is created
  • Suspension — when a customer is suspended
  • Activation — when a customer is activated or restored

The Payment Received and Bill Due defaults ship ready to use and can be edited here, but they are not tied to the automatic customer-lifecycle hooks above.

Lifecycle emails are delivered through the group admin’s own configured email gateway, not a shared system mailer. If Settings → Email Settings has no active SMTP configuration for the tenant, nothing is sent — the queued job simply logs a warning. Configure Email Settings first.

Use the branded preview or test-send controls where available, and confirm Settings → Email Settings before diagnosing delivery.

Need help applying this guide?Browse related guidance or ask the support team for help.