Fulfillment workflows

When figuring out how your products need to be fulfilled after checkout, it's easy to configure production and delivery of a product in whatever way you require. In order to both eliminate redundant work and allow for a variety of simple or complex fulfillment chains, the idea is to create pre-configured fulfillment workflows and attach them to any grouping of products you need.


A snapshot of the main table of pre-configured fulfillment workflows

Getting started

Depending on where you are in your Liftoff journey, there are a few things you may want to know before you create or change a fulfillment workflow.

New to Liftoff?

If you've just signed up for a new Liftoff subscription, or if you're configuring a newly created account, then when you try to create your first fulfillment workflow you may be met with this:


You have a teeny bit of homework to do first!

If you encounter this message, you'll need to take a moment and set up a new vendor before continuing with this guide.

Established in Liftoff?

If this isn't your first account, or if your account has already been set up for awhile, it's likely that the system has already configured one or more fulfillment workflows for you based on products you've configured in the past. In this case, you're free to create a new one or edit as many of the pre-existing ones as you like.

Account-level workflows

As with many of the tools in the system, Liftoff makes a distinction between "account-level" and "subscriber-level" views of your fulfillment workflows. Each Liftoff subscriber may have many accounts created within their subscription; account-level tools and views deal with just a single account (the one currently named in the account selector); these tools are found in the left-hand menu under the account's name. Subscriber-level tools and views (in the left-hand menu under "All Accounts") allow a subscriber to manage some or all of their accounts at once. If you're set up to administer your own Liftoff account (i.e. for your company but no other), you won't have access to any subscriber-level tools or views.

It may be easier to think of subscriber-level as "global" tools and account-level ones as "local" tools.

The bulk of this article explains the tools and views at the account level.

Create a new workflow

To configure your first workflow, begin by navigating to Products > Fulfillment Workflows. Clicking the green "Add Workflow" button at the top of the screen gets you started.


Fill this out and you're on your way!

Workflow Name

This is exactly what it appears to be. When you go to associate a workflow with one of your products, this is the name you'll look for.

Workflow Code

This will pop up later in this article, especially where "batch jobs" are concerned. It'll be very important for applying a single workflow to a whole bunch of products all at once.

This field will auto-populate itself as you fill out the "Workflow Name" field (the values will match exactly). You're free to change it if you like. Note that this field only accepts letters and numbers - no special characters like hyphens or underscores.

Default Workflow Vendor

The reason for this field will become more clear when we discuss configuration options. For now, just select the vendor you'll most often use. You can always change this value later.

Once you have this form filled out, just click the "Create Workflow" button at the top. That'll take you to the "Edit" screen, where you can complete the configuration of your new workflow. Details on editing a workflow appear below.

Edit or view a workflow

Now that you have a workflow created, navigating back to Products > Fulfillment Workflows will show you the table of workflows currently available to your selected account.

There's quite a bit of information packed into this table. Let's understand what it's telling us.

  • Name and Code: These are exactly what you chose at the time you created each workflow.
  • Vendors: Every vendor involved in each workflow will appear here. This gives you a good "at a glance" view of which workflow is which, as well as how each one is configured. You'll notice that, in parentheses, "Rating" and "Inventory" show up next to one or more of these vendors; this tells you which vendor Liftoff uses to determine the shipping charges for associated products, and which vendor's inventory is being used to determine stock levels for associated products. These can be the same vendor or different ones.
  • Usage: This is a quick count of how many products are associated with each workflow. There is currently no way to view a list of these; a list function will be available in a future development.
  • Actions: You can view any workflow you like (and the "View" button is how you'd edit one, too). If you see that the "Delete" button is disabled (i.e. semi-opaque and not clickable), it's because the given workflow is either associated with one or more products, available to more than one account, or both. At the account level (which is our current view), a workflow can only be deleted when it's tied to no products and just one account.

A table of account-level fulfillment workflows, including the one we created above

View the details of a workflow

Clicking a blue "View" button in the table will show you the details of its associated workflow. Here at the account-level view, the workflow may or may not be editable, depending on whether or not it's been assigned to an account other than the one you've currently selected.

If the workflow you select has been assigned to more than one account, then it'll look like this when you click the "View" button:


This workflow isn't editable at the account level

The blue callout reminds you of the situation, and all options in the table at the bottom are disabled. You can see all configuration information, though, so you can understand how each particular workflow is designed.

If the workflow you select has been assigned to only one account (i.e. the one you're currently viewing), then it'll look like the image below. Everything is enabled, and you're free to configure it as you need to.


This workflow is editable, since it's assigned only to the selected account

Make changes to the workflow

Within each fulfillment workflow, you may use an unlimited number of vendors and locations, all according to what you need for any given product. When making changes to a workflow in the "Edit" screen, you can do any of the following:

  • Add a vendor: If your product needs to pass through more than one vendor (say, one for warehousing and another for custom embroidery), you can add all the ones you need. If you ever need to change or remove a vendor, you can do that, too.
  • Add or change vendor location: If a vendor has more than one location, you're free to select as many or as few as you deal with. Does your custom print vendor have locations in New York and Colorado, but you only do business with the Colorado location? Simply uncheck the New York location in that vendor's row in the table and click the "Save" button in that row.
  • Select your rating vendor: If your workflow has only one vendor in it, then that vendor will, of course, be used for both shipment rating and inventory tracking. If it has more than one vendor in it, though, you're free to change which vendor uses either of these. In this case, selecting the radio button under "Use For Rating" for a particular vendor means that Liftoff will use this vendor's location for calculating your customer's shipping cost for any associated product.
  • Select your inventory vendor: Much the same as the rating vendor, clicking the radio button for a vendor row in the table tells Liftoff that it should use this vendor for inventory management for any associated product.
  • Configure your shipment chain: Let's say you have two vendors configured for your workflow. One vendor keeps raw product in their warehouse. When one of those items is ordered, it's shipped from that warehouse to the second vendor, who customizes the raw product with embroidery. When the customization is done, the second vendor ships the completed product to the customer. Using the dropdowns in the "Ships To" column in the table, you can specify the "chain" of shipments each product will pass through when it uses this fulfillment workflow.
  • Provide special instructions to a vendor: Any text in the "Instructions" box in a vendor's row will be transmitted to them each time an associated product is ordered.


Make sure to save what you intend to save!

The "Save" button to the right of each vendor name only saves changes made to that vendor in the table.

The "Save Changes" button above the table only saves changes to "Workflow Name" and "Workflow Code."

These buttons are not interconnected and do not save equally!

Delete a workflow

Remember, at the account level, a fulfillment workflow can only be deleted when it is assigned to just one account -and- it has no products associated with it.

Subscriber-level workflows


Are you in the right place?

Don't forget to navigate to Products > Fulfillment Workflows under the "All Accounts" area of the left-hand navigation menu when you want to access subscriber-level tools.

You'll find that, when using the fulfillment workflow tools at the subscriber ("all accounts" or "global") level, much of the information above is the same. Here are some key differences when managing your workflows for all accounts at once.


A listing of all workflows associated with all accounts within a subscription

The listing table

There are two key differences between this global view and the view for a single account:

  1. This view shows every workflow configured for this subscriber, regardless of which accounts use it.
  2. Each value in the "Usage" column is a grand total of all the products using a given workflow, across all accounts it's associated with.

Note that, just as in the account-level view, if a workflow is associated with one or more products, it can't be deleted. That's why, in the image above, the only workflow with an activated "Delete" button is the one with "0 products" in its Usage column!

Create a new workflow

There are no differences between subscriber- and account-level views when creating a workflow, except one very important one: assigning a workflow to accounts.


See that "Accounts" tab? It wasn't there at the account level!

Account assignment is an important tool when editing a workflow at the subscriber level, and the procedure is identical to that when creating a new workflow. Let's get right to discussing edits, then!

Edit a workflow

Just as before, when viewing the listing table of all fulfillment workflows, clicking the blue button next to the workflow you need takes you to its view/edit screen. This time, though, the blue button says "Edit" instead of "View."

When you get there, everything in the "Workflow" tab is the same as at the account level. Clicking the "Accounts" tab is a different thing.


The account assignment view

This tool is fairly self-explanatory. There is one very important thing to know, though, and that's the key difference between the "Expose To All Accounts" checkbox and simply checking every box in the "Expose To Selected Accounts Only" area.


The difference: new accounts

Ticking the "Expose To All Accounts box" ensures that any account you create in the future will be able to use this workflow.

Simply ticking all the boxes under the green "Select All" button does not apply the workflow to future accounts. You'd have to come back to this view and assign the workflow to any new account manually.

Delete a workflow

As noted above, you may only delete a workflow at the subscriber level if it has no products associated with it. As long as even one product on even one account is using a given workflow, it cannot be deleted.

Bulk assignment with batch jobs

So, you have a complex workflow all configured and ready to use, and now you need to associate it with a whole bunch of products -- maybe even hundreds or thousands. No need to waste time clicking through each product one by one; do all the assigning at once with a batch job!

A discussion of the basics of batch jobs appears elsewhere and won't be covered here. If you're new to using the batch jobs tool in Liftoff, we suggest you start there and return here when you're ready.

Create and submit your batch job

To begin, navigate in My Liftoff to Tools > Batch Jobs and click the blue "Create Batch Job" button.


Download your spreadsheet to begin

Select the "Product Data" type from the "Select Job Type" dropdown, then click the "Download Product Data..." link right beneath. This generates a spreadsheet you can use to fill out for all products you need to change.

Remember at the beginning of this article, in the create a workflow section, when we said the "Workflow Code" field value would come into play later? Well, here it is!

Column AS in the batch job spreadsheet you generated (the one entitled "Workflow") is the magic location. For each product you want to associate with the new workflow you've created, enter that workflow's Code in that product's spreadsheet row.


One at a time, please

It's best to create one batch job spreadsheet per account. Don't try to squish all products from all accounts into a single spreadsheet!

When you're done entering all the associated data you need into your spreadsheet, just finish configuring the batch job as you would any other. Submit it, wait for it to finish, and you're all done!

Conditional fulfillment

Suppose you have a product -- let's say, business cards -- that need to come from different print vendors depending on how many cards your customer orders. If they want less than 1000 cards, the order should ship from vendor A, but if they order 1000 cards or more, the order should ship to vendor B.

Liftoff has you covered! Let's learn how.

Default fulfillment

To begin, navigate to Products > Products and select the blue "Edit" button next to a product you'd like to configure. Once there, click on the "Fulfillment" tab, and you'll see something like this:


This product always uses its default workflow, since no conditional rules are defined

Most products tend not to need any "if this, then that" rules for fulfillment. In the case above, our 303cm-test product has no rules defined; every time a customer orders it, the system will rely on whatever default workflow is chosen for it (right now, the Acme Vendor one).

Defining conditional rules

We'll need two new rules for our example business card that reflect our need for different vendors for greater or fewer than 1000 cards ordered. To create each rule, begin by clicking the green "Add Rule" button in the "Conditional Fulfillment Rules" area.


Example values for the first of our two new conditional fulfillment rules

  • Rule Name: Give your rule a name that makes it easy to identify and understand on the main product page. In our example, we'll name the rules "Less than 1000" and "1000 or more" to make them simple to differentiate in the list.
  • Fulfillment Workflow: Here's the crucial part! This is where you define "Vendor A" in your new "if someone orders less than 1000, use Vendor A" rule. The rule defined above will use Acme Vendor for smaller orders, but it'll use a different vendor for larger orders.
  • Minimum Quantity: This value, along with "Maximum Quantity," is how the system determines which rule to choose when an order is placed. In our example, we didn't need to define a value for this, since the rule should apply to any amount ordered under 1000.
  • Maximum Quantity: This "ceiling" value is optional, as is the "Minimum Quantity" one, depending on your needs. Note that the highest value you may input into this field is 999,999 (one less than one million).
  • Use for rush orders: This allows for more complex rule-making if you need it. If you don't allow your customers to create rush orders, you could simply leave this option at its default Apply to all orders value or select Apply to non-rush orders only. The system will treat the rule the same way in the case of a non-rush order.


Quantity values are inclusive

The "Minimum Quantity" and "Maximum Quantity" field values are inclusive, meaning they represent "greater than or equal to" or "less than or equal to" values, respectively. This is why, in the example image above, the "Maximum Quantity" value appears as 999 for the "Less than 1000" rule: If a customer orders 1000, the rule won't trigger, but it will if they order 999.

What if an order satisfies >1 rule?

When creating conditional fulfillment rules, you'll want to try to ensure that your rule set accommodates all possible order scenarios. It's extremely important that any overlap between rules is intentional so that an order doesn't wind up being sent to the wrong vendor.

With that said, don't be afraid to use the "Default Fulfillment Workflow" to cover many or even most potential order scenarios! It's perfectly fine to let the system "fall back" to that workflow as often as needed.

As for the problem of overlap, consider the following rule set:


Multiple rules, and they overlap

We can't see from this view, but the first two rules (the quantity-based ones) have Apply to all orders selected for their rush order option. This means that any time a customer places a rush order in any quantity, two rules will be satisfied at once!

When this happens, Liftoff will simply trigger the first rule it encounters. Are we sure this is what we want?

If it isn't what we want (in other words, we want one and only one rule to trigger for any given scenario), then it's time to re-evaluate our rules and reconfigure them. In our example, an easy solution might be to adjust the quantity-based rules to the Apply to non-rush orders only option. That would solve our overlap issue, but it may not cover all conceivable customer orders.

Don't worry if this seems like it might get unruly. If you have a complex use case (or even a fairly simple one!), remember that you're always welcome to reach out to your account manager for assistance in making sure you have just the right configuration for your needs.