Automations
Live todayBuild the rule. DonorCARE runs it.
Pick a trigger — a donation completing, a donor's recognition tier changing, a form submission, a donor going quiet — add conditions, then choose what happens next: wait, send an email, or notify staff. Start from a ready-made recipe or build one from scratch, alongside the 30-plus scheduled jobs and 9 webhook events already running in the background.
Automations are included from the Pro plan up. Webhooks are an Enterprise feature.
See pricingAlready running, not hypothetical
- 4
- triggers, from a donation to a lapsed donor
- 4
- ready-made recipes to start from
- 30+
- named scheduled jobs
- 9
- outbound webhook event types
Compliance & finance
MyInvois, consolidated filing, and settlement, on a schedule
Auto-create and auto-submit to LHDN run twice daily at 10:00 and 18:00 MYT, in batches inside LHDN's own rate limit. A monthly consolidated run files on the 4th. Payment settlement gets re-checked roughly every two hours, and recurring donations charge on their own schedule without a human triggering each one.
- MyInvois auto-create and auto-submit, twice daily, MYT-aware
- Monthly consolidated MyInvois run on the 4th
- Settlement re-check roughly every 2 hours
- Recurring-donation charges run on schedule
Insight & reporting
Nightly and weekly recompute, so numbers are ready before anyone asks
Donor engagement scores recompute nightly, donor lifetime value recomputes monthly on the 1st, and directory stats and a 17-check data-health snapshot run every night. On a weekly cadence, an insights digest, org-health and platform benchmark reports, and a donor-profile collision digest all generate on their own.
- Nightly donor-engagement recompute
- Monthly donor LTV recompute, on the 1st
- Nightly directory stats and a 17-check data-health snapshot
- Weekly insights digest, org-health/benchmark reports, collision digest
Housekeeping
Campaigns close, orders clean up, plans renew — without a click
A campaign whose end date has passed auto-completes. Stale, abandoned orders get cleaned up. Plan renewals and trial expiries process on schedule, and a compliance monitor and a support-triage job both run in the background.
- Campaigns auto-complete past their end date
- Stale-order cleanup
- Plan renewal and trial-expiry processing
- Compliance monitor and support triage jobs
Automations
Trigger, conditions, then steps — authored by your org
An automation starts from one of four triggers — a donation completing, a donor's recognition tier changing, a form submission, or a donor going quiet (lapsed, 365 days by default, configurable) — narrowed by conditions such as gift amount, campaign, first gift, recurring, tier or segment. From there it runs an ordered list of steps: wait, send an email, or notify staff. Four ready-made recipes cover the common cases, and every automation has a runs log.
- 4 triggers: donation completed, tier changed, form submitted, donor lapsed
- Conditions on gift amount, campaign, first gift, recurring, tier or segment
- Steps: wait, send email, notify staff — up to 20 steps per automation
- 4 recipes: thank first-time donors, flag a large gift, win back a lapsed donor, welcome a new tier
- Runs log tracks waiting, running, completed, failed and cancelled enrolments
The constraint that shaped it
All of it rides 5 Cloudflare cron triggers
Cloudflare's free plan caps an account at 5 cron triggers. Every job above shares those 5 slots and gates itself on the current MYT date to run only when it's actually due — 30-plus jobs packed onto a hard ceiling, by design, not by accident.
- 5 cron triggers total, shared across every scheduled job
- Each job checks the MYT date itself before running
- Email campaigns dispatch from an in-process exact-time scheduler, with a cron endpoint as an at-most-once safety net
React to your own events
9 outbound webhook events, for systems outside DonorCARE
donation.completed, donation.voided, donation.pending_review, donation.verification_uploaded, myinvois.status_changed, receipt.generated, donor.tier_changed, form.submission.created, and form.archived all fire HMAC-signed, with delivery failures tracked. Automations above use some of these same trigger points to run inside DonorCARE; webhooks are for wiring your own external system to any of the 9 instead — see /features/integrations for the full list and setup.
- 9 named, HMAC-signed event types
- Delivery failures counted, not silent
- See /features/integrations for the full list and setup
What an org can author, and what still runs only on a schedule
Automations let an org build its own trigger-condition-step rule. The scheduled jobs and webhooks below keep running underneath, whether or not an automation is watching.
Automations — trigger, conditions, steps
- 4 triggers, 6 condition fields
- A donation completing, a donor's tier changing, a form submission, or a donor going quiet, narrowed by gift amount, campaign, first gift, recurring, tier or segment.
- 3 step types, up to 20 per automation
- Wait a set number of hours or days, send an email, or notify staff — run in order and snapshotted at enrolment, so editing an automation never changes what an in-flight donor receives.
- 4 ready-made recipes
- Thank first-time donors, flag a large gift to staff, win back a lapsed donor, or welcome a donor into a new recognition tier — or start from scratch.
- A runs log per automation
- Every enrolment shows as waiting, running, completed, failed or cancelled, with in-progress and total counts on the automations list.
Scheduled jobs and webhooks, running now
- 30+ named cron jobs
- Compliance filing, financial recompute, engagement scoring, housekeeping, and reporting — all on a schedule, no human trigger.
- 9 outbound webhook events
- HMAC-signed, with delivery failures tracked, so an external system can react to a DonorCARE event today.
- Exact-time email campaign dispatch
- An in-process scheduler fires campaigns at their set time, with a cron endpoint as an at-most-once backstop.
Beyond a linear list of steps
On the roadmap. No date set.
- Branching
- Today's steps run one after another with no if/else split — the step schema is built to extend to a branch step type without a rewrite.
- More channels
- Steps cover email and staff notification today. A WhatsApp step, and porting the platform's own donor-nurture sequence onto the same engine, both extend this model rather than replace it.
Frequently asked questions
Can I build my own automation rule in DonorCARE today?
Yes. Pick a trigger — a donation completing, a donor's tier changing, a form submission, or a donor going quiet — add conditions, then choose steps: wait, send an email, or notify staff. Start from one of 4 ready-made recipes or build one from scratch. It's included from the Pro plan up.
What's actually already automated, then?
A lot, underneath any automation you build: MyInvois filing, recurring charges, settlement checks, plan renewals, campaign auto-completion, donor engagement and LTV recompute, data-health checks, and several weekly reports — 30-plus jobs in total, all scheduled, none requiring a click.
Why only 5 cron triggers for 30-plus jobs?
Cloudflare's free plan caps an account at 5 cron triggers. Every scheduled job shares those 5 slots and checks the current Malaysia time itself before deciding whether it's due to run.
What can't automations do yet?
There's no branching: steps run one after another, not if/else. Steps are email and staff notification only, with no WhatsApp step. Both extend the same run model when they land, with no date set.
How is this different from /features/integrations?
Integrations names the specific systems DonorCARE connects to. This page is the deeper answer on the automation side: the trigger-condition-step engine an org authors itself, the jobs that already run on a schedule, and the events that already fire. See /features/care-suite for how the CARE-app bridges specifically would use these same webhook events as triggers.
Build your first automation
Automations are included from the Pro plan up, with 4 ready-made recipes to start from. Nine webhook events are live today on Enterprise for anything you want to wire up yourself.

