Every trigger, when it fires, and whether it repeats.
Time-based triggers are checked by Atlis on a schedule. Event triggers fire when an event arrives from Atlis.track(), the server API, Stripe, Paddle or CRM status mapping.
Activation
| Trigger | Type | Fires when | Sends |
|---|
Not Activated in 48h not_activated_48h | Time-based | The user is still not activated a set time after signup (2 days by default). Checked every hour. | Once per user |
Onboarding Completed onboarding_completed | Event | The user becomes activated: isActivated changes to true, a first payment arrives from Stripe or Paddle, or a CRM status mapped to Activated. You can also track onboarding_completed yourself. Automatic from: Activation. | Once per user |
First Project Created first_project_created | Event | You track first_project_created. | Once per user |
Integration Connected integration_connected | Event | You track integration_connected. | Every time |
Profile Completed profile_completed | Event | You track profile_completed. | Once per user |
Trial Started trial_started | Event | You track trial_started. Also send trialExpiresAt in identify so the trial reminder works. | Once per user |
Team Member Invited team_member_invited | Event | You track team_member_invited. | Every time |
Retention
| Trigger | Type | Fires when | Sends |
|---|
Inactive 7 Days inactive_7d | Time-based | The user hasn't been active for 7 days. Checked every hour. | Once per user |
Inactive 14 Days inactive_14d | Time-based | The user hasn't been active for 14 days. Checked every hour. | Once per user |
Data Exported data_exported | Event | You track data_exported. | Every time |
Support Ticket Opened support_ticket_opened | Event | You track support_ticket_opened. | Every time |
Revenue
| Trigger | Type | Fires when | Sends |
|---|
Trial Expiring in 3 Days trial_expiring_3d | Time-based | The user's trialExpiresAt is within the next 3 days. Checked every hour. | Once per user |
Trial Expired trial_expired | Event | You track trial_expired, for example from a nightly job using POST /api/v1/events. Atlis doesn't send this on its own. | Once per user |
Payment Method Added payment_method_added | Event | You track payment_method_added. | Every time |
Subscription Activated subscription_activated | Event | The user's first successful payment arrives from Stripe or Paddle, or you track subscription_activated. Automatic from: Stripe, Paddle. | Every time |
Plan Upgraded plan_upgraded | Event | Stripe reports a subscription change to a higher price, or you track plan_upgraded. Paddle doesn't report upgrades, so track it yourself with Paddle. Automatic from: Stripe. | Every time |
Switched to Annual Plan switched_to_annual | Event | You track switched_to_annual. Stripe and Paddle don't send this one. | Every time |
Seats Added seats_added | Event | You track seats_added. | Every time |
Billing & churn
| Trigger | Type | Fires when | Sends |
|---|
Payment Failed payment_failed | Event | A payment fails in Stripe or Paddle, or you track payment_failed. Automatic from: Stripe, Paddle. | Every time |
Payment Recovered payment_recovered | Event | A payment succeeds after a failed one in Stripe or Paddle, or you track payment_recovered. Automatic from: Stripe, Paddle. | Every time |
Subscription Cancelled subscription_cancelled | Event | A subscription ends in Stripe or Paddle, a CRM status mapped to Churned arrives, or you track subscription_cancelled. Marks the user Churned. Automatic from: Stripe, Paddle, CRM status. | Every time |
Subscription Reactivated subscription_reactivated | Event | A CRM status mapped to Reactivated arrives for a churned user, or you track subscription_reactivated. Automatic from: CRM status. | Every time |
Plan Downgraded plan_downgraded | Event | Stripe reports a subscription change to a lower price, or you track plan_downgraded. With Paddle, track it yourself. Automatic from: Stripe. | Every time |
Cancellation Page Visited cancellation_page_visited | Event | You track cancellation_page_visited when the user opens your cancel page. | Every time |
Downgrade Page Visited downgrade_page_visited | Event | You track downgrade_page_visited when the user opens your downgrade page. | Every time |
Growth
| Trigger | Type | Fires when | Sends |
|---|
Referral Link Created referral_link_created | Event | You track referral_link_created. | Every time |
Referral Converted referral_converted | Event | You track referral_converted. | Every time |
Testimonial Request testimonial_request | Time-based | An activated user signed up at least 7 days ago (the default delay), was active in the last 7 days, has a health score of 70 or more, and has never had a failed payment, cancellation, downgrade or cancel/downgrade page visit. Checked every hour. | Once per user |
Custom Events
| Trigger | Type | Fires when | Sends |
|---|
| Custom Event | Event | You track your own event name. See Custom triggers. | Every time |