Skip to main content

Messaging Rules

Settings → Messaging Rules is the single inventory of every email and text Conductly sends for your school, and where you build your own automated ones. Pick something that happens in Conductly -- a student enrolling, an invoice going out, a lesson pack running low -- and Conductly sends a template you choose, to the people you choose, on the timing you choose.

The page is organized into three tiers, top to bottom:

TierWhat it isCan you edit it here?
Your rulesRules you build yourselfFull control -- create, edit, turn on/off, delete
Built-in remindersLesson and payment remindersSwitch on/off here; timing, audience, and templates are edited on their own settings pages
Always onAccount and money messages like receipts and password resetsRead-only -- these can never be turned off

Creating a Rule​

  1. Go to Settings → Messaging Rules (Operations group, between Reminders and Emails & SMS).
  2. Click New rule. The editor reads as one sentence with a picker in each blank, for example When [First lesson coming up] for [Piano], send [Email] [First lesson prep] [2] days before the first lesson at [9:00 am] to [parents/guardians]. Click any blank to change it -- the sentence rewrites itself as you go.
  3. Pick a trigger in the first blank -- see the tables below for what each one does. The picker lists trigger names only, grouped under Lessons, Trials, Enrollment, Billing, and Packs & credits, with a search box and a clock or lightning icon marking a scheduled trigger from an instant one. You can still change your mind after saving: the trigger stays editable until the rule fires for the first time (a send or a skip, whichever comes first), then it locks in for good, since every log entry is tied to that trigger's records.
  4. If the trigger is about an enrollment or a lesson, fill in the for blank to narrow it to a specific course, instructor, or location, or leave it as any class.
  5. Fill in the channel, template, and timing blanks (see Timing below).
  6. Fill in the to blank -- the audience who gets messaged.
  7. Optionally, open More options -- its closed line already summarizes the current values -- to set a classification, change the "ignore anything before" date, pick a Form to send and add {form_url} to a template (see Sending a Form below), or, for Lesson missed, narrow it to one kind of miss.
  8. Name the rule at the top of the page -- a new rule borrows its trigger's name until you type your own; this is for your own reference, not shown to recipients.
  9. Click Create rule.

A new rule is on by default and only reaches things that happen from today onward -- turning it on never messages someone about something that already happened.


Starters​

The first time you visit Settings → Messaging Rules with no rules built yet, four ready-made rules appear as chips under Your rules -- a faster way in than building one from scratch.

StarterTriggerTimingChannelAudience
Welcome emailStudent enrolledRight awayEmailStudent + parents/guardians
First lesson prepFirst lesson coming up2 days before, 9 AMEmailStudent + parents/guardians
Payment nudgeInvoice due soon3 days before, 9 AMEmail + textThe person who pays
Missed lesson check-inLesson missedRight awayTextStudent + parents/guardians

Click a chip and Conductly creates the rule and its template(s) for you, then opens the rule's edit page -- switched off -- with a note explaining why it's off and what to do next: read the template, run a dry run, and turn it on when you're ready. The template lands on Settings → Emails & SMS like any other and is yours to edit; on the rule's edit page, an Edit template link beside each template picker opens it in a new tab.

Starters you haven't used yet stay available in a footer under your existing rules until you've added all four, alongside a Start from scratch link if you'd rather skip them. Delete a starter rule -- from the trash can on its row, or from the bottom of its edit page -- and its chip comes back; adding it again reuses the template you already built, including any edits you made.

A starter is just a starting point: its trigger stays a free choice until the rule actually fires for the first time, and you can change its timing, audience, wording, or anything else too, the same as you would on any rule you built yourself.


Triggers​

21 triggers are available. Each one is tied to a specific kind of record, which decides what merge tags its templates can use and who you're allowed to notify.

Fires the moment it happens​

TriggerFiresDefault classification
Student enrolledRight when a student is enrolled in a lesson or class -- by staff, through the store, or from the family portalTransactional
Introductory lesson bookedA student is put on a trial -- an introductory class bought in the store, or a trial student scheduled onto a new lesson by staff. An ordinary enrollment or a drop-in doesn't countTransactional
Invoice sentRight when an invoice is emailed to a family -- by staff or by automatic invoicingTransactional
Payment failedRight when a card or bank payment on an invoice is declined or returnedTransactional
Lesson missedA student is marked as having missed a lesson, whether a no-show or missed with notice -- one message per student per lessonTransactional
Lesson cancelledA single lesson is cancelled, by staff from the calendar or by the family from the portal. One message per lesson, to everyone on itTransactional
Lesson rescheduledA single lesson is moved to a new time, by staff or by the family from the portalTransactional
Substitute instructor assignedA substitute is put on one lesson. Changing who teaches the whole series doesn't count, and the instructor role on this trigger notifies the substitute, not the regular teacherTransactional

Fires on a schedule​

The other 13 triggers are checked once an hour and fire at a clock hour you pick for that rule (8 AM–8 PM, your school's timezone). Depending on the trigger, the number you set counts down to a date that hasn't happened yet, or up from one that already has -- the timing box on the rule labels it either way.

Counting down to a date:

TriggerFiresDefault classification
First lesson coming upA number of days you choose, before a newly enrolled student's first lesson (default 2 days)Transactional
Invoice due soonA number of days you choose, before an unpaid invoice's due date (default 3 days) -- cancelled automatically if the invoice gets paid firstTransactional
Auto-charge coming upA number of days you choose, before an invoice is charged automatically to the card on file (default 2 days) -- only for invoices the auto-charge automation will actually collectTransactional
Card expiring soonA number of days you choose, before a saved card expires (default 30 days), for families who still owe something or have a lesson on the books -- a card the family already replaced is skippedTransactional
Lesson pack nearly used upWhen a student's prepaid lesson pack drops to a number of lessons or fewer that you choose (default 2 -- this box counts lessons, not days)Transactional
Make-up credit expiring soonA number of days you choose, before an unused make-up credit expires (default 7 days)Transactional
Enrollment ending soonA number of days you choose, before a student's last scheduled lesson (default 14 days)Transactional

Counting up from a date that's already passed:

TriggerFiresDefault classification
Trial lesson completedA number of days you choose, after a trial lesson is over (default 1 day)Transactional
Trial not convertedA number of days you choose, after the trial, while the student is still on trial status with nothing else booked (default 3 days)Marketing (a sales follow-up)
Invoice overdueA number of days you choose, after an unpaid invoice's due date (default 3 days) -- build several rules, e.g. at 3, 7, and 14 days, for a reminder ladderTransactional
Lesson pack used upA number of days you choose, after the last lesson in a prepaid pack that hasn't been renewed (default 0 days) -- never fires for a school whose packs renew automaticallyTransactional
Lesson milestone reachedOnce a student's Nth lesson is behind them (default the 1st -- this box counts lessons, not days; an unmarked lesson counts as attended)Transactional
No lessons attended recentlyWhen a student hasn't attended a lesson in a number of days you choose (default 60), and has nothing booked aheadMarketing (a win-back message)
tip

The Only for filter (course, instructor, or location) is offered on any trigger about an enrollment or a lesson: Student enrolled, Introductory lesson booked, First lesson coming up, Lesson pack nearly used up, Lesson pack used up, Enrollment ending soon, Lesson missed, Trial lesson completed, Lesson cancelled, Lesson rescheduled, and Substitute instructor assigned (there, the instructor filter matches the lesson's regular teacher, not whoever's covering). Invoice, card, and credit triggers always apply to everyone -- an invoice, a saved card, or a credit isn't tied to one course or instructor -- and so do the student-level triggers: No lessons attended recently, Trial not converted, and Lesson milestone reached.

Lesson missed can also be narrowed to just one kind of miss -- No-show or Missed with notice (a lesson marked missed without a reason counts as missed with notice).

Two triggers overlap a message Conductly already sends automatically, and both keep sending independently:

  • An Invoice overdue rule set to the same number of days as an enabled Payment reminder milestone (Settings → Reminders) triggers a warning in the rule editor, since the family would get both.
  • Card expiring soon runs alongside the always-on card-expiring email (see Always-On Messages below), which keeps sending on its own fixed 3/7/15/30-day schedule no matter what rule you build.

Timing​

What you see depends on the trigger you picked:

  • Immediate triggers (the eight that fire the moment something happens) -- choose Right away or After a delay (a number of hours or days).
  • Scheduled triggers (the other 13) -- choose the count before or after the moment (days for most triggers; lessons for Lesson pack nearly used up and Lesson milestone reached), and what hour of the day the rule should check and send (8 AM–8 PM, in your school's timezone).

Every rule also has Only for things that happen on or after a date, defaulting to today. For a scheduled trigger, anyone who already passed that point before you turned the rule on is left out -- set the date back if you want to reach them too.

Text messages, regardless of a rule's own timing, never send outside daytime hours in your school's timezone.


Classification: Transactional or Marketing​

Every rule is either:

  • Transactional -- operational messages tied to something the recipient did or is owed (an enrollment, an invoice). Not affected by a marketing opt-out.
  • Marketing -- promotional messages, like a win-back nudge to a family that's gone quiet. Honors your unsubscribe list.

Each trigger suggests a starting classification. You can downgrade a transactional trigger to marketing, but never the reverse -- this stops a promotional message from being relabeled to dodge the opt-out list. No lessons attended recently and Trial not converted are always marketing and can't be changed -- one's a win-back message, the other a sales follow-up.


Channel and Templates​

Choose Email, Text, or Email + text, then pick the template(s) to send (managed on Settings → Emails & SMS, same as your other templates). Each trigger offers its own set of merge tags for the template -- for example, an invoice trigger offers {invoice_amount_due} and {invoice_pay_url}, while an enrollment trigger offers {student_name} and {instructor_name}.

One thing limits the Text option: marketing texts aren't available yet -- if a rule is classified Marketing, only Email is offered. (Settings → Features → Messaging turns on the inbox for replies to your texts; it doesn't decide whether a rule can send one.)

If a rule sends Email + text, a recipient who has personally set a preferred channel only gets that one -- the other channel is skipped and shows in the log as Recipient prefers the other channel.


Sending a Form​

Any rule can send one of your forms along with its message -- an intake form the moment an Introductory lesson booked rule fires, for example.

  1. Under More options → Form to send on the rule, pick a form. Only published forms are listed, since an unpublished one has no public page (see Publishing & Sharing Forms).
  2. Add the {form_url} merge tag to the email or text template, wherever you want the link to appear.

The link each recipient gets is personalized, not a generic copy of the form:

  • It's pre-filled with what Conductly already knows -- the recipient's own name, email, and phone, plus the student's name -- so families don't have to retype it. Your school's mailing address is never included.
  • It's tied to the right student. Each parent/guardian who's messaged gets their own link addressed to them; if the rule messages the student directly and the family has more than one guardian, the guardian block is left blank for whoever opens it. Whatever name someone types into the form, the answers land on that same student's record -- not a new or duplicate one.
  • Names and emails on file are protected. A submitted form updates contact details and custom fields, but never overwrites the student's name or email. If the link gets forwarded and someone else fills it out, their email only attaches to the family if it already belongs to one of that student's guardians -- otherwise the answers save against the student with no guardian added.
  • The link expires after 14 days. After that (or if it's altered), the form still opens and can still be submitted, just as an anonymous public link would.

A trigger that isn't tied to one student -- an invoice, or a lesson cancelled for a whole class -- sends the plain public link instead.

If the form gets unpublished or deleted after the rule was saved, the rule keeps running, but {form_url} goes out blank and the Messaging Rules page and the rule's edit page show a warning (Form unpublished or Form deleted) until you pick a different form or publish it again.


Audience​

Who a rule notifies is relative to the record that fired it -- not a fixed list of people. The roles offered depend on the trigger:

RoleNotifies
The studentThe student themselves
The student's parents/guardiansThe student's guardian(s)
The person who pays the invoiceWhoever is billed -- an adult student is their own billing contact if no guardian is on file
The instructor(s) on the lessonEvery instructor teaching that lesson
School staffOwners and admins, or everyone including instructors -- your choice

Invoice-based triggers offer only the billing contact and staff; enrollment- and lesson-based triggers offer the student, guardians, instructor, and staff. Each person is only messaged once per send, even if they qualify for more than one role, and opt-outs always win regardless of who's checked.

For a trigger on a whole class -- Lesson cancelled or Lesson rescheduled for a group lesson, not a private one -- The student role reaches every student on the roster, so one message goes to the whole class rather than one per name.

If you notify School staff, choose whether that means Owners and admins or Everyone, including all instructors. Staff receive it through their own notification preferences (in-app and/or email), same as any other staff notification.


Testing a Rule Before It Goes Live​

Once a rule is saved, its edit page offers two ways to check it before trusting it:

  • Dry run -- replays the trigger over your last 30, 90, or 365 days of records and shows who would have been messaged and who would have been skipped, and why. Nothing is sent or logged. It's a look backward, not a preview of upcoming sends -- a rule only reaches things that happen on or after the date you set, so the people in a dry run aren't actually about to be messaged.
  • Email me a test -- sends the rule's email template to yourself, if it has one.

The Log​

Every rule's edit page also shows a log of everything it has actually decided -- who it sent to, who it skipped, and why -- most recent first. Skip reasons you might see:

Reason shownWhy
Rule is turned offThe rule itself is switched off
Record predates the ruleThe record is older than the rule's "on or after" date
Already sent for this recordThis rule never messages the same person about the same record twice
Did not match the rule filterThe record's course, instructor, or location doesn't match the rule's Only for setting
No longer applies at send timeConductly re-checks right before sending -- e.g., an invoice that got paid during the delay window is no longer due soon
No template chosen for this channelThe rule doesn't have a template picked for Email or Text on this channel
Nobody to send toNo one qualifies for the audience roles you checked -- e.g., you notify guardians, but the student has none on file
No email address or phone on fileSomeone qualifies, but has no address for the channel this rule uses
Recipient opted outThe person has opted out of marketing email or of text messages entirely
Marked do not contactThe record's do-not-contact flag is set
Someone at this number opted out of textsThe phone number is shared, and one of the people on it has opted out
Marketing texts are not enabled yetThe rule is Marketing-classified and tried to text
Staff member turned this notification offThe staff recipient has that notification switched off in their own preferences
Recipient prefers the other channelThe rule sends Email + text, but this recipient's own channel preference is the other one

Editing, Turning Off, and Deleting a Rule​

  • Turn a rule on or off from the toggle on the Messaging Rules page, or from its own edit page.
  • Change a rule's trigger from its edit page, as long as the rule hasn't fired yet. Once it logs its first send or skip, the trigger locks in -- delete the rule and build a new one to point it somewhere else.
  • Delete a rule from the trash-can icon on its row on the Messaging Rules page, or from the bottom of its edit page -- both ask you to confirm first. Its log is kept for your records even after deletion, but a replacement rule starts with no memory of who it already reached -- take care backdating a rule you just recreated. Deleting a starter rule also returns its chip to the footer, ready to add again.

Built-in Reminders​

The Built-in reminders tier lists Conductly's two automatic reminders -- Lesson reminder and Payment reminder -- so this page shows a complete picture of everything your school sends. You can switch either one on or off right here, but the toggle writes through to the same setting the reminder itself uses -- it's one switch, not a copy. Timing, audience, and templates for both are still configured on their own page: see Reminder Settings.


Always-On Messages​

The Always on tier lists messages that can never be turned off, so this page is a complete picture of everything Conductly sends -- not just the parts you control. These include New enrollment (instructor), Invoice, Payment receipt, Refund notice, Card expiring/expired/failed, Password reset, Email verification, Student portal instructions, and Team invitation. They're shown read-only, with a Locked label.

Voiding an invoice is not on that list -- it emails nobody. If a family already received the invoice you've now voided, let them know yourself.


What's Not Here Yet​

  • Marketing text messages. SMS works for transactional rules once Messaging is turned on, but a Marketing-classified rule is Email only for now.
  • Routing built-in reminders through this engine. The Lesson reminder and Payment reminder rows in the Built-in reminders tier are a read-through view of the existing Reminders settings, not rules running on this engine yet -- edit their timing and templates on Reminder Settings as before.
  • Triggers for form submissions or store purchases. Not offered yet.
  • Triggers for birthdays, enrollment anniversaries, or an unaccepted portal invite. Not offered yet.
  • Staff-only alerts -- like attendance that was never marked, a lead going cold, or a class filling up. Not offered yet.