Fee reminders
When to use it
Section titled “When to use it”- Fees are paid per term, semester or in instalments, on dates your student system knows.
- Your student system can keep the next due date and whether it's paid on each profile.
Where the data comes from
Section titled “Where the data comes from”| How | What |
|---|---|
| A Google Sheet or Excel file, synced | The bursar's fee sheet in Google Sheets or Excel, synced every hour as People: payer phone and email, next_fee_due, fee_status. |
What it sets up
Section titled “What it sets up”| Kind | Name | What it does | Lands |
|---|---|---|---|
| Team | Bursary | Calls families whose fees are late. | Empty |
| Segment | Fees due soon | Fees due within the reminder window, unpaid. | Ready |
| Segment | Fees due today | Fees due today, unpaid. | Ready |
| Segment | Fees late | Fees 3 to 60 days late, unpaid. | Ready |
| Template | School fees due soon (email) | Reminder email before the due date. | Ready |
| Template | School fees due today (SMS) | SMS on the due day. | Ready |
| Template | School fees overdue (SMS) | SMS when fees are late. | Ready |
| Follow-up | Fees 1: due soon | Daily run over "fees due soon". | Off |
| Follow-up | Fees 2: due today | Daily run over "fees due today". | Off |
| Follow-up | Fees 3: late | Daily run over "fees late"; an SMS and a bursary call task. | Off |
The questions it asks
Section titled “The questions it asks”| # | Question | Default | Fills in |
|---|---|---|---|
| 1 | What should messages call your school? | none, must answer | org_name |
| 2 | Which trait holds the next fee due date? | next_fee_due | due_trait |
| 3 | Where do families pay fees? | none, must answer | pay_url |
| 4 | Which team calls when fees are late? | Bursary | bursary_team |
| 5 | How long before the due date should the first reminder go? | 14d | remind_before |
Other settings
Section titled “Other settings”These have defaults. Change any that don’t fit.
| Setting | Default | Key |
|---|---|---|
| Sender address | ‹workspace default_sender› | email_from |
| Daily send time | 09:00 | send_time |
| Time zone for the daily run | ‹workspace timezone› | timezone |
Timings
Section titled “Timings”- Every day at 09:00 (‹workspace timezone›).
- An email 14d before the due date, an SMS on the day, and an SMS plus a bursary call task when fees are 3 days late.
- One reminder of each kind per term (re-entry cooldown).
Channels
Section titled “Channels”| Channel | Needed for | Before it can send |
|---|---|---|
| The first reminder | A verified sending domain for ‹workspace default_sender›. | |
| sms | Due-day and late reminders | An SMS provider, or Origamy managed SMS after business verification (KYC). |
What you need to do
Section titled “What you need to do”- Fill fee_status for everyone (paid or due). A blank status never matches, so that person gets no reminder.
- Keep next_fee_due (an ISO date) and fee_status (paid or unpaid) up to date on each student's profile, and the payer's email and phone (a guardian's, for younger students).
- Add people to the Bursary team.
- Verify the sending domain; for SMS, connect a provider or finish business verification.
- Check the segments' sizes, then switch the follow-ups on.
This playbook is synthesized: no customer has run it with us yet. If you build it, tell us what you changed, and we’ll replace it with the real version.
Copilot eval
Section titled “Copilot eval”The request used to test the copilot on this playbook (a live eval):
Remind parents two weeks before school fees are due, text them on the due date, and if fees are three days late text again and have the bursary call them. The due date is in next_fee_due and fee_status says whether it's paid.
It passes when every piece is a valid draft and everything lands off, with at least: segment, workflow, message_template.
