> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.devit.software/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# One-Shot workflows: run a workflow manually

# ${color}[#204a87](One-Shot workflows: run a workflow manually)

${color}[#3465a4](**In this article:**)
* [What a One-Shot workflow is](#1-what-a-one-shot-workflow-is)
* [Create a One-Shot workflow](#1-create-a-one-shot-workflow)
* [Fetch resources: process many items at once](#1-fetch-resources-process-many-items-at-once)
* [Get resources: run for one item you choose](#1-get-resources-run-for-one-item-you-choose)
* [Run the workflow](#1-run-the-workflow)
* [Check the result](#1-check-the-result)

Most workflows wait for a store event, such as a new order. A One-Shot workflow doesn't wait for anything: you start it yourself, whenever you need it. Use it for one-time jobs on existing store content, such as tagging old products, fixing data on past orders or sending something to a selected list of customers.

# ${color}[#204a87](What a One-Shot workflow is)

* It has no trigger event. Instead, it starts with **Get content**, where you choose which store items to work with.
* It doesn't need to be turned on. It runs only when you click **Run flow**.
* You can run it again any time later.

You'll find your One-Shot workflows in the workflow list under the **One-shot** tab.

# ${color}[#204a87](Create a One-Shot workflow)

1. On the React Flow home page, click **Create new** > **Create from scratch**.
2. On the **One-Shot** card ("Perform one-time actions for your existing store content"), click **Create**.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/new-workflow-types-one-shot_11tb398.png =800x464)


3. Under **Select resource**, choose how to get the content:
   * **Fetch resources**: Collections, Customers, Draft orders, Metaobjects, Orders or Products. The workflow runs once for every item that matches your filter.
   * **Get resources**: Get collection, Get customer, Get draft order, Get order or Get product. The workflow runs for one item you pick when you start it.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/select-resource_1nsrhu4.png =800x382)


4. Add conditions and actions, the same way as in any workflow.
5. Click **Save** and enter a name.

# ${color}[#204a87](Fetch resources: process many items at once)

When you choose a Fetch resource, for example **Products**, set which items the workflow should process:

* **Sort data by**: the field and order to process items in.
* **Maximum number of products**: the most items to process. Leave it empty to process all matching items.
* **Select a query option to filter data**: a ready-made filter, such as **Products by tag** or **Out of stock somewhere**, or **Advanced** to write your own. Click **Test** to see the list of matching items.

The **Runs counter** at the top shows how many items the current settings will fetch. Each item counts as a separate workflow run.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/fetch-products-settings_20g6sj.png =800x382)


Add the actions under **for each**. They run once for every fetched item.

For all settings and query examples, see the article about the Fetch action.

# ${color}[#204a87](Get resources: run for one item you choose)

When you choose a Get resource, for example **Get product**, you don't pick the item in advance. React Flow asks for it each time you run the workflow. This is useful for jobs you repeat for different items, for example "create a PDF spec sheet for this product".

# ${color}[#204a87](Run the workflow)

1. Open the saved workflow and click **Run flow** in the top right corner.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/run-flow-button_qsh78e.png =800x166)


2. Confirm the run:
   * For **Fetch resources**, the **Runs limit** window shows how many runs the workflow will start. Click **Run flow** to continue.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/runs-limit-dialog_r510sx.png)


* For **Get resources**, choose the item in the list (for example **Choose a product to run the workflow**) and click **Run flow**.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/choose-product-dialog_1d5kimk.png)


|| Runs above your monthly plan limit are charged at your plan's rate. For large one-time jobs, check **Runs counter** first and use a query or **Maximum number** to process only the items you need.

To check the logic without changing anything, use **Run Test** first (available for Get resources), and choose **Simulate**.

# ${color}[#204a87](Check the result)

After you start a Fetch workflow, React Flow opens the **Activity** page. A large job is shown as **Processing** until all items are done. Open the run to see how many items were processed, for example "4 successes / 4 resources", together with the sort, limit and query that were used.

To stop a run that is still processing, open it on the **Activity** page and click **Disable**.

# ✔️ Next step

Check our articles to learn more about the app's functionality:

* [How runs are counted in React Flow](https://help.devit.software/en/article/how-runs-are-counted-in-react-flow-k7214w/)
* [Activity page](https://help.devit.software/en/article/activity-page-17bwxxd/)
* [Components of the workflow](https://help.devit.software/en/article/components-of-the-workflow-1rd4ha2/)