# Events In the Rebilly rules engine, an event is a preconfigured occurrence. Actions are tasks that execute when an event with a configured rule or bind occurs. This topic describes all event types and actions available for each event. To configure actions for an event, press an associated action and follow the steps to create a rule, bind, or draft ruleset. To configure event based email notifications, see [Email notifications](/docs/automations/email-notifications). ## Terms - **Event:** An event is a preconfigured occurrence. For example, when a customer new customer is created, the 'customer created' event is triggered. - Rules and binds: There are two methods of creating automations in Rebilly: - **Rules**: Can be configured to stop subsequent rules in the event list from being executed. - **Binds:** Can be configured to always execute, regardless of rule-based events. Use this automation type when you want to ensure an automation always executes when an event occurs. - **Action:** An action is a task that executes when an event with a configured rule or bind occurs. - **Ruleset:** Each event maintains a list of automations that are to be executed under specified conditions when the event occurs. These lists of automations are called rulesets. Rulesets are executed in the order they are listed on the event. - **Draft rulesets:** Provide a means of testing, and comparing changes with the active ruleset before publishing. ## Core events ### Customer created Executes when a new customer is created. Use this event to perform an Experian check on the new customer. To configure this event, see [Perform an Experian check](/docs/automations/action-types#perform-experian-check). ### Customer updated Executes when customer data is updated. Use this event to perform an Experian check on the new customer. To configure this event, see [Perform an Experian check](/docs/automations/action-types#perform-experian-check). ### Dispute created Executes when a dispute, also known as a chargeback, is added to one of your transactions. Use this event to stop active subscriptions for the customer who started the dispute, or blocklist this customer based on a certain attribute. To configure this event, select from the following actions: - [Stop subscriptions](/docs/automations/action-types#stop-subscriptions) ### Gateway account requested Executes when a customer attempts to make a transaction for the first time. Use this event to assign a gateway account to process the transaction based on certain conditions, such as: payment card attributes, bank country, currency, and so on. To configure this event, select from the following actions: - [Pick a gateway account](/docs/automations/action-types#pick-gateway-account) - [Request KYC](/docs/automations/action-types#request-kyc) - [Show descriptor disclaimer](/docs/automations/action-types#show-descriptor-disclaimer) - [Display other choices](/docs/automations/action-types#display-other-choices) ### Ready to pay requested Executes when a customer requests available payment methods for a payment. Use this event to display the most relevant payment method options for a customer, based on their geographic location. For example, you may need to display different payment methods for customers in Canada and Germany, because they have different payment method expectations. You may also prioritize the customer's active payment methods. To configure this event, see [Adjust ready to pay](/docs/automations/action-types#adjust-ready-to-pay). ### Ready to payout requested Executes when a customer requests available payment methods for a payout. A common automation for this event is to display the most relevant payment method options for the customer, based on their geographic location. To configure how a gateway manages payout requests, set the ready to payout instruction in gateway account settings. For more information, see the [configure how the gateway manages payout requests](/docs/settings/set-up-a-gateway#optionally,-to-configure-how-the-gateway-manages-payout-requests) step when setting up a gateway account. To configure this event, see [Adjust ready to payout](/docs/automations/action-types#adjust-ready-to-payout). ### Transaction process requested Executes at a point just before the transaction process is initialized. This provides an opportunity to review the transaction and perform an action based on its attributes. Use this event to increase the risk score for suspicious transactions. For example, if a transaction has a billing address in a country which is considered to be high-risk location for online fraud. To configure this event, select from the following actions: - [Perform an Experian check](/docs/automations/action-types#perform-experian-check) - [Decline a transaction](/docs/automations/action-types#decline-a-transaction) ### Transaction processed Executes after a transaction is processed by a payment gateway. Use this event to configure actions based on the result of a transaction. Use this event to blocklist a customer if a transaction is declined with a reason that suggests fraud. To configure this event, select from the following actions: - [Stop subscriptions](/docs/automations/action-types#stop-subscriptions) ## Billing events ### Order delinquency reached Executes when an order exceeds the delinquency period. The delinquency period is the length of time after which a subscription is canceled if it is not paid. Use this event to abandon scheduled payments for an order that exceeds the configured delinquency period. For information on how to set the delinquency period, see [Manage delinquency periods](/docs/data-tables/manage-delinquency-periods). To configure this event, see [Abandon scheduled payments](/docs/automations/action-types#abandon-scheduled-payments). ### Payment card expired Executes when a customer's payment card expires. Use this event to guess a new expiration date. For each guess, the system attempts a $1 authorization. On successful authorization, the customer's payment card will be updated to use that card. To configure this event, see [Guess a new expiration date](/docs/automations/action-types#guess-a-new-expiration-date). ### Renewal invoice issued Executes when a renewal invoice is issued. Use this event to schedule a payment. To configure this event, see [Schedule a payment](/docs/automations/action-types#schedule-payment). ### Renewal invoice payment canceled Executes when a renewal invoice payment is canceled. Use this event to churn a subscription. To configure this event, see [Create a rule or bind](/docs/automations/rules-and-binds#create-a-rule-or-bind). To configure this event, see [Churn subscription](/docs/automations/action-types#churn-subscription). ### Renewal invoice payment declined Executes when a renewal invoice payment is declined. A renewal invoice is a recurring invoice for a plan or product which is charged automatically. Use this event to schedule an invoice retry. To configure this event, see: - [Schedule an invoice retry](/docs/automations/action-types#schedule-invoice-retry) - [Churn subscription](/docs/automations/action-types#churn-subscription). ### Subscription canceled Executes when a customer's subscription is canceled. Use this event to cancel all scheduled payments for the customer. To configure this event, see [Cancel scheduled payments](/docs/automations/action-types#cancel-scheduled-payments). ### Subscription renewed Executes when a customer's subscription is renewed. Use this event to schedule a payment for the subscription when a subscription is renewed. To configure this event, see [Schedule a payment](/docs/automations/action-types#schedule-payment).