Artificial is a whole-lab orchestration and scheduling system utilizing your lab’s existing software and instruments to execute and observe end-to-end scientific processes. Workflows in Artificial are how you define the scientific processes—what actions need to be taken in the lab, what order those actions should be taken in, and how data flows between those actions. Sketching out your workflow is the first step towards making your experiments more predictable, replicable, observable, and efficient with Artificial.
Determining what level of detail you should include in your workflow can be complex. A good guideline is that the Workflow should read like you describe the experiment to a colleague in a different department. The Workflow is used to define three things:
- The high-level Actions to be taken.
- The control flow that defines the Sequence in which those actions should be taken.
- How the Data flows between actions.
Let’s take a look at each of those pieces.
Actions
Actions in a Workflow represent some unit of work that needs to be taken by a person in the lab, software, an instrument, or other equipment. Generally, an action should be some work that a human or system can do during a contiguous period of time. Here are some examples of typical Actions:
- A human loads or unloads plates and reagents on the deck of a liquid handler
- A liquid handler runs the appropriate method
- Run a refeed order on an integrated workcell
- Capture a data file off an instrument PC, parse it, and upload it to a LIMS
- Generate and save a chart of data
Once your Workflow’s Actions are defined, put them in a flow chart to help visualize the Workflow. For example:

Next, to make the flow easier to read, shade the manual steps in yellow to indicate that these steps will be Assistants and the automated steps in blue to indicate that these steps will be Adapter Actions.
The role of the workflow is to orchestrate these Actions — how they flow together and how much time should come between them. This is defined by the control flow.
Sequence – Control Flow
Control flow defines which Action should come after another. This can be simple, for example, a basic walkup workflow, or it can be highly complex for something like cell culture. To sketch out the control flow of the Workflow, draw arrows between the blocks in the diagram.

Suppose you want to indicate a branch (or “conditional”) in the workflow. In that case, you can use a diamond shaped block with multiple arrows to the possible next blocks. Add a note to explain how the workflow should pick which block to go to next.

If you want to indicate a loop in the workflow, you can use an arrow from a block later in the flow back to a block earlier in the flow. Loops can be helpful to indicate that you should do a series of steps for each plate in a set of plates or that you should keep performing a set of steps every X number of days until something happens. Add a note indicating how frequently the workflow should loop and when the loop should end.

Often, the conditions that tell the workflow which path to follow will depend on the inputs to the workflow (e.g., the number of plates or samples to be run) or on data collected over the course of the workflow. The data flow defines this.
Data Flow
Each step in the workflow has specific inputs and outputs. Some of these inputs can be physical materials (e.g., a plate or batch of reagents) or pure data (e.g., time series data or an image file). Workflows are concerned primarily with the data. To define the data flow of the workflow, we’ll need to annotate each step with their data inputs and outputs. Note the structure and types of the data (a number, plain text, an image file, a plate map, etc.) that should flow both into and out of each step and the workflow. Also note which pieces of data need to get passed from one workflow to the next and which need to be stored in the job record

Next Steps
Now that we have sketched out workflow actions, control flow, and data flow, we are ready to create Workflows in Artificial!
Every yellow manual step will be represented as an Assistant (Assistants are our version of a digital interactive SOP), and every blue automated step will be represented as an Adapter Action.
Build each of your manual actions into an Assistant. Don’t forget to include your data inputs and outputs. For help creating Assistants, check out how to create an assistant.
Program each Adapter Action in Python inside the project repository, and program your Workflow in Orchestration Python. For help writing Adapter Actions and Workflows, check out our SDK documentation.
Contact us today to help you harness the power of Artificial in your lab.