A method being implemented by a multi-tenant computing system including one or more physical processors and storage media storing machine-readable instructions, the method configured to enable each tenant of a plurality of tenants of the multi-tenant computing system to create tenant-specific business event definitions and notification triggers based on changes to tenant data specific to the tenant, the method comprising:
- providing a database comprising tenant data for a plurality of tenants, the tenant data including first tenant data associated with a first tenant of the plurality of tenants;
- providing a first interface configured to receive a first business event definition from a customer device of the first tenant, the first business event definition defining a first business event trigger based on one or more first business object changes identified by the first tenant and associated with the first tenant data, the one or more first business object changes defining an occurrence of a first business event associated with the first tenant, the first business event definition being tenant-specific to only the first tenant, the first business event trigger including one or more logical operations involving the one or more first business object changes;
- streaming by a change data capture service a first stream portion of first particular database change events having occurred in the database to a database change event queue;
- accessing by a transformer service the database change event queue to evaluate the first particular database change events to determine whether a first particular business object change has occurred, one or more of the first particular database change events indicating whether the first particular business object change has occurred;
- identifying by the transformer service the first particular business object change based on the one or more of the first particular database change events;
- streaming the first particular business object change to a business object change message queue;
- streaming by the change data capture service a second stream portion of second particular database change events having occurred in the database to the database change event queue;
- accessing by the transformer service the database change event queue to evaluate the second particular database change events to determine whether a second particular business object change has occurred, one or more of the second particular database changes indicating whether the second particular business object change has occurred;
- identifying by the transformer service the second particular business object change based on the one or more of the second particular database change events;
- streaming the second particular business object change to the business object change message queue;
- comparing by an event service the first business event definition against the business object change message queue, the business object change message queue containing the first particular business object change and against the second particular business object change, to determine whether the first business event trigger has been satisfied;
- when the first business event trigger has been satisfied, identifying the occurrence of the first business event associated with the first tenant;
- in response to identifying the first business event, informing a notification service of the occurrence of the first business event;
- providing a second interface by a notification service configured to receive a first notification definition and a notification action from the customer device of the first tenant, the first notification definition defining a first notification trigger based on an occurrence of one or more particular business events identified by the first tenant, the one or more particular business events including the first business event associated with the first tenant, the first notification definition being tenant-specific to only the first tenant;
- monitoring the occurrence of the one or more particular business events identified by the first tenant;
- and
- when the first notification trigger has been satisfied, performing the notification action on behalf of the first tenant.