Membership dues renewals
When to use it
Section titled “When to use it”- You run an association, professional body, alumni network, club, faith group or diaspora group that collects yearly dues.
- Your treasurer or secretary keeps the member register in Google Sheets or Excel with the date each member's dues run out.
- Members forget to renew, and the treasurer spends weeks reminding people one by one.
- You need a clean list of paid-up members before an annual general meeting.
Where the data comes from
Section titled “Where the data comes from”| How | What |
|---|---|
| A Google Sheet or Excel file, synced | Your member register, synced every hour as People: phone, email, first name, chapter, the date dues expire and dues status (paid or unpaid). |
| A CSV upload | Or a one-off CSV of the same columns to start with. |
What it sets up
Section titled “What it sets up”| Kind | Name | What it does | Lands |
|---|---|---|---|
| Team | Treasurer | Calls members whose dues have lapsed. | Empty |
| Team | Executive committee | Gets the monthly report. | Empty |
| Segment | Dues expire within a month | Dues expire within the email lead time and are not paid. | Ready |
| Segment | Dues expire within a week | Dues expire within the SMS lead time and are not paid. | Ready |
| Segment | Dues lapsed | Dues expired more than a day ago, within the follow-up window, and not paid. | Ready |
| Segment | Members in good standing | Members who have paid and whose dues haven't expired yet. Open it for the list of paid-up members before a general meeting. | Ready |
| Template | Dues coming up (email) | Friendly email a month before dues expire. | Ready |
| Template | Dues in a week (SMS) | SMS a week before dues expire. | Ready |
| Template | Dues lapsed (SMS) | Kind SMS once dues have lapsed. No pressure. | Ready |
| Template | Dues in a week (WhatsApp) | WhatsApp reminder a week before dues expire (needs Meta approval). | Ready |
| Template | Dues lapsed (WhatsApp) | Kind WhatsApp message once dues have lapsed (needs Meta approval). | Ready |
| Report | Monthly: dues | Each month, how many members are due, in good standing and lapsed, to the executive. | Off |
| Follow-up | Dues 1: a month before | Daily run over "dues expire within a month": one email per cycle. | Off |
| Follow-up | Dues 2: a week before | Daily run over "dues expire within a week": one SMS or WhatsApp per cycle. | Off |
| Follow-up | Dues 3: lapsed | Daily run over "dues lapsed": a kind message, then a call task for the treasurer with the outcome saved. | Off |
The questions it asks
Section titled “The questions it asks”| # | Question | Default | Fills in |
|---|---|---|---|
| 1 | What should messages call your association or group? | none, must answer | org_name |
| 2 | How should members pay their dues? (the sentence members will read, without account numbers) Say it the way you would say it out loud. Messages never carry bank details or amounts. | none, must answer | how_to_pay |
| 3 | Which team calls members whose dues have lapsed? (usually the treasurer, one person is fine) | Treasurer | treasurer_team |
| 4 | Who gets the monthly report? | Executive committee | executive_team |
| 5 | Should the week-before and lapsed messages go by WhatsApp instead of SMS? Needs a connected WhatsApp Business number and Meta-approved templates. | No | use_whatsapp |
Other settings
Section titled “Other settings”These have defaults. Change any that don’t fit.
| Setting | Default | Key |
|---|---|---|
| Number members can call or message with questions | ‹workspace phone› | treasurer_phone |
| Trait with the date dues expire | dues_expires_at | dues_date_trait |
| Trait that says if dues are paid (paid or unpaid) | dues_status | dues_status_trait |
| Email this long before dues expire | 30d | email_lead |
| SMS or WhatsApp this long before dues expire | 7d | sms_lead |
| How long after expiry to keep following up lapsed dues | 30d | lapsed_window |
| Hours the treasurer has to make the call | 72 | call_due_hours |
| Daily send time | 09:00 | send_time |
| Monthly report (first day of the month) | 0 8 1 * * | report_cron |
| Time zone for the daily run and the report | ‹workspace timezone› | timezone |
| Sender address | ‹workspace default_sender› | email_from |
| Greeting when a first name is missing | friend | greeting_fallback |
Timings
Section titled “Timings”- Runs every day at 09:00 in ‹workspace timezone›.
- An email when dues expire within 30d, and an SMS (or WhatsApp) when they expire within 7d. Each only while the member is not marked paid, and each member gets each message once per cycle.
- Once dues have lapsed (expired more than a day ago, up to 30d) the member gets a kind message. Two days later, if they are still unpaid, Treasurer gets a call task due in 72 hours.
- Monthly report to Executive committee: cron 0 8 1 * * in ‹workspace timezone›.
Channels
Section titled “Channels”| Channel | Needed for | Before it can send |
|---|---|---|
| The first reminder, a month before | A verified sending domain for ‹workspace default_sender›. | |
| sms | The week-before reminder and the lapsed message (or WhatsApp, if you switch it on) | An SMS provider, or Origamy managed SMS after business verification (KYC). |
| The week-before reminder and the lapsed message, if you answer yes to WhatsApp | A connected WhatsApp Business number, and both templates approved by Meta. |
What you need to do
Section titled “What you need to do”- Keep these columns in your member register: phone, email, first_name, chapter, dues_expires_at (a date like 2026-12-31) and dues_status (exactly paid or unpaid, never blank). Set the status to paid when dues are received. When the new year starts, move the date forward a year and set the status back to unpaid, and leave the old date in place for a few weeks first if you want the monthly report to count recent renewals.
- Add your treasurer to the Treasurer team and your executive to Executive committee (Settings → Collaborators → Teams). If one person does both, put them in both. A task or report sent to an empty team reaches nobody.
- If you chose WhatsApp: connect your WhatsApp Business number and submit the two templates (dues_renewal_reminder and dues_lapsed_notice) for Meta approval before switching the follow-ups on.
- Verify the sending domain for the email. For SMS, connect a provider or finish business verification.
- Tell members at a meeting or in the group chat that reminders will come by email, SMS or WhatsApp, and that they can reply STOP. Messages never show amounts, so you stay in control of what is said about money.
- Keep reminders friendly. Never name members who haven't paid, and never contact someone's family or employer. Make sure the treasurer is ready to hear from members who can't pay this year.
- Check the segment sizes against your register, then switch the follow-ups and the report on and test with your own phone and a test row.
- One row per member, one expiry date, one status. Use the same date for everyone if your dues run on a calendar year (for example 31 December), or each member’s own date if they run from the day they joined. Both work.
- Never leave the status blank. A blank status doesn’t match “not paid”, so that member would silently miss every reminder.
- Dues are often paid by bank transfer, POS or cash at a meeting, with someone updating the sheet later. Ask your treasurer to update the sheet the same day, so a member who paid yesterday isn’t reminded today.
- The “Members in good standing” segment is your voting or AGM list: members marked paid whose dues haven’t expired. Check it against the register before you rely on it.
- Alumni networks and professional bodies with members abroad can leave WhatsApp off and use email plus SMS, or turn WhatsApp on if most members are on it. Either way keep the wording the same.
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):
We're an association that collects yearly dues. Our members sheet has phone, email, chapter, dues_expires_at and dues_status (paid or unpaid). Email members a month before their dues expire and text them a week before. If dues have lapsed, text them kindly and give our treasurer a task to call. Send our executive a monthly report of how many members are paid, due and lapsed. Keep the tone friendly and don't put amounts in messages.
It passes when every piece is a valid draft and everything lands off, with at least: segment, workflow, message_template, team, report. It must never use: penalty, suspended, late fee.
