---
title: "Tag product when webhook received"
description: "A ready-made Shopify Flow workflow. When a supplier, PIM or ERP calls your webhook with a SKU and a tag, add that tag to the product. Keeps collections, filters and badges in sync with data from outside Shopify."
canonical: "https://docs.workflow-webhooks.app/template-tag-product"
---

# Tag product when webhook received

When a supplier, PIM or ERP calls your webhook with a SKU and a tag, add that tag to the product. Keeps collections, filters and badges in sync with data from outside Shopify.

One trigger from Workflow Webhooks and Shopify's built-in actions, no other app needed.

![The workflow in Shopify Flow: Tag product when webhook received](https://cdn-dev.eu.codecreationlabs.cloud/crm-tool/uploads/SjJ78gKLnLlocopCui3Cs62dJbGZ7F1n/bf8dbfcce9954730.jpg)
*The complete workflow as it looks in Shopify Flow.*

## What it needs

A webhook in Workflow Webhooks with this payload mapping. See [Payload mapping and Flow variables](https://docs.workflow-webhooks.app/payload-mapping.md).

| Field | What to map to it |
| --- | --- |
| `fieldOne` | The variant SKU, for example `TSHIRT-RED-M` |
| `fieldTwo` | The tag to add, for example `back-in-stock` |

A call to the webhook then looks like this:

```bash
curl -X POST https://<your webhook URL> \
  -H "Content-Type: application/json" \
  -d '{"sku": "TSHIRT-RED-M", "tag": "back-in-stock"}'
```

> [!WARNING]
> **More than one webhook?**
> The Webhook Trigger fires for every webhook in your store. If you have more than one, add a condition on `webhookId` **Equal to** this webhook's id right after the trigger.

## Get the workflow

1. Download the `.flow` file attached at the bottom of this page.
2. In your Shopify admin open **Flow**, click **Import** and choose the file.
3. Check the steps, then click **Turn on workflow**.

The file is an export from Shopify Flow itself. Do not edit it by hand; change the workflow in Flow after importing it.

## How it works

1. **Webhook Trigger** starts the workflow each time your webhook URL is called and hands it the mapped fields.
2. **Get product variant data** looks up the variant with the query `sku:{{fieldOne}}` and keeps at most one result.
3. **For each** runs once for the variant it found, and not at all when no SKU matches.
4. **Add product tags** adds `{{fieldTwo}}` to the product of that variant.

## Make it yours

- Replace `{{fieldTwo}}` with a fixed tag such as `supplier-update` if the caller cannot send a tag.
- Use **Remove product tags** instead to clear a tag, for example when a supplier reports stock again.

## Next steps

- [Create your first webhook](https://docs.workflow-webhooks.app/getting-started.md) - create the webhook this workflow listens to.
- [Workflow templates](https://docs.workflow-webhooks.app/workflow-templates.md) - all templates.
- [History and troubleshooting](https://docs.workflow-webhooks.app/history-and-troubleshooting.md) - check that the webhook reached Flow.
