How to Send Automated Emails and SMS using the Perfect Management System

2026-03-14

โš™๏ธ Smart Communication & Reminders
Automation Feature Guide
Automations help your app send reminder messages automatically when specific conditions are met โ€” for example rent reminders, MOT reminders, payment reminders, appointment follow-ups, and other scheduled notices.
๐Ÿ“ฉ
Channels Supported
Email and SMS
๐Ÿง 
Rule Driven
Messages are only generated when your rule conditions match.
๐Ÿ‘€
Preview First
Eligible messages are shown to you before they are sent.
๐Ÿ“
Fully Logged
Sent automation messages are saved into Automation Logs.
๐Ÿš€ Quick Start
  1. Open Settings from the app.
  2. Go to System Settings.
  3. Open the Integrations tab.
  4. Click Manage under Automation.
  5. Set your automation engine options:
    • hours_between_runs โ€“ how often the system checks for messages that are due.
    • max_messages_per_run โ€“ the maximum number of messages the system will prepare in one run.
  6. Create an Automation Rule by going to Settings, searching for Automation Rule, opening it, and clicking the Add button.
  7. Enable the rule once you are happy with the template, rules, and recipient settings.
โš™๏ธ Automation System Settings

Before automation rules can work well, you should configure the automation engine settings first.

Setting What It Means Why It Matters
hours_between_runs How many hours the app waits before running automation again in the background. Helps prevent the same background check from happening too often.
max_messages_per_run The maximum number of eligible messages prepared in one batch. Useful when many records match at once.
๐Ÿ’ก Tip: If you want reminders to appear more frequently, reduce the number of hours between runs. If you want larger batches, increase the maximum messages per run.
โœ… Before You Start
  • Make sure your Email or SMS integration has been set up.
  • Make sure your message template exists.
  • Make sure the target records contain the needed values such as email, mobile, due date, or related customer.
  • Turn on Enabled when the rule is ready to use.
๐Ÿงฉ Creating an Automation Rule

An automation rule tells the system what message to send, who should receive it, and when it should be generated.

Field What You Do Example
Channel Choose whether the message will go by Email or SMS. Email
Template Choose the message template to use. You can create a new template if none exists. Rent Due Today
Template Content Write the message and insert placeholders that the system will replace automatically. Dear {{property.lease.tenant_name}}, ...
Rules Define the conditions that must match before the message becomes eligible. when rent due date is today
Entity Recipient Tell the system where to find the person linked to the record. lease.tenant
Entity Recipient Type Specify what kind of record that recipient is. customer
Recipient Field Choose the field that contains the contact detail. email or mobile
Enabled Turn the rule on when you want it to be active. Checked / enabled
๐Ÿ“š Understanding the Rule Scopes

Each automation rule can include three types of conditions:

1) when
This is usually the date-based trigger. It decides when a message becomes due.
2) if
This is an extra condition that must also be true.
3) once
This helps prevent duplicate messages for the same record and date/event.
๐Ÿง  How the System Thinks
  1. Find all enabled automation rules.
  2. Check that the selected channel is available.
  3. Look through records in the chosen entity.
  4. Apply the when conditions.
  5. Apply the if conditions.
  6. Use the once rule to avoid sending duplicates.
  7. Resolve the recipient.
  8. Generate the message and show it for preview.
๐Ÿ”Ž What when, if and once Mean in Practice
Scope Purpose Example Meaning
when Date/time check property.rent_info.overdue_date <= today Send the reminder when the due date is today or earlier.
if Extra filter property.rent_info.owed >= 0 Only continue if there is an amount recorded.
once Duplicate prevention property.id + rent_info.overdue_date Send only once per property per due date.
Important: If a record does not meet your rule conditions, no message will be generated for it.
๐Ÿงพ Templates and Placeholders

Templates are the message bodies used by your automations. You can write friendly message content and insert placeholders between double curly brackets.

Dear {{property.lease.tenant_name}},

This is to confirm that a payment of ยฃ{{property.rent_info.owed}} is due today {{property.rent_info.overdue_date}} for {{property.name}}.

Kind regards,
{{system.company}}
๐Ÿข Record placeholders
{{property.name}}
{{vehicle.plate_no}}
{{vehicle.customer_name}}
๐Ÿ”— Related record placeholders
{{property.lease.tenant_name}}
{{lease.tenant.email}}
{{vehicle.customer.mobile}}
โš™๏ธ System placeholders
{{system.company}}
{{system.phone}}
{{system.address}}
Good to know: Placeholders can reach into related records using nested paths. This is why you may see placeholders like {{property.lease.tenant_name}} instead of only simple fields.
๐Ÿ‘ค Recipient Settings Explained

The system needs to know who should receive the message.

Entity Recipient The path to the related person or record to contact. Example: lease.tenant.
Entity Recipient Type The type of record that recipient is. Example: customer.
Recipient Field The field to send to. For Email use email. For SMS use mobile.
Enabled Only enabled rules are considered during automation runs.
๐Ÿ“Œ Example
Entity Recipient: lease.tenant
Entity Recipient Type: customer
Recipient Field: email
Result: The system follows the lease record, finds the linked tenant, treats that tenant as a customer record, and sends the email to the customer email field.
๐Ÿ”„ What Happens When Automation Runs
1๏ธโƒฃ
Background check starts
The app checks if automation is due to run.
2๏ธโƒฃ
Rules are checked
Only enabled rules are considered.
3๏ธโƒฃ
Messages are generated
Placeholders are replaced with live values.
4๏ธโƒฃ
Preview appears
You can review selected messages before sending.
5๏ธโƒฃ
Send or skip
You decide whether to send the eligible messages.
6๏ธโƒฃ
Logs are saved
Every sent automation message is stored in Automation Logs.
๐Ÿงช Testing with Simulate Automation

If you want to test your automation before waiting for the next background run, you can simulate it manually.

  1. Go to Settings.
  2. Click Simulate Automation.
  3. Choose the date you want to simulate.
  4. Click Simulate.
  5. The system will generate eligible messages and show them for preview.
Note: A simulation may return no messages if the selected date does not satisfy your when condition or if the record data does not meet your if rules.
๐Ÿ“œ Automation Logs

Every message that is actually sent through automation is stored in the logs.

Where to find it:
Go to Settings and search for Automation Logs.

Logs are useful for checking what was sent, to whom it was sent, and when it was sent.

๐Ÿ›ก๏ธ Duplicate Prevention

The once rule helps stop the same automation from being sent repeatedly for the same event.

Example: if your once rule uses the record ID together with the due date, the system will only send one reminder for that record for that date.
๐ŸŒŸ Example Rules
๐Ÿ  Rent Due Reminder
  • Channel: Email
  • Template: Rent Due Today
  • When: rent due date is today
  • If: amount owed exists
  • Recipient: lease.tenant
  • Recipient Field: email
๐Ÿš— MOT Reminder
  • Channel: Email
  • Template: MOT Reminder
  • When: MOT due date is before or on the selected day
  • Once: send once per vehicle per MOT due date
  • Recipient: customer
  • Recipient Field: email
๐Ÿ’ก Best Practice Tips
Use clear template names so they are easy to recognise later.
Test new rules with Simulate Automation before relying on them.
Always define a sensible once rule to avoid duplicate reminders.
Check that customers actually have an email or mobile number saved.
For SMS, keep messages shorter and simpler.
Review Automation Logs regularly to confirm what has already been sent.
๐Ÿšจ Troubleshooting
Problem Possible Cause What To Check
No messages are generated Rules did not match Check the date condition, if condition, and whether the rule is enabled.
Recipient not found Recipient path is incorrect Check Entity Recipient and Entity Recipient Type.
Email/SMS not available Integration not configured Review your Email or SMS integration settings.
Preview is empty during simulation Selected simulation date does not satisfy the rule Try another date or check your rule values.
โœ… Summary
The automation feature helps you send messages at the right time, to the right person, using rules you define. Set your engine options, choose a channel, create a template, define your when, if, and once rules, configure the recipient, and enable the rule. Then use Simulate Automation to test it and Automation Logs to review what has been sent.