I am asking this because, I have an use case where a single data model requires to have triggers setup for multiple business processes. Is there any best practice regarding this like making a main process that will have all the triggers and run sub processes (multiple) based on what field is changed/added?
My current solution will be having all the process as having there own signals but I am afraid if this will slow down my creatio instance.

Thanks. 

Like 0

Like

1 comments

Hello,

In Creatio, signals are event-driven triggers used to start business processes when a particular event occurs on an object, typically the addition, update, or deletion of a record. When a process contains a signal element, it essentially subscribes to a specific system event. When that event is raised, Creatio evaluates all matching subscriptions and initiates the corresponding processes.

In the case where several processes need to respond to changes on the same object but based on different business tasks (such as changes to specific fields), there are generally two architectural approaches. One is to define separate business processes, each with its own signal element. These processes start independently whenever the triggering event occurs and include internal logic to determine if they should proceed based on the field changes. The other is to design a single process with a more general signal and then route the execution flow internally, either through conditional logic or by invoking subprocesses depending on which fields were modified.

Both methods are valid and widely used in different Creatio implementations. The choice between them often depends on the nature of the business logic, the level of process reuse, and how centralized you want the control and evaluation logic to be. Having separate processes allows for more modular and decoupled logic, which can be beneficial for maintainability. A unified dispatcher-style process offers better coordination and visibility but may introduce more complexity up front.

From a performance perspective, it’s important to note that the number of signal-based triggers alone is not typically the main factor that impacts system performance. Rather, it is the overall process design, how much logic is executed, whether service calls are involved, and how efficiently process elements are structured. In environments using RabbitMQ, Creatio is more likely to offload process execution to the background automatically.

If you encounter any issues with a specific process or signal behavior, we recommend creating a support ticket via the Success Portal. Our support team will assist in analyzing and resolving the issue.

Show all comments