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.shlocated underi-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 | |
Then run the script for each tenant individually:
-ui-doit person with administrator rights-pthe password for the person-itenant ID in which the person is used (viewable via the console command tenant-list)
1 | |
Creating a crontab#
Alternatively, set up a crontab that executes the CLI commands every minute. Example for Debian:
1 | |
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 | |
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:
- Open Add-ons → Flows.
- Click Add to create a new Flow.
- Define a name, a trigger, and at least one action.
- 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 | |
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 | |
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 |