Invoice Notifier
Introduction
In a fast-paced business environment, timely customer onboarding plays a key role in ensuring customer satisfaction. However, Customer Success teams often face delays due to a lack of real-time payment updates from billing applications.
This tutorial demonstrates how you can use Catalyst Signals to bridge this gap and automate communication between decoupled systems.
You will build an event-driven solution that listens to invoice updates from Zoho Books, filters the events based on payment status, and compiles a summary of paid invoices every hour. This summary will then be sent to a Catalyst Event Function, which will forward the report to your Zoho Cliq channel.

The event automation uses components from the following Catalyst Services:
- Publisher: A primary source of events where they are generated when any action or change occurs in an application.
- Rules: It is a statement that guides the ingestion of incoming events from Publisher to Target.
- Event Function: It is an asynchronous task function that is associated with Catalyst Signals. An Event function is created to execute a task or a set of tasks on the occurrence of a specified event.
We will use the Catalyst web console and the Catalyst Command Line Interface (CLI) to build this application.
You will be given the code for the files to be included in the function components in this tutorial. You will just need to copy the code given here and paste it into the appropriate files as directed.
Event Flow
The architecture of the event flow in this use case is outlined below:
- A customer makes a payment, triggering an invoice update in Zoho Books. This event is published to Catalyst Signals.
- Signals applies a filter to include only invoices marked as Paid. The filtered event data is then transformed and batched.
- Every hour, the batched events are delivered to a Catalyst Event Function. The function further processes the event data and sends as a report to a Zoho Cliq channel.

Last Updated 2025-06-10 18:26:01 +0530 +0530