Benchling Workflows is a process management tool that integrates with lab automation and internal systems. With Workflows, you can standardize your organization's processes, track tasks, and ensure consistent execution across teams.
Configuring workflows in Benchling involves defining the structure and behavior of tasks and their execution paths. This includes setting up task schemas, execution templates, flowcharts, and integrating registration tables and lookup fields to streamline data entry and task progression.
How are Workflows structured?
In Workflows, Tasks represent the jobs to-be-done in a workflow, such as a series of assays that should be done in a particular order. Each Task has standard operational properties and custom fields that represent the parameters required to do the job; these are defined by Task schemas that are configured by an admin. Sets of the same type of tasks that were created together are called task groups and represent a set of jobs that are done together.
Before you configure a Workflow schema, you have to make a few decisions on schema attributes, like execution type, status lifecycle, and execution template.
About execution types
You can set a Workflow schema to be executed in one of three ways:
-
Direct - tasks are marked complete directly or through the API
- You should consider using this type of execution if the fulfiller needs to provide or add details that can be input in a table without the need for additional context or experimentation
-
Entry - in order to create or execute a task, the end-user creates a Notebook entry
- You should consider using this type of execution if the fulfiller needs the additional context of experimental details or information that might live outside of the task table
-
Flowchart - execution of a series of ordered tasks encompassing a complete process
- You should consider using this type of execution if your fulfillers are completing a series of ordered tasks, a set of tasks with multiple routes, or if you need to apply conditional or other logic for task completion
The execution type selected will impact other configuration options of the schema. For example, If you select an Entry execution type, you must also create an execution template. On the other hand, if you select a Flowchart execution type, you can designate watchers who will be informed when all Tasks have been completed. Choosing the right execution type ensures your workflow aligns with your team's actual processes, while still benefiting from traceability and structure.
About status lifecycle
The options for status lifecycle are dependent on the execution type selection made.
- Direct execution type - direct completion
-
Entry execution type
- Entry - the next Task is created as soon as a fulfiller marks the previous task as "Complete"
- Entry review - the next Task will not be completed until the previous Task is marked as "Complete" and the execution Entry of the previous Task has been accepted through the entry review process
-
Flowchart execution type
- Flowchart
About execution templates
This is only required when you have set the execution type as Entry. When you click the Configure button, you are given the option to:
- Create a blank template
- Duplicate an existing template
For either option, you will designate what template collection it will live in and the name of the template.
Execution templates have Task and Output tables, the table below lists the columns included in each table.
| Table type | Included columns |
| Task | Task |
| Status | |
| Assignee | |
| Scheduled on | |
| Custom fields in the Task fields section of the Workflows schema | |
| Output | Output |
| Task | |
| Custom fields in the Output fields section of the Workflows schema |
Additionally, you may want to consider editing the default execution template so that it includes any required structured data tables like Registration tables, Inventory tables, or Result tables. This is because Output tables identify what information needs to be passed along to the next request, they do not replace other structured tables. For more information on ways that you can configure a template, see the linked article.
Create Task schemas
Workflow schemas are called Task schemas and are configured from the Feature Settings menu by organization admins for use in a single organization of the tenant using a point-and-click interface. Task schemas define the structure of tasks within a workflow, including inputs, outputs, and execution types. Task schemas have two main parts, namely the task(s) and output(s).
Configure Entry and direct execution Tasks
The first part of creating a Task schema is configuring the task section. Task configuration is similar to Registry schema configuration— each Task schema is designated a task group prefix, a name, and an organization that manages the permissions. In this example we will define the execution type as Entry, but the steps remain similar for direct executed Workflows as well excepting the execution template settings.
- From the task creation menu, click the Create button to create a new Task schema
- Start by defining the required attributes of the schema including Task group prefix, name, owner, ID prefix, execution type, and status lifecycle
- Define the execution template by clicking on the Configure button in the Task section of the schema creation page
- This will bring you to a modal that allows you to define: name, prefix, folder, create new or duplicate existing template, template name, and template collection
- Once you have defined all of these, click Create to finish creating the execution template
- Once you’ve configured the execution template, a checkbox will appear under it. Check this box so that after you create the Task schema the execution template will be created and published to your template collection
- Create input fields by clicking the + icon or the Add field button and provide a name and definition of the field
- Optionally create an Output. The only requirement for configuring an Output is entering an ID prefix for the output. You may also add Output fields by clicking the + icon or the Add field button and provide a name and definition of the field
- Once you have filled everything out click Create to generate your Task schema
Once the Workflow schema is created, the execution template will become clickable, when you click the link it will take you to the template itself. By default an execution template has a Tasks table and an Outputs table (if you configured one in the schema) that cannot be deleted. You can edit the template and add additional instructions if needed.
Note: this is only applicable for Task schemas designated as Entry execution types. Direct and Flowchart execution types will not generate an execution template.
Configure Task field lookups
Task lookups allow you to connect Outputs from one task to inputs of another, enabling dynamic data transfer across workflow stages. This helps prevent data entry errors and allows tasks to be context-aware based on prior results.
- Under Output –> Task Lookup, click Configure
- This will open a configure lookup modal, use the Start From dropdown to select the output field to start the lookup
- Click Add Lookup Step to define relationships
- Select the object property and match it to the task field
- Click Done to save
Configure Flowchart schemas
Flowchart schemas let you model complex, multi-step processes where task order, conditional logic, and data routing matter. Unlike other execution types, Flowchart configuration uses a canvas-first approach where you draw the flowchart directly on a visual canvas, creating and connecting task schemas as you go. Transitions between tasks are defined automatically as you draw edges, and field mappings are configured in-line. This means there is no need to pre-define transitions or create all Task schemas before you start building.
Flowchart schemas are best suited for workflows where task order, conditional logic, and data routing are critical—for example, multi-stage assay pipelines or manufacturing processes.
Create a Flowchart schema
Start by creating the top-level Flowchart Task schema. This defines the schema’s identity and global input fields. You’ll build the actual flowchart in the next step.
- From the task creation menu, click Create and select Flowchart from the options
- Define the required attributes then click Create
- Name
- Task group prefix
- Owner
- Choose if you want to include outputs in the flowchart
This brings you to the flowchart canvas, where you’ll see the starting and ending points of your Workflow. In the canvas you will click on each of these tasks to edit them, additionally you can move the canvas by clicking and dragging, and you can zoom in and out on the canvas.
To the left of the canvas, there are three menu buttons explained below, listed from top to bottom:
- Add to flowchart – provides a list of the things you can drag and drop onto the canvas including: routers, end nodes, a list of previously created tasks, and the option to create new tasks
- Settings – the gear icon allows you to view and edit the task configuration, access form and request template configurations
- Transitions – allows you to view the planned transitions and create optional transitions that users can add when creating or modifying flowcharts
Note: Once you’ve created the task schema, you can leave and return to the canvas view and it will save your progress
Build a flowchart
Once the flowchart Task schema is created and the canvas view opens, you’ll be able to draw your flowchart and any transitions required. You are able to use the Add to flowchart panel in the left hand menu to drag and drop elements onto the canvas, but the instructions below will talk through the process of using clicks to add tasks and routers.
Note: dragging a task schema from the left side panel does not auto-expand the right panel for input/output field configuration. You will need to click on it after placement to open it.
- In the flowchart canvas, click the top of the Start flowchart task to open it. Create input field(s) by clicking the + icon or Add field button and provide a name and definition for each field, then click Save
- If you’ve opted to capture output data, you can also edit the End flowchart task by clicking the top. Create output field(s) using the + icon or the Add field button, provide a name and definition for each field then click Save
- To create a new task schema on the canvas, click on the arrow that appears when you hover over the circle to the right of the Start flowchart task and select which options you’d like to create. Doing this will configure a planned transition automatically
- New direct task schema – follow the steps in the linked section, then click Create
- New entry task schema – follow the steps in the linked section, then click Create
- Existing task schema – select from the list of existing task schemas
- Router – follow the steps in the linked section
- If you want to add additional fields to a task schema that you’ve added to the canvas, click the task and use the fields panel on the right to add or edit Task fields
- Continue to add new tasks or routers as needed to reflect your entire workflow
Note: if you’ve opted to configure outputs for your flowchart, don’t forget to add the relevant outputs to the end of your flowchart.
Configure planned transitions
Once you’ve completed adding and configuring the tasks and routers to the flowchart canvas, you can create transitions to define the execution path of the flowchart.
- Click and drag to connect each task so that you have a complete flowchart that depicts how inputs and outputs move from the start to the end of the workflow
- You will need to ensure that you are showing if the data is flowing from tasks or outputs
Configure lookups
Drawing a data flow edge between two compatible fields creates a direct mapping and the source field is written directly into the target field at execution time.
If you need to traverse through a related entity to get to the field you want, for instance through a linked entity’s attribute rather than a direct field, you can configure a complex lookup. When you configure this, a lookup summary chip appears on the mapping row after configuration.
- Click the task on the canvas to open the right side panel
- Navigate to the Fields tab and locate the field that has an incoming data flow edge you want to configure
- Click the field row to expand its mapping detail, you will see a row showing the incoming mapped field from the source node
- Click the Configure button on that mapping row to open the lookup configuration modal
- In the modal, build your lookup chain by selecting lookup steps, then click Save
Configure optional transitions
Optional transitions represent alternative execution paths that are available during execution but are not part of the default planned flowchart. You can draw this alternative transition directly on the canvas. When a planned transition already exists, a modal will prompt you to either promote the transition you just drew to a planned transition or to keep it as optional.
Alternatively, you can use the transitions side panel on the left menu and configure the optional transitions that way.
- Click Create optional transition and this will open the optional transition modal that looks like a new canvas
- Add the task schemas or routers to the canvas and draw the transitions. Once finished click Save to add it as an optional transition
Note: if there are any validation errors in the optional transition, you will need to fix them in order to save it. Potential errors include:
- Required fields: only the target node's required fields are validated — source node required fields are intentionally not checked in this context
- Subset/superset conflicts: if the transition conflicts with an existing transition, an error is shown and the Save button is disabled until resolved
Edit Task schemas
Once Tasks have been created from a Workflows Task schema, extra rules are applied to Workflow schemas to prevent validation errors from occurring. These may surface as errors while attempting to edit a Workflows Task schema on the Schema Page in the UI, or while attempting to config migrate Workflow Task schemas.
The tables below outline what schema and field properties can be updated before a Task is created and after a Task is created.
| Schema property | Can be updated before creating tasks | Can be updated after creating tasks |
|---|---|---|
| Name | ✓ | ✓ |
| Task schema prefix | ✓ | ✗ |
| Task group prefix | ✓ | ✗ |
| System name | ✓ | ✓ |
| Default creation folder | ✓ | ✓ |
| Default entry execution folder | ✓ | ✓ |
| Default responsible parties | ✓ | ✓ |
| Responsible party lookup | ✓ | ✓ |
| Task group instructions | ✓ | ✗ |
| Can set assignee on task creation | ✓ | ✓ |
| Can only be part of flowchart | ✓ | ✓ (with restrictions) |
| propagate watchers enabled (flowchart only) | ✓ | ✓ |
| Task finder configuration | ✓ | ✓ |
| Flowchart configuration (for flowchart schemas) | ✓ | ✓ (with validation) |
| Field Property | Can be updated before creating tasks | Can be updated after creating tasks |
|---|---|---|
| Rename fields | ✓ | ✓ |
| Add optional (non-required) fields | ✓ | ✓ |
| Add required fields | ✓ | ✗ |
| Change required field to optional | ✓ | ✓ |
| Change optional field to required | ✓ | ✗ |
| Change single link field to multi link field | ✓ | ✓ |
| Change multi link field to single link field | ✓ | ✗ |
| Archive/unarchive non-required fields | ✓ | ✓ |
| Archive/unarchive required fields | ✓ | ✗ |
| Change folder item types or tag schemas | ✓ | ✗ |
| Change field definition | ✓ | ✗ |
| Change selector (dropdown) IDs | ✓ | ✗ |
| Change required batch link schemas | ✓ | ✗ |
| Change required storable link configurations | ✓ | ✗ |
Configure logic in Flowcharts
Once your task schemas are connected in a flowchart, you can introduce logic using routers which can also have loops, AND/OR logic, and end nodes. These elements help route tasks dynamically based on data conditions and control how workflows progress or repeat.
Create Routers
Routers define custom logic and control mappings for inputs and outputs, enabling dynamic workflow paths. You can add a router to your Flowchart after you’ve completed the Task schema and Transitions tabs of your Flowchart configuration. Routers are best suited to support the following Flowchart use-cases:
- Core variants: when a Flowchart is configured to have several discrete paths that users select based on specific criteria, such as sample type or sequencing method
- Assay panels: when a requester has a set of samples that need to undergo a series of analytical tests, and each sample may require a different subset of tests
If you have already configured a Flowchart Template, you will want to delete the edges (connections between schemas and nodes) in order to add the Router.
Router configuration is a two part process:
- Adding the Router and creating connections
- Mapping the conditions in the Router
To configure a Router:
- Enter the Flowchart editor, and if you haven’t already, drag and drop the Task schemas from the right-side panel onto the canvas in the approximate flow of your work
- Drag and drop the diamond-shaped router from the right side panel onto the canvas
- Create a connection between one source node and at least two destination nodes by dragging a line to or from the Router
- Once you’ve connected the router to the relevant tasks, click on the edit icon to open the router configuration window
- Fill out the following information about the router:
- The field to be mapped
- Operator conditions for multi-select and dropdown fields
- Lookup value(s), like dropdown options from a mapped field
- Routing path or target task
- Create rules for all target tasks and appropriate operator and value based on lookup(s)
- Click Save to submit the changes to the Router
- Then click Submit on the Flowchart configuration to save changes to the overall Flowchart
Router configurations must meet the following criteria:
- Only one incoming edge
- At least two outgoing edges
- There is a corresponding schema mapper for each edge between two task nodes
- Routers are not connected to another router
- A single outgoing edge cannot have more than one rule applied
If these conditions are not met, you will see error message(s) on your router, or you will not be able to open the router configuration window.
ANDs/ORs and condition group logic
In routers, you can use AND/OR logic that allows you to configure routing rules based on multiple schema fields or more than one condition per rule.
- OR conditions: route to as specific node when any of the configured conditions are met
- AND conditions: route to a specific node when all of the configured conditions are met
You can also use condition groups to configure nesting for your conditions. To configure ANDs/ORs logic in a Router:
- In the Flowchart editor, if you haven’t already, drag and drop tasks and router(s) from the right side panel onto the canvas
- Enter the router’s configuration window by clicking the edit icon
- Click the add condition button and choose to add condition or to add condition group from the dropdown
- Use the dropdown in the When (blank) condition statement to set the logic as AND or OR
- All of sets the logic as an AND statement
- Any of sets the logic as an OR statement
- Define the route by using the when dropdown to choose the logic for your Router
- Further define the mappings for all conditions
To configure a condition group, you would select Add condition group after clicking the Add condition button. You’d proceed to configure the condition group in much the same way conditions are configured.
Example:
Route tasks to rework if:
- (Concentration < 90%) AND (Purity < 95%)
Or to final review if:
-
(Status = Complete) OR (Review flag = True)
Looping logic
Looping logic automates any of these redo decisions for experiments that fail or don’t pass quality control checks by automatically returning tasks to the previous step, saving your team time by minimizing repetitive manual tasks.
Adding a loop means using a Router, but instead of that Router only going to new tasks, one of the edges of the Router will loop back to the input task.
To add a loop:
- In the Flowchart editor, if you haven’t already, drag and drop Tasks and Router(s) from the right side panel onto the canvas
- Open the Router node’s configuration window to set up rules for each connected edge, including adding a loop as the final step in the Router configuration
- Click Save to submit changes to the template Flowchart
- Click Submit in the Flowchart configuration window
Flowcharts can only support the configuration of loops with one starting point. An error message will display if you attempt to create a loop with multiple entry points. For Flowcharts that require loops with multiple entry points, we recommend creating new instances of the task nodes in the loop.
End nodes
End nodes can be used to stop a Workflow when conditional logic criteria is met and the process should be ended.
To add an end node in a Flowchart:
- In the Flowchart editor, if you haven’t already, drag and drop Tasks and Router(s) from the right side panel onto the canvas
- Drag and drop the node from the right-side panel onto the canvas
- Connect the end node to a router
- Configure the router so that it routes to the end node, then click Save to save the Flowchart template
- Click Submit in the Flowchart configuration window
Note: end nodes can only be configured to connect to one router node.
Flowchart API overview
Benchling provides API endpoints to programmatically interact with workflow flowcharts, enabling automation and integration with external systems.
For detailed API documentation, refer to the Benchling API Reference.
Permissions and access
Permissions determine who can create, edit, and execute Workflows and Tasks in Benchling. Access is typically tied to project roles and workspace settings. Permissions are summarized in the table below.
| Viewer | Editor | Admin | |
| View Task groups | ✓ | ✓ | ✓ |
| Create or edit Task groups | ✗ | ✓ | ✓ |
| Create or edit Task schemas | ✗ | ✗ | ✓ |
| Execute Tasks | ✗ | ✓ | ✓ |
| Modify watchers | ✗ | ✓ | ✓ |
Only Admins can configure task schemas. Editors can manage task groups and execute tasks. Viewers have read-only access to workflows.
Frequently asked questions
Q: Can I edit a task schema after tasks have been created?
A: Yes, but changes will only apply to new tasks created after the schema is updated. Existing tasks that were already created from the schema will continue to follow the original version. If you need those tasks to follow new fields or logic, you'll need to manually update them or create a new task group using the updated schema.. Existing tasks will retain the original schema configuration.
Q: How do I delete an execution template?
A: Execution templates cannot be deleted once created. However, you can edit them after the workflow schema is created.
Q: Can I have multiple routers in a flowchart?
A: Yes, but routers should not be connected to other routers. Each router must have a single incoming edge and at least two outgoing edges.
Q: What happens if a task in a flowchart fails?
A: If a task fails, its progress through the flowchart is halted, and no data is mapped downstream. You can configure loops to retry tasks based on specific conditions.
Q: Are there limitations to using lookup fields?
A: Lookup fields can pull data from input samples, registry fields, or results fields. Ensure that the correct schema is specified, and refresh the result table after copying or pasting lookup fields.
Q: What do I do if I see an error that “every edge off this router node must have an associated rule configured”?
A: This error can arise if the transitions that pass through the router do not use the same source. For example, you will see this error if one transition that passes through the router maps from the Task and another transition that passes through the router maps from the Output. To correct this error, please ensure that both transitions map from the Task or Output. Once you ensure that the transitions used in the router use the same source, save the changes by clicking submit.