Workflows
Gain control over your data and how it flows between your systems with workflows.
Featuring a visual programming interface and logic tree, workflows are able to ingest your synced data and then push out of Middle. Workflows run every time a new record is synced, when they are scheduled to run, or when they've been called by a bulk workflow execution. Generally, workflows are dependent on an account's workflow triggers to run.
Setting up a workflow is simple: create a new workflow, select your data input, filter, and create an action.
Build out workflows to automate your integration

Nodes

Workflows are constructed with nodes. Middle has four different types of nodes that you can use to build out your workflow: begin, decision, action, and bulk workflow execution. To create a new node click on the plus symbol on your workflow branches.
Build your workflow with nodes

Begin

The begin node kicks off your workflow. Middle allows you to input a global variable of the most recent version of a record. In addition, you can input the last version of a record so that you can build logic around changes to data over time. Begin nodes can also have no input. This is useful for scheduled workflows.
From the begin node you can select which record type you would like your workflow to perform on

Decision

Either true or false, decision nodes route to one of two branches depending on whether their criteria is met. Within decision nodes, you will construct this criteria, using Middle's parameter system. You will essentially build a list of true or false statements, where you can compare one variable against another. Say if you are trying to determine if a client has an outstanding balance on their account, you can select a field on their profile for account_balance and then select "not equal to" 0. If that criteria is true, then Middle will move on to the next criteria in the decision node. Middle operates from top to bottom. If the criteria in the decision node is met, Middle will send the workflow on its way, either along the true or the false branch.
Decision nodes allow you to filter and route your workflows

Action

Actions are a powerful tool that generally push out of Middle and hit another system's endpoint, to do anything from sending user data, to triggering an event, to fetching data from a system. Actions are also able to provide an internal service to your workflow. With actions, you are able to input static values or dynamic data that's dependent on your input record. While actions are generally the final destination for a workflow, they can also be a waypoint, as actions can have outputs that can be referenced later on in the workflow.
Actions are generally setup as forms where you can map data from Middle to another system

Bulk workflow execution

Bulk workflow executions will trigger another workflow to run. When you set up a bulk workflow execution you define a data resource that the workflow will run on. Used in conjuncture with scheduled triggers, bulk workflow executions can be a powerful tool to perform tasks that require Middle to look back on data.
Select the workflow and data you'd like Middle to bulk execute on

Launching a workflow

Once you are done constructing your workflow you will want to make it live. To do this, click to lock your workflow version at the top of the page. This is essentially saving your workflow draft. This does not mean the workflow will do anything just yet. You will next need to create a workflow trigger via your account page to launch your workflow into action.

Workflow drafts and versions

To update an already active workflow, simply click "Copy" at the top of the page. You should then be able to make changes to your workflow. If you need to go back to a previous draft of a workflow, don't worry, Middle has workflow versioning. You can select any previous draft of a workflow via the "View Another Version" dropdown at the top of the page. Discarding a draft when you have previous workflow versions will not delete the entire workflow, it will only delete the draft you are currently working on.