Renewal deadline reminders
When to use it
Section titled “When to use it”- You issue licences, permits, registrations, vehicle papers or business premises permits that must be renewed by a date, and many holders renew late or not at all.
- Your register is in Google Sheets or Excel with each holder's phone, expiry date and whether they have renewed.
- You want holders reminded in plain words, with the office address and a link, without anyone chasing them one by one.
Where the data comes from
Section titled “Where the data comes from”| How | What |
|---|---|
| A Google Sheet or Excel file, synced | Your licence register, synced every hour as People: phone, email, first name, licence type, the expiry date and the renewal status (pending or renewed). |
| 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 | Licensing office | Gets the monthly report. | Empty |
| Segment | Expires within a month | Expiry within the first reminder window and not renewed. | Ready |
| Segment | Expires within a week | Expiry within the second reminder window and not renewed. | Ready |
| Segment | Expires today | Expiry today (the date started in the last day) and not renewed. | Ready |
| Segment | Expired two weeks ago | Expired about two weeks ago (a one-day band) and not renewed. | Ready |
| Segment | Renewed recently | Holders who renewed in the last month (for the monthly report). | Ready |
| Segment | Lapsed | Expired in the last 90 days and not renewed (for the monthly report). | Ready |
| Template | Renewal coming up (email) | Email a month before expiry, with how and where to renew. | Ready |
| Template | Renewal in a month (SMS) | SMS a month before expiry. | Ready |
| Template | Renewal in a week (SMS) | SMS a week before expiry. | Ready |
| Template | Renewal today (SMS) | SMS on the expiry day. | Ready |
| Template | Renewal overdue (SMS) | SMS two weeks after expiry. Plain, with a pointer to the official notice and no mention of penalties. | Ready |
| Report | Monthly: renewals | Each month, how many renewals are due next month, how many renewed and how many lapsed, to the licensing office. | Off |
| Follow-up | Renewal 1: a month before | Daily run over "expires within a month": one email and SMS per cycle. | Off |
| Follow-up | Renewal 2: a week before | Daily run over "expires within a week": one SMS per cycle. | Off |
| Follow-up | Renewal 3: expiry day | Daily run over "expires today": one SMS. | Off |
| Follow-up | Renewal 4: two weeks after | Daily run over "expired two weeks ago": one SMS. | Off |
The questions it asks
Section titled “The questions it asks”| # | Question | Default | Fills in |
|---|---|---|---|
| 1 | What should messages call your office or agency? | none, must answer | org_name |
| 2 | Where and when can people renew in person? (a few words) | none, must answer | renew_place |
| 3 | Is there a link to renew online? (leave empty if there is not) | empty: skipped | renew_url |
| 4 | Where is your official page or notice about renewal, requirements and fees? (a link) Messages point here for any detail about fees or rules. They never carry fees or penalties themselves. | none, must answer | notice_url |
| 5 | Who gets the monthly report? (for example the licensing office head) | Licensing office | office_team |
Other settings
Section titled “Other settings”These have defaults. Change any that don’t fit.
| Setting | Default | Key |
|---|---|---|
| Link to book an office visit (leave empty to skip it) | booking_url | |
| Number holders can call with questions | ‹workspace phone› | office_phone |
| Trait with the expiry date | expires_at | expiry_trait |
| Trait with the renewal status (pending or renewed) | renewal_status | status_trait |
| First reminder (email and SMS) this long before expiry | 30d | first_lead |
| Second reminder (SMS) this long before expiry | 7d | second_lead |
| Reminder after expiry, this long after the date | 14d | late_after |
| Window for the after-expiry reminder (one day longer than the delay, so each holder matches on one morning) | 15d | late_window |
| 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 | holder | greeting_fallback |
Timings
Section titled “Timings”- Runs every day at 09:00 in ‹workspace timezone›.
- An email and SMS when the expiry date is within 30d, an SMS when it is within 7d, an SMS on the expiry day, and an SMS 14d after the date. Each only while the holder is not marked renewed, and each holder gets each message once per cycle.
- Monthly report to Licensing office: cron 0 8 1 * * in ‹workspace timezone›.
Channels
Section titled “Channels”| Channel | Needed for | Before it can send |
|---|---|---|
| sms | The reminders at 30 days, 7 days, on the expiry day and after it | An SMS provider, or Origamy managed SMS after business verification (KYC). Use your office's registered sender name where the country allows it. |
| The 30-day reminder and the monthly report | A verified sending domain for ‹workspace default_sender›. |
What you need to do
Section titled “What you need to do”- Keep these columns in your licence register: phone, email, first_name, licence_type (in plain words, for example business permit), expires_at (a date like 2026-12-31) and renewal_status (exactly pending or renewed, never blank). Set the status to renewed as soon as a renewal is processed. Leave the old date in place for a few weeks so the monthly report can count it, then move it forward and set the status back to pending.
- Add the people who should get the monthly report to the Licensing office team (Settings → Collaborators → Teams). A report sent to an empty team reaches nobody.
- Make sure the notice page is public and says what holders need and what renewal costs. The messages never state fees or penalties, so the page has to.
- Verify the sending domain for the email, and connect an SMS provider or finish business verification. Register your office's sender name with your SMS provider where that is possible.
- Tell holders when they get or renew a licence that reminders will come by SMS and email, and that they can reply STOP. Only message numbers that holders gave you for this purpose.
- Keep the tone plain and official. Messages never mention fines, penalties or consequences, and never carry any political or campaign content. Check the wording with your communications office.
- 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.
- Origamy matches each row to a person by phone or email, so a person has one expiry date. If a holder has several licences, keep the earliest upcoming expiry in the sheet, or use a different contact for each licence.
- Never leave the status blank. A blank status doesn’t match “not renewed”, so that holder would silently miss every reminder. Process renewals into the sheet the same day, so someone who renewed this morning isn’t reminded this afternoon.
- The after-expiry reminder matches each holder on a single morning: it picks holders whose date is between 14 and 15 days ago. If you change the delay, keep the window one day longer than the delay.
- Fees, penalties and what happens to a lapsed licence belong on the official notice, which every message links to, not in an SMS. That keeps the tone plain and means a change in the rules is one edit to one page.
- Government sender names help trust. Where your country lets agencies register an alphanumeric sender name, use it, and tell holders at issue that reminders come from it. Offer an office booking link only if booking really works, since a broken link costs more trust than no link.
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 a licensing office. Our register has each holder's phone, email, licence type, expires_at and renewal_status (pending or renewed). Email and text holders 30 days before their licence expires, text them 7 days before, on the day, and 14 days after, with how and where to renew and a link to our official notice. Don't mention fines or penalties. Send our office head a monthly report of renewals due next month, renewed and lapsed.
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, prosecution, fined, arrest.
