Skip to content

Renewal or payment reminder

Synthesized from the base patterns Base playbook: every workspace

Reminds people before a renewal or payment is due, on the day, and after it's missed, and gives your team a call task when it's overdue. Runs once a day over a due-date your system keeps on each profile.

  • People renew a plan, membership or subscription, or pay an invoice or instalment, on a known date.
  • Your system can keep the next due date on each profile as a trait.
HowWhat
A Google Sheet or Excel file, syncedThe ledger you already keep in Google Sheets or Excel, synced every hour as People: phone or email, next due date, paid or not.
Events from your app or website (needs a developer)Or your billing system updates the two traits.
KindNameWhat it doesLands
TeamBillingCalls people whose payment is overdue.Empty
SegmentPayment due soonDue within the reminder window and not yet paid.Ready
SegmentPayment due todayDue today and not yet paid.Ready
SegmentPayment overduePast the due date in the last 30 days and not paid.Ready
TemplatePayment due soon (email)Reminder before the due date.Ready
TemplatePayment due today (SMS)SMS on the due day.Ready
TemplatePayment overdue (SMS)SMS once overdue.Ready
Follow-upPayment reminder 1: due soonDaily run over "due soon": one email per period.Off
Follow-upPayment reminder 2: due todayDaily run over "due today": one SMS.Off
Follow-upPayment reminder 3: overdueDaily run over "overdue": an SMS and a call task for the overdue team.Off
#QuestionDefaultFills in
1What should messages call your organisation?none, must answerorg_name
2What are you reminding people about? (in a few words, as messages will say it)your renewalwhat_is_due
3Which trait holds the next due date?
A date or date-time trait your system updates after each payment.
next_payment_duedue_trait
4Where do people pay or renew?none, must answerpay_url
5Which team calls when a payment is overdue?Billingcollections_team

These have defaults. Change any that don’t fit.

SettingDefaultKey
Sender address‹workspace default_sender›email_from
Trait that says whether the current period is paidpayment_statusstatus_trait
First reminder before the due date7dremind_before
Daily send time09:00send_time
Time zone for the daily run‹workspace timezone›timezone
Greeting when a first name is missingtheregreeting_fallback
  • Runs every day at 09:00 in ‹workspace timezone›.
  • An email when the due date is within 7d, an SMS on the due day, and an SMS plus a call task for Billing once it's overdue (due in 48 hours).
  • Each reminder reaches a person at most once per period (re-entry cooldown).
ChannelNeeded forBefore it can send
emailThe remindersA verified sending domain for ‹workspace default_sender›.
smsThe due-day and overdue remindersAn SMS provider, or Origamy managed SMS after business verification (KYC).
  1. Fill payment_status for everyone (paid or due). A blank status never matches, so that person gets no reminder.
  2. Keep next_payment_due up to date on each profile (an ISO date like 2026-12-01), and set payment_status to paid when the current period is paid, so nobody who has paid is reminded.
  3. Add people to the Billing team.
  4. Verify the sending domain; for SMS, connect a provider or finish business verification.
  5. Check the three segments' sizes, then switch the follow-ups on.
  6. Keep reminders factual and polite. Don't threaten, and follow your local rules for collections.

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.

The request used to test the copilot on this playbook (a live eval):

Remind members a week before their renewal date by email, text them on the day, and if they still haven't paid, text again and give our billing team a task to call them. The renewal date is in the next_payment_due trait.

It passes when every piece is a valid draft and everything lands off, with at least: segment, workflow, message_template.