The only requirement is that they should connect to Kafka to communicate with the FlowX Engine. Communication is done through Kafka topics (handled by consumers and producers, see Kafka configuration section for more details).

Integration management enables you to keep track of each integration and its correspondent component and different scenarios used: creating an OTP, document generation, notifications, etc.

After defining one integration (inside Integration management) you can open a compatible node and start using them.

Integrations are used with the following nodes: task nodes, user task nodes, send message task, and receive message task.

You can easily create or import an integration using the Integration management feature just by accessing FLOWX Designer → Integration management.

Accessing Integration management

To access Integration management:

  1. Open FlowX Designer and go to the General Settings tab.
  2. From the expanded menu, select Integration management.
  3. From the list, select an Integration.
  4. Click the arrow icon to expand the list with the scenarios.

Configuring Access Rights for Integrations Management

For more details on how to configure access rights for Integrations Management, check the following section:

Configuring access rights for Integration Management

Creating a new integration

To create a new integration, see the steps described in Accessing Integration management, then follow the next steps:

  1. Click New integration and fill in the details:
    • Name - the name of the integration
    • (Optional) System name - used for multiple source systems, if multiple enumerations values are needed to communicate with other systems
  2. Click Add.

Adding new scenarios

After you added a new integration, you can configure scenarios by following the next steps:

  1. Open the newly created integration.
  2. Click the arrow icon to expand the drop-down list with scenarios.
  3. Click + Add new scenario button and fill in the name of the scenario.

Configuring scenarios

You have multiple scenarios that you can configure on an integration. For example, for integration with the notification plugin, you can configure the following scenarios: generate email notification, generate email OTP, generate push notifications, etc.

After you created a scenario you can configure the data model for it by following the next steps:

  1. Select a scenario then click the eye icon to open the configuration.
  2. You have two tabs Send and Receive, corresponding to the type of the actions: Send Message Task (Kafka) and Receive Message Task.
  3. You have multiple properties that you need to configure:

Topics

Configuring topics for Send scenario

Topics are defined depending on the environment where you want to use them. You need to configure the following details:

  • Input (in) - the information that the FLOWX.AI Engine is reading, coming from the plugin or from the adapter
  • Environment - the environment where the topic should be used (if you leave this field empty, all the environments will be selected)

Configuring topics for Receive scenario

  • Input (out) - the information that the FLOWX.AI Engine is reading, coming from the plugin or from the adapter
  • Environment - the environment where the topic should be used (if you leave this field empty, all the environments will be selected)

Configuring message data model

SEND scenario: The message data model represents the content of the message that the adapters or plugins send to the FLOWX.AI Engine.

RECEIVE scenario: The output data model represents the content of the message that FLOWX.AI Engine sends to the adapters or plugins.

To configure a new message data model, follow the next steps:

  1. Open FLOWX.AI Admin.
  2. From the left-side menu, select Integration Management.
  3. Select an integration.
  4. Select the type of the scenario then click ”+” button.

The following details need to be configured:

  • Property name - the name of the property types:

    • STRING
    • NUMBER
    • BOOLEAN
    • OBJECT - you can add multiple values types inside an OBJECT
    • OBJECT_REF - used for values that are already defined in the process
    • ARRAY - for arrays you must specify the Item type
    • ARRAY_REF - used for values that are already defined in the process
    • ENUM - a special data type that enables for a variable to be a set of predefined constants
  • Description - description of the input

  • Example value - example value based on the type of the input

  • Mandatory - could be mandatory or not

Headers

All integrations have processInstanceId as a default header parameter.

If you have actions that contain callbacks, multiple headers can be added, like the action name or the name of the node.

Headers may also contain Kafka authorization (token in the header).

Using integrations

As mentioned earlier, you can use integrations management to configure integrations between FLOWX.AI Engine and different plugins and adapters. These configurations are defined so that when you create a process (and it is using Kafka-related activities) you will no longer have to manually search for suitable topics or environments.

Use predefined integrations, that you have already configured, on different processes and nodes. Places where integrations will be used:

  • Node → Actions → Kafka Send Action (to send data to the integration)

  • Node → Node config → Data stream topics (the topic name where the process engine listens for the response)

Data stream topics are used to select the integration and the key on which the response is saved.

If your integration has scenarios that are already used in another process, you will always be notified.