> For the complete documentation index, see [llms.txt](https://docs.rishvi.co.uk/linnworks/llms.txt).
> Use it to discover all available pages before exploring further.

# Shipping Delivery Note

Automatically prepend configured text to Linnworks order notes created by Customer_Message, helping teams highlight customer delivery notes during order review, fulfilment, and dispatch.

## Overview

Shipping Delivery Note is an automated order-note formatting solution for Linnworks. The underlying **Append Customer Message Note** macro checks selected orders and highlights customer messages by adding a configured prefix to matching notes.

The macro processes order IDs supplied through the Linnworks Rule Engine. For each order, it retrieves notes where **CreatedBy** equals `Customer_Message`.

When a matching note does not already begin with the configured **AppendNote** value, the macro prepends that value and saves the updated note list back to the order.

Notes that already start with the current prefix are left unchanged, helping prevent the same prefix from being added repeatedly.

> Highlight customer delivery instructions by automatically adding a consistent prefix to matching Linnworks order notes.

## Who Should Use Shipping Delivery Note

<Columns cols="2">
  <Card title="Warehouse & Fulfilment Teams" icon="package" horizontal="false" target="_self">
    Teams reviewing orders before picking and packing can identify customer delivery instructions more quickly.
  </Card>

  <Card title="Shipping & Dispatch Teams" icon="truck" horizontal="false" target="_self">
    Dispatch teams can see clearly marked customer messages before labels are created or parcels are handed to couriers.
  </Card>

  <Card title="Integration Administrators" icon="settings" horizontal="false" target="_self">
    Administrators configure AppendNote, enable the macro, connect it to the Rule Engine, and monitor execution logs.
  </Card>

  <Card title="Customer Service Teams" icon="bar-chart-2" horizontal="false" target="_self">
    Customer service teams benefit from consistent presentation of customer-provided delivery information.
  </Card>
</Columns>

## Key Features

<Columns cols="2">
  <Card title="Customer Message Detection" icon="check-circle" horizontal="false" target="_self">
    Updates only order notes where CreatedBy equals Customer\_Message.
  </Card>

  <Card title="Configurable Note Prefix" icon="settings" horizontal="false" target="_self">
    Uses the AppendNote parameter to define the text added before each matching note.
  </Card>

  <Card title="Duplicate Prefix Prevention" icon="check-circle" horizontal="false" target="_self">
    Checks whether the note already starts with the configured prefix before changing it.
  </Card>

  <Card title="Selected Order Processing" icon="play" horizontal="false" target="_self">
    Processes only the Linnworks order IDs supplied through the Rule Engine action.
  </Card>

  <Card title="Direct Note Updating" icon="edit" horizontal="false" target="_self">
    Saves the modified order-note list back to Linnworks after applying the required prefix.
  </Card>

  <Card title="Execution Logging" icon="bar-chart-2" horizontal="false" target="_self">
    Records macro start, processed order numbers, errors, and completion.
  </Card>
</Columns>

## How Shipping Delivery Note Works

Shipping Delivery Note follows a defined sequence whenever it receives one or more order IDs through the Linnworks Rule Engine.

<Steps>
  <Step title="Step 1: Read selected order IDs" title-type="p">
    The macro loops through each order ID supplied through the `OrderIds` parameter.
  </Step>

  <Step title="Step 2: Retrieve the Linnworks order" title-type="p">
    The order details are retrieved for each selected ID.
  </Step>

  <Step title="Step 3: Record the order number" title-type="p">
    When the order exists, its order number is written to the execution log.
  </Step>

  <Step title="Step 4: Find customer-message notes" title-type="p">
    The macro retrieves order notes where `CreatedBy` equals `Customer_Message`.
  </Step>

  <Step title="Step 5: Check the current prefix" title-type="p">
    Each matching note is checked to determine whether its text already starts with the configured `AppendNote` value.
  </Step>

  <Step title="Step 6: Prepend the configured text" title-type="p">
    When the note does not already contain the current prefix, AppendNote is added directly before the existing text.
  </Step>

  <Step title="Step 7: Save the updated notes" title-type="p">
    The modified note list is saved back to the Linnworks order.
  </Step>

  <Step title="Step 8: Complete execution" title-type="p">
    Errors are logged where required, and the macro writes Macro Finished when processing ends.
  </Step>
</Steps>

## Configure the Macro

Once the app is installed, you need to create a macro configuration so the system knows which macro to run and what text should be added to customer message notes.

This setup can be adjusted anytime based on your operational requirements.

### Steps to Configure

<Tabs>
  <Tab title="Step 1">
    **Go to Apps > Macro Configuration and click + Add new configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285456384-4fsc202syr3-pasted-image-1779285450937.png?fm=auto&auto=compress%2Cformat" width="1368" height="568" alt="" priority={true} fetchPriority="high" />
  </Tab>

  <Tab title="Step 2">
    **Select the ShippingDeliveryNote macro and click Create Configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285481238-p42nc2njz0p-pasted-image-1779285475937.png?fm=auto&auto=compress%2Cformat" width="1442" height="660" alt="" priority={true} fetchPriority="high" />

    This creates a new configuration where you can define the required parameter value.
  </Tab>

  <Tab title="Step 3">
    **In the Macro Configuration screen, add the configuration name and parameter value.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285504551-85hnjjb2653-pasted-image-1779285495662.png?fm=auto&auto=compress%2Cformat" width="908" height="740" alt="" />

    Configure the required parameter:

    - **AppendNote**

    Example value:

    `DELIVERY NOTE: `

    <Callout kind="warning" collapsed="false">
      **Note:** Include any required spacing, punctuation, or separator in the **AppendNote** value. The macro adds the value directly before the existing note text.
    </Callout>
  </Tab>

  <Tab title="Step 4">
    **Make sure to enable the macro to continue with the Rule Engine configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285523768-c9m2y4s5h3k-pasted-image-1779285519839.png?fm=auto&auto=compress%2Cformat" width="1776" height="34" alt="" />

    <Callout kind="warning" collapsed="false">
      **Note:** If the macro is not enabled, it will not appear in the **Action** value list when setting up the rule.
    </Callout>
  </Tab>

  <Tab title="Step 5">
    **Go to Orders > Rules engine and click + Add new rule.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285543693-nb7ps4lbpej-pasted-image-1779285537548.png?fm=auto&auto=compress%2Cformat" width="1536" height="680" alt="" />
  </Tab>

  <Tab title="Step 6">
    **Enter the rule name and click Create.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285575473-le3lfg8zfdc-pasted-image-1779285568966.png?fm=auto&auto=compress%2Cformat" width="404" height="241" alt="" style="width: 404px; height: auto; cursor: pointer; margin: 0 auto;" />
  </Tab>

  <Tab title="Step 7">
    **Click Add new, select Condition, set the condition as required, and save it.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285593103-7g3wujkoz0k-pasted-image-1779285588410.png?fm=auto&auto=compress%2Cformat" width="1536" height="358" alt="" />

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285609139-310oji2084-pasted-image-1779285603289.png?fm=auto&auto=compress%2Cformat" width="800" height="446" alt="" style="width: 800px; height: auto; cursor: pointer; margin: 0 auto;" />

    Use conditions that target orders where delivery or customer message notes should be highlighted.
  </Tab>

  <Tab title="Step 8">
    **Add the macro action and click Save.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285642663-6xvh2h1e5ct-pasted-image-1779285638370.png?fm=auto&auto=compress%2Cformat" width="828" height="169" alt="" />

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285665164-lvnki3z9gap-pasted-image-1779285660963.png?fm=auto&auto=compress%2Cformat" width="811" height="321" alt="" />

    In the **Add action** window, enter the **Action name**, for example:

    `ShippingDeliveryNote`

    - Set **Action type** to:

      `Execute a macro`
    - In **Action value**, select:

      `ShippingDeliveryNote`
    - Click **Save**

    <Callout kind="warning" collapsed="false">
      **Note:** If the macro is not enabled, it will not appear in the **Action** value list when setting up the rule.
    </Callout>
  </Tab>

  <Tab title="Step 9">
    **Review the saved rule setup and save the rule.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285685014-z2hdhwp44me-pasted-image-1779285680132.png?fm=auto&auto=compress%2Cformat" width="1838" height="769" alt="" />

    - Verify the condition and action are connected correctly
    - Click **Save** in the bottom-right corner to save the rule
  </Tab>
</Tabs>

## Key Benefits

Customer messages can contain important delivery, product, or fulfilment instructions. Without consistent formatting, these notes may be overlooked during order handling.

> Improve operational visibility by marking matching customer messages with a clear and consistent prefix.

<Columns cols="2">
  <Card title="Highlight Customer Messages" icon="edit" horizontal="false" target="_self">
    Adds configured text to the beginning of notes created by Customer\_Message.
  </Card>

  <Card title="Reduce Missed Instructions" icon="trending-down" horizontal="false" target="_self">
    Helps warehouse, customer service, and dispatch teams recognise important customer information.
  </Card>

  <Card title="Prevent Duplicate Prefixes" icon="check-circle" horizontal="false" target="_self">
    Does not update a note that already starts with the current AppendNote value.
  </Card>

  <Card title="Improve Dispatch Awareness" icon="truck" horizontal="false" target="_self">
    Makes delivery-related customer messages more visible before packing and dispatch.
  </Card>

  <Card title="Process Multiple Orders" icon="zap" horizontal="false" target="_self">
    Updates matching notes across all order IDs supplied in the Rule Engine execution.
  </Card>

  <Card title="Simple Configuration" icon="settings" horizontal="false" target="_self">
    Requires only one user-entered configuration value: AppendNote.
  </Card>
</Columns>

## Usage of App

Shipping Delivery Note is triggered through the **Linnworks Rule Engine** to update matching notes on selected orders.

### Execution

<Card title="Trigger via Rule Engine" icon="play" horizontal="false" target="_self">
  Call the ShippingDeliveryNote macro through the Rule Engine with the required `OrderIds` and configured `AppendNote` value.
</Card>

### Outcome

When the macro runs against an order, it:

<Steps>
  <Step title="Retrieves the selected order" title-type="p">
    Reads the Linnworks order associated with each supplied order ID.
  </Step>

  <Step title="Finds matching notes" title-type="p">
    Selects notes where CreatedBy equals Customer\_Message.
  </Step>

  <Step title="Checks the prefix" title-type="p">
    Determines whether each matching note already starts with AppendNote.
  </Step>

  <Step title="Updates unprefixed notes" title-type="p">
    Adds AppendNote directly before the existing note text.
  </Step>

  <Step title="Preserves already-prefixed notes" title-type="p">
    Leaves notes unchanged when they already start with the current configured value.
  </Step>

  <Step title="Saves the note list" title-type="p">
    Submits the updated order notes back to Linnworks.
  </Step>
</Steps>

## Input Parameters

Shipping Delivery Note requires the following inputs:

| Parameter      | Required | Description                                                                         |
| -------------- | -------- | ----------------------------------------------------------------------------------- |
| **OrderIds**   | Yes      | The Linnworks order IDs to process. Supplied automatically through the Rule Engine. |
| **AppendNote** | Yes      | The text added directly before each matching Customer\_Message note.                |

Example configuration:

| Setting            | Example                  |
| ------------------ | ------------------------ |
| Configuration Name | `Shipping Delivery Note` |
| AppendNote         | `DELIVERY NOTE: `        |

Example transformation:

| Before                                    | After                                                    |
| ----------------------------------------- | -------------------------------------------------------- |
| `Please leave the parcel with reception.` | `DELIVERY NOTE: Please leave the parcel with reception.` |

<Callout kind="warning" collapsed="false">
  **Important:** AppendNote is concatenated directly with the existing note. Include a trailing space or separator in the configured value where required.
</Callout>

The macro applies the following note rules:

| Note Condition                         | Macro Behaviour                                                                                         |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| CreatedBy equals `Customer_Message`    | Note is eligible for processing.                                                                        |
| CreatedBy contains another value       | Note is not updated.                                                                                    |
| Note already starts with AppendNote    | Note is left unchanged.                                                                                 |
| Note does not start with AppendNote    | AppendNote is prepended.                                                                                |
| Order contains no matching notes       | No note changes are made.                                                                               |
| AppendNote changes after previous runs | Notes with an older prefix may receive the new prefix because they do not start with the current value. |

## Best Practices

> Use a clear, stable prefix and include the required spacing or punctuation directly in AppendNote.

<Columns cols="2">
  <Card title="Use a clear prefix" icon="edit" horizontal="false" target="_self">
    Choose wording such as DELIVERY NOTE:, SHIPPING NOTE:, or CUSTOMER DELIVERY MESSAGE:.
  </Card>

  <Card title="Include required spacing" icon="settings" horizontal="false" target="_self">
    Add a trailing space after the prefix so it does not run into the original note text.
  </Card>

  <Card title="Keep the prefix consistent" icon="check-circle" horizontal="false" target="_self">
    Avoid changing AppendNote frequently because older prefixes are not recognised as the current value.
  </Card>

  <Card title="Use targeted rule conditions" icon="sliders" horizontal="false" target="_self">
    Run the macro only for orders where customer-message notes are expected.
  </Card>

  <Card title="Test sample notes first" icon="play" horizontal="false" target="_self">
    Test notes with no prefix, the current prefix, and an older prefix before enabling the rule widely.
  </Card>

  <Card title="Review execution logs" icon="bar-chart-2" horizontal="false" target="_self">
    Check logs for processed order numbers, missing orders, save failures, and completion.
  </Card>
</Columns>

## FAQ

**How is Shipping Delivery Note triggered?**

The macro is triggered through the Linnworks Rule Engine. Matching order IDs are supplied through the `OrderIds` parameter.

**Which macro should be selected in Macro Configuration?**

Select `ShippingDeliveryNote`.

**Which action value should be selected in the Rule Engine?**

Select `ShippingDeliveryNote`.

**What configuration value is required?**

The macro requires the `AppendNote` parameter.

**Which notes are updated?**

Only notes where `CreatedBy` equals `Customer_Message`.

**Does the macro update all order notes?**

No. Notes created by other users, integrations, or macros are not changed.

**How is the prefix added?**

AppendNote is placed directly before the existing note text.

**Does the macro add a space automatically?**

No. Include a trailing space in AppendNote when required.

**What happens when a note already starts with AppendNote?**

The note is left unchanged.

**Can the prefix be added twice?**

Not when the note already starts with the current configured AppendNote value.

**What happens after AppendNote is changed?**

A note beginning with an older prefix may receive the new prefix because it no longer starts with the current value.

**What happens when the order has no Customer\_Message notes?**

No note update is made.

**Can multiple matching notes be updated on one order?**

Yes. The macro checks every matching Customer\_Message note returned for the order.

**Can multiple orders be processed in one execution?**

Yes. The macro loops through each order ID supplied through OrderIds.

**Does the macro create a new note?**

The documented behaviour modifies existing Customer\_Message notes. It does not describe creating a separate new note.

**Does the macro change note visibility?**

No visibility change is described in the supplied documentation.

**Does the macro change customer address or shipping information?**

No. It updates matching order-note text only.

**What should be checked when no note is updated?**

Confirm that the order contains a note where CreatedBy matches `Customer_Message` exactly.

**What should be checked when the prefix has no spacing?**

Update AppendNote so it includes the required trailing space or separator.

**What should be checked when the macro is unavailable in the Rule Engine?**

Confirm that the macro configuration has been created and enabled.

**What should be checked when notes do not save?**

Review the macro logs for Linnworks API errors and confirm that the order can be edited.

## Legal Information

- **Privacy Policy:** [https://rishvi.co.uk/privacy-policy/](https://rishvi.co.uk/privacy-policy/)
- **Terms and Conditions:** [https://rishvi.co.uk/terms-conditions/](https://rishvi.co.uk/terms-conditions/)

Please review these pages to understand how data is handled and the terms governing the use of this application.

## Summary

Shipping Delivery Note automates the highlighting of customer-message notes on selected Linnworks orders.

Once connected to the Rule Engine, the underlying Append Customer Message Note macro retrieves notes created by `Customer_Message`, checks whether they already start with the configured AppendNote value, prepends the value where required, and saves the updated notes.

<Columns cols="2">
  <Card title="Automatic note detection" icon="check-circle" horizontal="false" target="_self">
    Notes created by Customer\_Message are identified automatically.
  </Card>

  <Card title="Configurable prefix" icon="settings" horizontal="false" target="_self">
    AppendNote controls the exact text placed before each matching note.
  </Card>

  <Card title="Duplicate-prefix prevention" icon="check-circle" horizontal="false" target="_self">
    Notes already beginning with the current prefix are not updated again.
  </Card>

  <Card title="Rule Engine automation" icon="play" horizontal="false" target="_self">
    Selected orders are processed automatically through the configured Linnworks rule.
  </Card>
</Columns>

For notes that do not update as expected, review the Rule Engine and macro logs, confirm that the note creator is exactly `Customer_Message`, and verify that AppendNote has been configured with the required punctuation and spacing.
