Task Types
Tasks are background jobs that run on a schedule, handling maintenance and reporting. They're created as ScheduledTask records in the admin panel with a recur_in_x_days value for automatic rescheduling.
Salesforce Check
Key: real donations salesforce check
Checks whether real test donations (credit card and bank) have arrived in Salesforce. Updates the salesforce_status field on each ScheduledTest.
- Status flow: Tests start as
NOT_CHECKED. After this task runs, they becomeFOUND(donation matched) or stayNOT_FOUND. Tests stuck atNOT_FOUNDfor 21+ days are flagged by the Not Found Check task. - Arguments: N/A
- Salesforce targets: Real bank donation checks query Salesforce production read-only; real credit card donation checks query Salesforce sandbox. Both LTI runtimes carry both Salesforce target configs.
- Auth: Cloud Run uses JWT bearer auth for both Salesforce targets. Do not add password/reset credentials back to the runtime contract.
Not Found Check
Key: Check not found donations
Generates an Asana task listing all donations that haven't been found in Salesforce within 21 days. This flags potential payment processing issues.
- Arguments: N/A
Cancel Subscriptions
Key: Cancel Subscriptions
Cancels sandbox monthly donation subscriptions created by testRealCreditCardDonations. Production Salesforce access from LTI is read-only, so bank-donation recurring subscriptions are counted for operator visibility but excluded from automation. They do not determine the sandbox cleanup task result and remain manual work.
- Arguments: N/A
Email Reports
Key: Email Reports
Sends email reports with test statistics and results to the specified recipients.
- Arguments: Comma- or semicolon-separated email addresses, e.g.
alice@example.com,bob@example.com - Recipient override: If
EMAIL_REPORT_RECIPIENTSis set in the runtime environment, it is used instead of task arguments. This letslti-devroute reports to a single safe mailbox without changing production tasks. - Sender:
EMAIL_EMAILandEMAIL_PASSWORDconfigure the SMTP sender account only. - Scope: Weekly email reports are operational reports, not scheduled tests. They do not run payment scenarios or Salesforce checks.
Payment Gateway Healthcheck
Key: Payment Gateway Healthcheck
Collects transaction data from payment gateways (Stripe, PayPal, GoCardless) and stores it for the PG Report dashboard.
- Arguments: N/A
FRAPI Queue Healthcheck
Key: FRAPI Queue Healthcheck
Reads aggregate status from the production frapi_cgo.request queue through
LTI's scoped direct database identity. It detects pending or in-progress work
whose last activity is stale and recent concentrations of terminal failures.
The failure window uses last queue activity so retries of older submissions
remain visible. Latest-success lookup uses the production
(status, submitted) index without scanning all historical success rows.
- Schedule: Every 15 minutes by default, independently of the legacy daily recurrence field.
- Healthy: No stale work and no recent failures.
- Warning: Recent failures exist but remain below the configured incident threshold.
- Unhealthy: Stale work exists or recent failures reach the threshold. The task uses the existing aggregated Asana failure-reporting path.
- Privacy: The task reads and stores only aggregate status, module, service, count, retry maximum, and timestamps. It never reads payload, response, row ID, donor, member, payment, or token fields.
- Arguments: N/A