On April 12, 2023 we released a new feature called Automations. Automations allow you to build simple but powerful workflows. Automations subsumes the Hold Engine functionality. For all new accounts / organizations created after this date, Automation feature will be enabled by default and Hold Engine will not be added.
Note: Only certain organizations created before April 12, 2023 have access to the new Automations feature. We are slowly rolling it out for existing customers. If you don't see the option and would like to enable it, please contact our support team.
In this Article
- Introduction
- Value
- Concepts
- Execution Sequence
- Default Rule
- Create New Rule
- Example(s)
- Migrate Order Hold Engine
Introduction
The automation engine is a simple If This Than That way of controlling the flow and is accessible from the left menu. Automations allow you to build custom workflows easily.
Value
Every business has unique workflow needs. Hold an order for review if the order is greater than $10,000. Or Cancel an order if it has certain tags. Or reject a line item if the sku matches certain value.
Automations make it easy to build such workflows without have to write any code. Simply create rule, pick you criteria and add your actions. Watch the magic!
Concepts
Automations consist of two parts.
Trigger
The trigger is the entry point for this the rule is executed. For e.g. a new order ingested in Pipe17 is a "New Order" trigger.
A trigger can have as many rules created by the user as necessary. The rules are executed from top to bottom until the filter matches, when a rule is executed then no other rule will run for that item. If no rule is executed then the default rule will be executed.
Available triggers:
- New order: The rules will execute when Pipe17 ingests a new order.
Automation Rule
Rule is the IFTTT definition. It consists of the conditions that qualify for this rule to run, and actions to be performed on the entity for which it was triggered, for e.g. Order entity.
The rule's body is divided into 3 parts:
- General, when you can input a name, a small description of how that rule works, and enable/disable the rule.
- The filter, where you can select for which sources that rule will run and, from the selected sources, which one of the items this rule will execute. Not that, when a rule is executed no other rules will be executed for that item, so make sure to make the filters as specific as necessary to not match items that are meant to be executed by other rules.
- The actions, or what will happen to the matched items.
Filter
Filters are based on two entities.
- Source Integration
- Order
Source Integration
From each automation rule, you can select one or more order sources for which the rule applies. Default is Don't filter by integration. It means orders from all integration are eligible for this rule.
You can select one or more order source from the given pick list.
Order
Another kind of filter condition you can set is based on the order content. The Order filter looks like this. It is the same filter you use on order routing engine, or in order searches using filters. Select OR, AND or NOT operator and add the add the fields you are interested in.
You will see both order level fields such as customer info, shipping info, billing info, order totals, discounts, etc.
Here is an example of using order level tags for rule filter.
You will also see line item level fields.
If the rule filter passes, the Actions are executed in the order they are added.
Actions
Available actions:
- Cancel Order: Update the order status to canceled
- Archive Order: Update the order status to archived
- Hold Order: Hold the order for N minutes before updating the status
Execution Sequence
All automation rules within a trigger will execute one after the other as long as the status of the order matches the trigger.
If you have multiple automation rules for "New Order" trigger, the engine will execute the first rule. If the rule changes the status of the order to cancel, or hold, or archive, the remaining rules will not execute as the status of the order is not new any more.
On the other hand, if the first rule does not change the status because the filter criteria did not match, the next rule will be executed.
When there are multiple rules, the execute order depends on the order of the rule in the list. First rule is evaluated, and executed. Then the second rule is executed as long as the order status is still New. Here is how you can rearrange the order of execute.
Default Rule
For "New Order" rules, there is a default 10 minute "Hold Action" rule for all orders from all order sources is added to all organizations. Default rule is the last one to execute in the sequence.
Say you want the default hold to be 30 minutes, you can override this default rule but adding another rule for all orders, from all sources for 30 minutes. Once this rule is executed, the status of the order is changed to hold, no subsequent rules including the default one are executed.
Create New Rule
Click the button in the trigger section of your choice. You will see the following window. By default all rules are Disabled. This is done to make sure you do not accidentally enabled a partially edited rule. It can impact your order flow.
- Give it a Name
- We recommend you also add a Description
- Select your Order Source
- Add your filter
- Add your Actions
- Save
Example(s)
1. Here is an example of an automation rule. This rule will cancel orders from Shopify with tag "test" or "example".
2. Hold all Shopify orders for 30 minutes. Use the date/time when order was ingested in Pipe17. Post hold, send it for fulfillment.
3. Hold all Amazon orders for 60 minutes. Use the date/time when order was created in the selling channel. Post hold, send it for fulfillment.
Migrating from Hold Engine to Automations
Automations consumes the functionality of the hold engine. Hold engine will be deprecated eventually and it will be migrated to the Automations. Please see this article on migrating to the Automations engine by yourself.