Create a flow diagram of all the app lifecycle events and add to the documentation

Lifecycle events keep coming up in various forums, community or slack etc.

For example, what is the order of all the webhooks?

  1. install
  2. app_trial_subscription_started
  3. app_trial_subscription_ended
  4. app_subscription_created
  5. app_subscription_renewed
  6. app_subscription_cancelled_by_user
  7. app_subscription_cancelled
  8. uninstall

This is just an example lifecycle journey.

What happens when subscription renewal payment fails and what are the timings?

Possibly this?

  1. app_subscription_renewal_attempt_failed
  2. app_subscription_renewal_attempt_failed (attempt 2, after 4 days)
  3. no webhook (attempt 3, after 4 days)
  4. no webhook (attempt 4, after 4 days)
  5. no webhook (attempt 5, after 4 days)
  6. no webhook (attempt 6, after 4 days)
  7. no webhook (attempt 7, after 4 days)
  8. no webhook (attempt 8, after 4 days)
  9. no webhook (attempt 9, after 4 days)
  10. no webhook (attempt 10, after 4 days)
  11. app_subscription_renewal_failed (if first 3 attempts are unsuccessful, 45 days after app_subscription_renewal_attempt_failed)
  12. app_subscription_cancelled

See also this description with example dates from @rachelatmonday.

Also, what happens if a payment is successfully made at any point in between 1 and 12 above? What’s the next event sent?

I think that this would be best described in a flow diagram and added to the documentation on this page: