> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wisepim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a pipeline that runs itself

> You do the same six clicks every morning. Promote that manual enrichment run into an automation, then add a quality safety net that catches drops for you.

Every morning you open Products, apply the same filter, select the same batch, open Enrich, pick the same prompt, and wait for it to finish. Six clicks. It is not hard work, it is just work that never ends, and it is the first thing to slip the week you get busy.

Here is the part nobody tells you: **the manual run you already do is the automation.** You have already decided which products, which enrichment type, and which prompt. Building the automation is mostly promoting choices you have already made, then adding the one thing you cannot do by hand, a watchdog that notices when quality drops and fixes it before you log in.

Budget about 90 minutes for the first build. After that it costs you nothing.

<Info>
  **Before you start:** you need a project with products, an [import](/en/essentials/importing-products) source you use regularly, and a prompt you are happy with in your [Prompt Library](/en/essentials/prompt-library).
</Info>

<Tip>
  **What you'll get:** newly imported products enriched and your team notified without anyone opening WISEPIM, plus a second automation that reacts to quality drops on its own.
</Tip>

## Capture the run you already do

Do tomorrow's run by hand one last time, and pay attention to every choice you make. Each choice becomes a setting in the automation, and the reason this comes first is unglamorous: an automation you build from memory fails silently, while one you build from a run you just watched fails loudly during its test.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/cwP1RkEsF4ewWRRF/images/marketing-screenshots/settings/settings-enrich-defaults-light-branded.webp?fit=max&auto=format&n=cwP1RkEsF4ewWRRF&q=85&s=0fe8dacc111ce5012292469383d5fbb8" alt="WISEPIM default enrich prompts per enrichment type, preselected in the enrich modal and used by Auto-Fill" width="2400" height="1445" data-path="images/marketing-screenshots/settings/settings-enrich-defaults-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/cwP1RkEsF4ewWRRF/images/marketing-screenshots/settings/settings-enrich-defaults-dark-branded.webp?fit=max&auto=format&n=cwP1RkEsF4ewWRRF&q=85&s=9a8a97c556e22b685b96736b34b77633" alt="WISEPIM default enrich prompts per enrichment type, preselected in the enrich modal and used by Auto-Fill" width="2400" height="1445" data-path="images/marketing-screenshots/settings/settings-enrich-defaults-dark-branded.webp" />

<Steps>
  <Step title="Run it manually and note every click">
    Filter, select, [enrich](/en/essentials/enriching-products). Write down three things: the filter conditions, the enrichment type you picked, and the prompt. That short list is the specification for your automation.
  </Step>

  <Step title="Promote your prompts to project defaults">
    Set your default prompts in [Enrich Prompts settings](/en/settings/enrich-defaults). They are project-level, so the whole team enriches with the same instructions, and Auto-Fill uses them without anyone choosing a prompt. Do this before you automate, because an automation should not depend on a choice a human remembers to make.
  </Step>

  <Step title="Refine the prompt against real products">
    Open the [Prompt Lab](/en/essentials/prompt-lab), load a real SKU, and iterate until the output is right on a few representative products, including thin ones. Unattended runs have no reviewer, so the prompt has to hold up on its own.
  </Step>

  <Step title="Save the filter you always apply">
    In the [product filters](/en/products/filtering-products), build the conditions you use every morning and save them as a named filter set. Saved sets live on your account, and the conditions in them are exactly what you will re-enter as the automation's selection criteria.
  </Step>

  <Step title="Decide who should hear about it">
    Pick the person or channel that should be told when a run finishes. An automation nobody hears from is an automation nobody trusts.
  </Step>
</Steps>

## Wire the flow

Now rebuild that same run on a canvas in the [visual builder](/en/automations/builder). Start from something that already works rather than an empty page, and change only what you need.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/rF997Glh61pjEHZZ/images/marketing-screenshots/automations/automation-builder-light-branded.webp?fit=max&auto=format&n=rF997Glh61pjEHZZ&q=85&s=d11e0af588b87551dbdcdc0d28d85a54" alt="WISEPIM visual automation builder with a branching product launch pipeline" width="2400" height="1445" data-path="images/marketing-screenshots/automations/automation-builder-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/rF997Glh61pjEHZZ/images/marketing-screenshots/automations/automation-builder-dark-branded.webp?fit=max&auto=format&n=rF997Glh61pjEHZZ&q=85&s=4333821bc90661b1444dccbe320c9e2e" alt="WISEPIM visual automation builder with a branching product launch pipeline" width="2400" height="1445" data-path="images/marketing-screenshots/automations/automation-builder-dark-branded.webp" />

<Steps>
  <Step title="Start from a template">
    Go to **Automations → [Templates](/en/automations/templates)** and open the **AI Content** tab. **New Product Content Generation** is a beginner template that generates titles, descriptions, and SEO meta for new products after any import - the exact shape you want. Click **Use This Template** and the builder opens with the nodes already placed and connected.
  </Step>

  <Step title="Set the trigger to After Import">
    Click the trigger node on the canvas to open its settings in the right panel, and choose the [After Import trigger](/en/automations/triggers). It fires the moment an import finishes, which is when supplier data is at its most incomplete. Set its import type filter if only one source should start the run; leave it empty and every import triggers it.
  </Step>

  <Step title="Select only the products that just arrived">
    Open the Select Products [data node](/en/automations/data-nodes) and re-enter the conditions from your saved filter set. This is the step that keeps the automation from re-enriching your whole catalog every night, so check its count before you move on.
  </Step>

  <Step title="Pick the enrichment">
    In the AI enrichment [action node](/en/automations/action-nodes), choose Auto-Fill to fill the gaps a feed left behind, or Bulk Enrich when you deliberately want to replace existing content. Auto-Fill uses the defaults you set in step two, so there is nothing else to configure.
  </Step>

  <Step title="Branch if two groups need different treatment">
    If products with no description need one thing and the rest need another, split the flow with a Condition [logic node](/en/automations/logic-nodes) and merge the paths back before the final step. Skip this until the simple version works end to end.
  </Step>

  <Step title="Notify, test, then activate">
    End with a notification node. Every node needs a green checkmark before you can save - an amber icon means it still needs configuring. Then hit **Test Run** in the toolbar and watch each node light up in the execution panel. Activate only once the test processes the number of products you expected, not merely once it goes green.
  </Step>
</Steps>

<Note>
  If placing nodes is not your idea of fun, the builder's **AI Designer** drafts a workflow from a plain-language description. Treat the draft as a first pass and open every node to check filters and destinations before you activate it.
</Note>

## Add the safety net

This is the part you could never do manually, and it is what turns a scheduled job into a catalog that repairs itself. [Quality Guard](/en/quality-guard/overview) scores your products; the **Quality Changed** trigger reacts when that score moves.

Two automations, two triggers, the same three steps behind each:

```mermaid theme={null}
flowchart LR
  A[After Import] --> B[Select products]
  B --> C[AI enrichment]
  C --> D[Notify]
  E[Quality Changed] --> B
```

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/cwP1RkEsF4ewWRRF/images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp?fit=max&auto=format&n=cwP1RkEsF4ewWRRF&q=85&s=5d6eba96fd2c6b3ea1d9a630012147eb" alt="WISEPIM Quality Guard quarantine holding non-compliant products before sync" width="2400" height="1445" data-path="images/marketing-screenshots/quality-guard/quality-guard-quarantine-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/cwP1RkEsF4ewWRRF/images/marketing-screenshots/quality-guard/quality-guard-quarantine-dark-branded.webp?fit=max&auto=format&n=cwP1RkEsF4ewWRRF&q=85&s=8c854bc395a6ba7ef6c7e6a72b3e3503" alt="WISEPIM Quality Guard quarantine holding non-compliant products before sync" width="2400" height="1445" data-path="images/marketing-screenshots/quality-guard/quality-guard-quarantine-dark-branded.webp" />

<Steps>
  <Step title="Understand what a drop actually costs you">
    Rules with **Block** severity send failing products to [quarantine](/en/quality-guard/quarantine), where they cannot be exported, synced, or published until someone acts. Left alone, a bad import quietly stops products reaching your channels.
  </Step>

  <Step title="Create a second automation on Quality Changed">
    Back on the Automations page, click **Create Automation**, then click the trigger node and pick [Quality Changed](/en/automations/triggers). Set **Direction** to decreased and use the optional **Threshold** so it only fires on a meaningful move, not on every one-point wobble. Keep this separate from the first pipeline: it has a different trigger and it must keep working even while you are editing the other one.
  </Step>

  <Step title="Re-enrich what slipped">
    Chain a Select Products node and an AI enrichment node behind it, the same pair you used in the first pipeline. The products that just lost score are the products that get rewritten.
  </Step>

  <Step title="Notify a human anyway">
    Finish with a notification. The automation handles the fix; the message tells you a fix was needed, which is how you spot a supplier whose feed keeps degrading.
  </Step>
</Steps>

## How to tell it worked

Give it a week of real imports before you judge it. These are the numbers that tell you whether the pipeline is earning its place.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/rF997Glh61pjEHZZ/images/marketing-screenshots/automations/automations-light-branded.webp?fit=max&auto=format&n=rF997Glh61pjEHZZ&q=85&s=055e2ed9a4b4b3e5ad7fb7369e67807d" alt="WISEPIM automations list with triggers, run counts and status" width="2400" height="1445" data-path="images/marketing-screenshots/automations/automations-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/rF997Glh61pjEHZZ/images/marketing-screenshots/automations/automations-dark-branded.webp?fit=max&auto=format&n=rF997Glh61pjEHZZ&q=85&s=c1f8cc0b3a6a7a1f72bb7ddc69a61354" alt="WISEPIM automations list with triggers, run counts and status" width="2400" height="1445" data-path="images/marketing-screenshots/automations/automations-dark-branded.webp" />

| Signal                      | Where to look                                                                               | When it moves                                                                                                                |
| --------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Success rate per automation | [Automations dashboard](/en/automations/overview)                                           | After the first few runs; below 80 %, open the configuration and run history                                                 |
| Runs you did not start      | [Process Tracker](/en/other-features/process-tracker), Source filter set to **Automations** | Same day as the import that triggered them                                                                                   |
| Quarantine count            | [Quarantine](/en/quality-guard/quarantine) queue                                            | Trends toward zero over the following weeks, not overnight                                                                   |
| Time saved                  | Automations dashboard                                                                       | Accumulates monthly, estimated from products processed                                                                       |
| Revenue lift                | [Enrichment Impact](/en/analytics/enrichment-impact)                                        | Not for at least a month - it compares 30 days before against 30 after, and reads **Low** confidence until enough sales land |

<Check>
  A healthy pipeline is boring: green runs in the Process Tracker you never started, a quarantine queue that stays near zero, and a notification each morning you can read in five seconds.
</Check>

## When it doesn't work

<AccordionGroup>
  <Accordion icon="circle-alert" title="It ran, but nothing got enriched">
    Almost always the Select Products node. Open it, check the filter conditions and the condition logic, then run the same conditions in the filter modal on the Products page and compare the counts - if they disagree, the node is the problem. A Minimum matches setting that is never met will also stop the workflow before it ever reaches the enrichment node.
  </Accordion>

  <Accordion icon="circle-alert" title="The success rate dropped below 80 %">
    Open **View History** on the automation from the [automations list](/en/automations/overview), then open that run in the [Process Tracker](/en/other-features/process-tracker). Failures are grouped for you: when every failure shares one root cause the task says **All N failures share one cause** and names it, which turns a wall of red rows into one thing to fix. Fix it, then **Retry failed** rather than re-running the whole job.
  </Accordion>

  <Accordion icon="circle-alert" title="A run stopped because credits ran out">
    The enrichment node checks your balance before it starts, so nothing is charged for a run that cannot complete. Top up, then use **Resume** in the [Process Tracker](/en/other-features/process-tracker): it processes only the items that were never handled and does not charge again for the ones that were. Resume needs the task to be at rest - stopped, failed, cancelled, or completed with errors, so stop a stuck task first.
  </Accordion>

  <Accordion icon="circle-alert" title="The Quality Changed automation fires far too often">
    Open the trigger and set a threshold so small score movements are ignored, and confirm the direction is set to decreased rather than any change. A trigger with no threshold reacts to every recalculation.
  </Accordion>

  <Accordion icon="circle-alert" title="The unattended content is off-brand">
    Nobody is reviewing output any more, so the prompt has to carry the brand on its own. Take it back to the [Prompt Lab](/en/essentials/prompt-lab), test it on products from several categories, and fill in your [Knowledge Library](/en/other-features/knowledge-library) so the AI has your brand context to draw on. Re-save the improved prompt as the default in [Enrich Prompts](/en/settings/enrich-defaults).
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Automations overview" icon="bot" href="/en/automations/overview">
    Manage, monitor, and read the success rate of every workflow you build.
  </Card>

  <Card title="Automation triggers" icon="zap" href="/en/automations/triggers">
    The full reference for all seven triggers, including After Import and Quality Changed.
  </Card>

  <Card title="Run a weekly catalog health routine" icon="calendar-check" href="/en/guides/weekly-maintenance-routine">
    The 45-minute Monday round that checks whether your automations are still behaving.
  </Card>

  <Card title="Onboard a supplier catalog end to end" icon="truck" href="/en/guides/onboard-a-supplier-catalog">
    Where the incoming feed comes from that this pipeline cleans up.
  </Card>
</CardGroup>
