> For the complete documentation index, see [llms.txt](https://docs.optis.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.optis.me/product-options/order/automation.md).

# Automation

## Overview

**Order note & Order tag automation** writes your customers' selected OPTIS options directly into the Shopify order — as an **Order note** and/or as **Order tags** — the moment an order is created. No manual copy-pasting, and no relying on staff to open each order and check the options.

* 📝 **Order note** — adds a note listing every selected option, one line item per section.
* 🏷️ **Order tag** — applies a fixed tag to every order with options, and/or custom tags based on which option/value was chosen (for example, tag rush orders, engraved items, or a specific color for picking/fulfillment).
* ⚡ Runs automatically on **new orders**, including unpaid ones (COD, pending payment) — you don't need to wait for the order to be paid.

{% hint style="info" %}
Order note & Order tag automation is available on the **Platinum** plan and above. See [Plans and feature availability](/product-options/getting-started/plans-and-features.md).
{% endhint %}

## Where to find it

In the app's left menu, go to **Orders > Automation** tab. You'll see two sections: **Order note** and **Order tag**.

## Order note

{% stepper %}
{% step %}

#### **Turn on Show selected options in Order Note.**

<figure><img src="https://1821185975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRFiuDpHWm2HwzxPH4lfM%2Fuploads%2Ff9ypn9HZxv3hWZZzI7yu%2Fimage.png?alt=media&amp;token=b851c37f-dd2a-464e-b540-8d60872b0c4d" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### **(Optional) Open Customize Note to edit the note's content using Liquid/HTML**

1. The default template lists each line item that has options, with one `- Option name: value` line per option:

```liquid
{%- assign has_previous_item = false -%}
{%- for line in line_items -%}
  {%- assign property_size = line.properties | size -%}
  {%- if property_size > 0 -%}
    {%- if has_previous_item -%}{{ "\n" }}{%- endif -%}
    {{ forloop.index }}. {{ line.title }}
    {%- for p in line.properties -%}
      {%- unless p.last == blank or p.first contains '_bss' -%}
        {%- assign bss_p_first = p.first | replace_first: '_', '' -%}
        {{ "\n" }}- {{ bss_p_first }}: {{ p.last }}
      {%- endunless -%}
    {%- endfor -%}
    {%- assign has_previous_item = true -%}
  {%- endif -%}
{%- endfor -%}
```

Click **View the Liquid variable list** for the variables you can use:

| Variable description | Liquid snippet                                    |
| -------------------- | ------------------------------------------------- |
| Line items           | `{% for line in line_items %} ... {% endfor %}`   |
| Name                 | `{{ line.name }}`                                 |
| Title                | `{{ line.title }}`                                |
| Variant title        | `{{ line.variant_title }}`                        |
| Properties           | `{% for p in line.properties %} ... {% endfor %}` |

Made a mess of the template? Click **Revert to default** to restore the original one. 3. Under **Writing behaviour**, choose how the app should treat a note that already exists on the order:

* **Keep existing order notes (Recommended)** checked — the app appends the options as a new line below whatever note is already there.
  {% endstep %}

{% step %}

#### **Click Save.**

{% endstep %}

{% step %}

#### Test Order Note

Click **Test** next to the Order note title, pick an order from your latest 50 orders that contain OPTIS options, and click **Start test**. The app writes the note to that real order right away so you can check the result in Shopify admin.

<figure><img src="https://1821185975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRFiuDpHWm2HwzxPH4lfM%2Fuploads%2F93hcqObfQzh15WERqa8s%2Fimage.png?alt=media&amp;token=21dfed38-97d2-4c9b-9743-0b104b354fcb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1821185975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRFiuDpHWm2HwzxPH4lfM%2Fuploads%2Fiu6EsuYstr1OLyOdoTvC%2Fimage.png?alt=media&amp;token=5e215e48-198b-4344-874e-f248acaa9bc4" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## Order tag

### Fixed tag

Turn on **Fixed tag** and enter a tag name (up to 40 characters) to apply that exact tag to **every** order that contains OPTIS options — useful for filtering "orders with custom options" in Shopify admin.

<figure><img src="https://1821185975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRFiuDpHWm2HwzxPH4lfM%2Fuploads%2FnwORXFPZ7aBveQNn3fYo%2Fimage.png?alt=media&amp;token=3267a698-9ca2-4bea-9853-e73ae0ac741a" alt=""><figcaption></figcaption></figure>

### Custom tag rules

Custom tag rules let you tag orders based on which option/value the customer actually picked. Click **Add tag** and fill in:

<figure><img src="https://1821185975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRFiuDpHWm2HwzxPH4lfM%2Fuploads%2FaxS5ffV2lhRrScSn7k0P%2Fimage.png?alt=media&amp;token=33021bd3-88e4-4b11-9443-f80ba224fce3" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="165.74609375">Field</th><th>What it does</th></tr></thead><tbody><tr><td>Tag rule</td><td>A name to help you identify the rule later (internal only, not the tag itself, max 28 characters).</td></tr><tr><td>Status</td><td>Enable/disable the rule without deleting it.</td></tr><tr><td>Option set</td><td>The option set to check.</td></tr><tr><td>Option</td><td>The specific option in that set to check.</td></tr><tr><td>Condition</td><td>How to compare the customer's selected value — see the table below.</td></tr><tr><td>Value</td><td>The value to compare against (or <strong>Any value</strong>, to match regardless of what was picked).</td></tr><tr><td>Tag name</td><td>The tag to apply when the rule matches. You can insert <code>{{option_set}}</code>, <code>{{option_name}}</code>, <code>{{option_value}}</code> — they're replaced with the real option set/option/selected value on the order. A live preview shows how the tag will look.</td></tr></tbody></table>

{% hint style="warning" %}
Shopify order tags are limited to **40 characters**. If a rule's tag (including the substituted variables) goes over that limit, it won't be added to the order — check the **Preview** in the rule form before saving.
{% endhint %}

Click the number in the **Tagged orders** column to see which of your latest 50 option orders matched that rule — click a row to open the order in Shopify admin.

### Test it

Click **Test** to apply your fixed tag and/or matching custom tag rules to a real order you pick from the latest 50 orders with OPTIS options.

## How it works

* The app watches for new orders that contain OPTIS options and writes the note/tags automatically, usually within seconds — no need to open the order yourself.
* It also covers unpaid orders (e.g. cash on delivery, pending payment), not just paid ones.
* Matching for custom tag rules is based on the option's **label** as it appears on the product page. If you rename an option's label after creating a rule for it, or if two different options share the same label, the rule may stop matching or match the wrong option — update the rule after renaming a label.
