Skip to content

Flows Add-on (Introduction)

With the Flows Add-on you automate processes in i-doit. You define rules that are triggered by certain events or states -- such as a change in the CMDB. This way you automate repetitive tasks, reduce errors, and simplify the administration of complex IT environments.

Download and installation#

This add-on can be installed additionally. Details on download, installation, and updates can be found in the article i-doit Add-ons.


Required CLI Commands#

If you want to execute the command for a tenant other than the first one, pass the corresponding tenant ID.

The Flows Add-on requires two CLI commands to function fully. You have two options for setting them up:

  • Crontab -- Run the commands regularly via Cron.
  • System service -- Use the included script create-daemon.sh located under i-doit/src/classes/modules/synetics_flows/.

Automating the CLI Commands#

Creating a system service via script#

The script creates a system service that executes the CLI commands every few seconds. First set the execution rights:

1
sudo chmod +x src/classes/modules/synetics_flows/create-daemon.sh

Then run the script for each tenant individually:

  • -u i-doit person with administrator rights
  • -p the password for the person
  • -i tenant ID in which the person is used (viewable via the console command tenant-list)
1
src/classes/modules/synetics_flows/./create-daemon.sh -u admin-user -p admin-user-password -i 1

Creating a crontab#

Alternatively, set up a crontab that executes the CLI commands every minute. Example for Debian:

1
sudo crontab -u www-data -e

Add the following lines at the end of the file and replace the login credentials as well as the tenant ID if applicable:

1
2
* * * * * /usr/bin/php /var/www/html/console.php flows:perform ---user admin-user --password admin-user-password --tenantId 1
* * * * * /usr/bin/php /var/www/html/console.php flows:time-trigger --user admin-user --password admin-user-password --tenantId 1

Assigning rights#

Under Administration → Permissions → Flows can permissions for persons and person groups be adjusted.

Right Description
Create Allows creating, duplicating and implies the view right
View Allows access to the Flows overview
Edit Allows editing, enabling/disabling and implies the view right
Delete Allows deleting Flows and implies the view right
Supervisor Allows everything

Overview#

Via the action bar you create, delete, or export Flows. In the overview you open, enable, or disable Flows via the Actions column. The More button (three dots) offers additional options: Edit, Duplicate, and Switch to test mode.

Creating a Flow#

To create a Flow:

  1. Open Add-ons → Flows.
  2. Click Add to create a new Flow.
  3. Define a name, a trigger, and at least one action.
  4. Activate the Flow via the corresponding button.

Trigger types#

Triggers determine when a Flow is executed. Only one trigger per Flow is possible.

The action is executed once the date and time are reached. It can be repeated on a regular basis.

The action is executed once the button is clicked. The button is displayed in the action bar of the object when the conditions are met.

The action is executed when a specific CMDB status is set. You can also filter by specific object types. This is NOT triggered when category data is changed through imports or API interaction.

The action is executed when categories or entries are edited. This is NOT triggered when category data is changed through imports or API interaction.

Condition types#

Conditions are optional. You can link and nest them with AND as well as OR.

You can add multiple logical conditions to link or nest conditions.

Checks whether the object meets the defined conditions. This selection refers to the final state of the object or attribute.

Checks whether the execution time falls within the defined time periods.

Checks whether the action is triggered by selected persons or members of person groups.

Actions#

At least one action must be defined.

The action executes a defined API call. The API call requires a URL, a method, and authorization specifications. For this action type you can use Twig as a template engine.

The action sends an email to specific recipients. A subject is required. For this action type you can use Twig as a template engine.

The action creates a new object. You can also specify attributes for categories.

The action updates attributes in objects.

Logs#

The logs show execution information -- either for all Flows or for the currently opened Flow.

i-doit console utility commands and options#

Command Description
flows:perform Perform executions
flows:time-trigger Trigger execution of time automation

These commands are only available if the Documents add-on is installed

flows:perform#

Perform executions

Options:

Parameter (short) Parameter (long) Description
-u --user=[USERNAME] Username of a user authorized for execution
-p --password=[PASSWORD] Password for authentication of the previously specified user
-i --tenant=[TENANT-ID] Tenant ID of the tenant to be used (default: 1)
-c --config=[CONFIG] Specification of the path to the configuration file
-h --help Help message for displaying further information
-q --quiet Quiet mode to disable output
-V --version Display the version of the i-doit Console
--ansi
--no-ansi
Force ANSI output (or disable with --no-ansi)
-n --no-interaction Disables all interaction questions of the i-doit Console
-v / -vv / -vvv --verbose Increases the output verbosity. (1 = Normal output, 2 = Detailed output, 3 = Debug level)

Example

1
sudo -u www-data php console.php flows:perform --user admin-user --password admin-user-password --tenantId 1

flows:time-trigger#

Trigger execution of time automation

Options:

Parameter (short) Parameter (long) Description
-u --user=[USERNAME] Username of a user authorized for execution
-p --password=[PASSWORD] Password for authentication of the previously specified user
-i --tenant=[TENANT-ID] Tenant ID of the tenant to be used (default: 1)
-c --config=[CONFIG] Specification of the path to the configuration file
-h --help Help message for displaying further information
-q --quiet Quiet mode to disable output
-V --version Display the version of the i-doit Console
--ansi
--no-ansi
Force ANSI output (or disable with --no-ansi)
-n --no-interaction Disables all interaction questions of the i-doit Console
-v / -vv / -vvv --verbose Increases the output verbosity. (1 = Normal output, 2 = Detailed output, 3 = Debug level)

Example

1
sudo -u www-data php console.php flows:time-trigger --user admin-user --password admin-user-password --tenantId 1

Use Cases#

Ready-made use cases can be found in our Demo -- you can export them from there.

Releases#

Version Date Changelog
1.2 09.09.2025 [Improvement] Improve creation of logical conditions
[Improvement] Action: Rank Objects
[Improvement] Create an option to define the visibility of Trigger Buttons on category level
[Improvement] Add option to add icons to Trigger Buttons
[Improvement] Group Trigger Buttons to trigger multiple Flows with one click
[Bug] Flows does not work with MySQL
[Bug] Specific category Net doesn't validate passed data correctly (from Flows)
[Bug] Time trigger is not scheduled
[Bug] More space for AND and OR object based condition selection when using german language
1.0.1 24.02.2025 [Task] Make symfony 6.4 compatible[Task]

[Task]Open "last execution" details in new tab
[Task]Allow access to object type information in placeholder
[Improvement] Export Flows to file
[Improvement] Allow usage of detailed information of assets
[Improvement] Import Flows from file
[Bug] Trigger is not performed when using a category event for a list category
[Bug] Attribute condition should not be available for change in action "update object"
[Bug] Not selected attribute value is displayed in the overview of a flow
[Bug]Creation date and Date of change are not available in object based conditions
[Bug] SQL error in object when an object based condition is configured for a location matches a title
[Bug] Selected custom attributes set as a trigger do not trigger the flow
[Bug] Selection of the object ID as a variable not possible
[Bug] Search popup is hard to read
1.0 10.10.2024 Initial release