Task Types - overview

Last updated on
4 April 2025

As described in the Features & Capabilities section, by default, there are ten (10) task types which are organized into five (5) different categories. In this section, we will describe each of these task types in more detail.

Open the Template Editor and either edit an existing template or add a new template to launch the Workflow Editor.  

Clicking on Add Task button at the top of the template editor canvas brings the modal dialog to select the type of task you want to add.

Add Task Modal

Start and End Task - all workflows require a start and end point, and visually having them green and red makes sense. There is no configuration associated with them but we need to be able to have them and be able to drag them around the canvas. It's possible and often the case, that from a Start task, we branch off to not just one task but multiple tasks. The Start task is automatically created by the engine for each template and can not be deleted.

You can have any number of End tasks on your template, however, you must at least have one end task in order for your template to be validated for production usage.  The end task is responsible for ending a workflow and properly signalling the engine to close off the process and set the appropriate flags.  If you terminate a non-end-task-terminated workflow branch by having no other tasks after it, the process will never be flagged as complete and archivable.  In such a scenario, the process will appear to never complete.

And Task (Logical AND):  This task takes multiple branches of a workflow and ANDs them together, meaning that the flow of the process will HOLD at the AND task until all tasks that point to the AND are complete before continuing execution. 

Or Task (Logical OR):  This task takes multiple branches of a workflow and ORs them together, meaning that the flow of the process will NOT hold at the OR task.  The OR is used to combine multiple branches of a workflow together into a single serial point of execution. 

Both the AND and OR tasks are explained in the Initial Discovery documentation section.

Batch Function: The Batch Function task allows you to create a function that will be executed by the engine.  This is a non-interactive task and requires that the batch function return a TRUE in order to signal the engine that the task has completed.

If Task:  The If task provides logical branching based on the status of the last executed task preceding the IF, or based on the value of a variable.  The IF task provides a TRUE and a FALSE branch and is the mechanism used to generally cause a logical loop-back condition.

Set Process Variable Task: The Set Process Variable task (SPV) is used to set the value of a process variable either though a hard-coded value, adding or subtracting a value from the variable, or by specifying a function to fetch data with.

Spawn Sub Flow Task: When executed by the engine, the Spawn Sub Flow task allows you to start a new "unmanaged" Maestro workflow. An "unmanaged" workflow means that the process that is created does not have any linkages between itself and the parent process which spawned it.  The configuration for the Spawn Sub Flow task allows you to choose which Maestro Template to spawn and which process variables you wish to pass into the spawned sub process.

Maestro AI Task: Provides an AI enabled task to create Agentic AI workflows.  Out of the box the AI Task allows you to configure it to perform a number of highly-used AI-based operations like chat, text to image and image vision within your workflows.  Configure the AI Task to perform tasks that humans would otherwise spend time doing.  All executed via the Maestro Engine.

Interactive Task Types:

There are several different tasks that are of the type "Interactive" and require some form of human interaction such as create content, fill out a form, manually execute an external process and indicate to the workflow once complete, review and approve a form or content, provide feedback etc.

Maestro provides by default 4 different interactive tasks as part of the core module. Each has a specific use case or tighter integration with either a core Drupal feature or add on module such as the webform task type.

Refer to the documentation page Interactive Task Types for more information on task editor settings for these tasks. 

Interactive Task:  The Interactive function task is very flexible task type and is likely the most common task type used in workflows because no two workflows are the same and there is a need to present a custom form to a user with specific messaging, questions or actions.  This is user-executed task that is generally run as a modal dialog in the Maestro Task Console.  Interactive tasks are completely customizable by the workflow developers to present whatever type of information is required to the end user.  Interactive tasks will only complete when an end user assigned to the task completes it - the workflow will not continue until such time.

Content Type Task:  The Content Type task provides an interactive task to the user to fill in a content type and have the content attach itself to the workflow via a "Unique Identifier" that is set in the task settings. This Unique Identifier is required to allow the workflow to track the content node id so the content can be referenced in the workflow across multiple Content Type tasks.

Webform Type Task:  The Webform Type task provides an interactive task to the user to fill in a webform and have the content attach itself to the workflow via a "Unique Identifier" that is set in the task settings.  This Unique Identifier is required to allow the workflow to track the webform submission so the content can be referenced in the workflow across multiple Webform Type tasks.

Manual Web Task:  The Manual Web task is used to redirect the user to a different Drupal page, or even an external page from the workflow application.  The redirection to a page is done in the Maestro Task Console and provides the Maestro Queue ID (queueid=xxxx) as a parameter in the URL when redirecting to the page.  It is 100% up to the manual web task's ultimate endpoint to complete the task via the Maestro API.  The workflow will not continue until the Manual Web Task's endpoint has completed the task.

Maestro allows you to extend and create new task types - they are plugins. Maestro bundles an example "Maestro Interactive Plugin - Task Example", so hope that developers will take advantage of this flexibility. We will update this documentation page and/or the maestro project page as more interactive task types get released.

Interactive Task Types and the Site-wide Token

When you've configured your Maestro instance to use the site-wide token, the URL to the task will use the site-wide token parameter value instead of the queueID and processID parameters in the URL.

If you've not configured the site-wide token, the URL to the task will be comprised of the queueID and processID.  The ability to view/execute the task is checked within Maestro regardless of which method you are using to access the task.

Please see the admin documentation detailing the site-wide token mechanism.


Maestro's API in conjunction with the power of Drupal's underlying structure means that if a type of task that you require is missing, one can be written.  Examples of both interactive and non-interactive tasks are shipped with Maestro. 

Help improve this page

Page status: No known problems

You can: