Once you’ve designed your process definitions, you’ll need to know how to start process instances. FlowX.AI provides multiple ways to initiate processes, from manual user-triggered starts to fully automated system-initiated flows.

User Interface

The most common way to start processes through user interaction

Kafka Messages

Start processes through Kafka events from other systems

Timer Events

Schedule processes to start automatically at specific times

Message Events

Trigger processes through message events from other processes

Starting a process via Kafka

One of the most powerful ways to initiate processes is through Kafka messaging, which allows systems to communicate and trigger processes without direct user interaction.

1

Access Your Project

  1. Open FlowX.AI Designer and navigate to your project
  2. Select an existing process definition or create a new one that will send the Kafka message
2

Add a Send Message Task

  1. Add a Send Message Task node to your process flow
  2. Attach a Kafka Send Action to this node

This task will send the message that initiates another process. You can place it at any appropriate point in your process flow.

3

Configure the Kafka Topic

  1. In the Kafka Send Action configuration, specify the topic linked to the KAFKA_TOPIC_PROCESS_START_BY_NAME environment variable
  2. This variable is shared between the application-manager and runtime-manager deployments

Process Start Topic Configuration

To verify the topic in FlowX Designer, navigate to: Platform status → FlowX Components → application-manager-mngt -> kafkaTopicHealthCheckIndicator → details → configuration → topic → process → start-by-name

Topic Verification

4

Add Message Content

Add any required data in the message body that should be passed to the new process:

{"test": "something"}

This data will be available to the process being started, providing it with initial context or parameters.

5

Configure Required Headers

  1. Expand the Advanced Configuration section
  2. In the headers section, add these required headers:
    • Fx-ProcessName: The name of the process you want to start
    • Fx-AppId: The ID of the project (application) where the process resides
    • jwt: Your JWT token for authentication

Headers Configuration

The headers should look something like this:

{
  "Fx-ProcessName": "test_kafka",
  "Fx-AppId": "afcc6452-f50e-4d95-ae3b-6b35caed68bd",
  "jwt": "your_jwt"
}

Without an active policy and proper authentication, the process may not start even if the Kafka message is correctly configured.

6

Test and Monitor

  1. Run your process to send the Kafka message
  2. To monitor the results, you can use tools like AKHQ to check the response on the KAFKA_TOPIC_PROCESS_START_BY_NAME_OUT topic

Kafka Response Monitoring

Timer start event

Timer Start Events allow you to schedule processes to start automatically at defined times or intervals, enabling automated workflows without manual intervention.

1

Configure a Process with Timer Start

  1. Open FlowX.AI Designer and navigate to your project
  2. Select an existing process definition or create a new one
  3. Add a Start Timer Event to your process instead of a regular Start node

Timer Start Event Configuration

2

Configure Timer Settings

Configure the timer according to your requirements:

  1. Date Specific: Set a specific date and time for the process to start
  2. Cycle: Configure a recurring schedule using cron expressions

Starting processes through registered timers requires sending a process start message to Kafka, which needs a service account and authentication. See Service Accounts for details.

For more detailed information about Timer Start Events, refer to the Start Timer Event documentation.

Message catch start event

Message Catch Start Events allow one process to initiate another through message-based communication, creating dependencies and workflows between processes.

1

Configure the Sender Process

  1. Open FlowX.AI Designer and create or edit the process that will send the message
  2. Add a Message Throw Intermediate Event node at the point where you want to trigger the other process
  3. Configure data that will be used for correlation (e.g., a key value like ‘key1’)

Correlation Data Configuration

  1. Configure the message correlation in the node properties:

Message Correlation Configuration

2

Configure the Receiver Process

  1. Create or edit the process that should be started by the message
  2. Add a Start Message Catch Event node as the starting point
  3. Configure the node with:
    • The same message name used in the throw event (e.g., ‘start_correlation’)
    • The correlation key in the Receive data tab (e.g., ‘key1’)
3

Test the Configuration

Run the sender process and watch as it automatically triggers the receiver process when the Message Throw Event is reached.

Message Start Event in Action

Message correlation is essential for message-based communication between processes. It’s achieved through the message name (which must be identical in both throw and catch events) and the correlation key (or value).

Best Practices

When implementing process initiation:

  • Choose the appropriate method based on your use case (user-triggered, scheduled, event-based, etc.)
  • Consider authentication requirements for system-initiated processes
  • Use correlation keys thoughtfully to ensure reliable message delivery
  • Test your initiation methods thoroughly in a development environment
  • Monitor process starts to identify any failures or performance issues
  • Document your initiation methods for easier maintenance and troubleshooting

Next Steps

After setting up your process initiation methods, you can: