Skip to main content
Takes a part of the entity data and copies it. The original data is kept. Useful for example when a shipping address needs to be duplicated as a billing address.

Fields

Pattern

Required. The dot-notated source path of the data to copy. Use * to match all items in an array. Each * becomes a numbered capture group that can be referenced in the replacement as $1, $2, etc.
  • product.name — copies a single value.
  • products.*.name — copies the name of every product; $1 holds the array index.
  • products.*.categories.* — two wildcards; $1 is the product index, $2 is the category index.

Replacement

Required. The dot-notated destination path where the copied data is written. Use $1, $2, etc. to reference capture groups from * in the source pattern.
  • product_name — fixed destination.
  • product_names.$1 — writes each copied value to its own index.

Conditions

Optional. Only copy the data when a condition is met.

Sample data

Pattern: product.name Replacement: product_name Input:
{
    "product": {
        "name": "example"
    }
}
Output:
{
    "product": {
        "name": "example"
    },
    "product_name": "example"
}

Pattern: products.*.name Replacement: product_names.$1 Input:
{
    "products": [
        { "name": "example" },
        { "name": "example2" }
    ]
}
Output:
{
    "products": [
        { "name": "example" },
        { "name": "example2" }
    ],
    "product_names": [
        "example",
        "example2"
    ]
}