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

# Building Workflows

> A step-by-step tutorial for building an end-to-end workflow.

This tutorial walks you through building a practical workflow: when a new Shopify order arrives, check the order total, and send a different notification depending on the amount.

## What you'll build

```
Trigger (manual) → Get Order (Shopify) → Condition (total > 100?)
                                           ├── True  → Send VIP message (Slack)
                                           └── False → Send standard message (Slack)
```

## Prerequisites

* A Shopify connection configured in [Connections](/platform/connections)
* A Slack connection configured in [Connections](/platform/connections)
* An existing Shopify order to test with

## Step by step

<Steps>
  <Step title="Create a new workflow">
    From the dashboard, click **New Workflow**. Name it "Order Notifications" and click **Create**.
  </Step>

  <Step title="Add a Trigger">
    Drag a **Trigger** node from the palette. Set the type to **Manual** for now; you can switch to webhook later.
  </Step>

  <Step title="Add a Variable node for the order ID">
    Drag a **Variable** node onto the canvas and connect it to the trigger. Set a variable called `orderId` with a test order ID from your Shopify store.
  </Step>

  <Step title="Add a Shopify action">
    Drag a **Connector** node and connect it after the variable node. In the properties panel:

    * **Connector**: Shopify
    * **Tool**: `get-order`
    * **id**: Reference the `orderId` variable

    Name this node "Get Order".
  </Step>

  <Step title="Add a Condition">
    Drag a **Condition** node and connect it after the Shopify action. Configure the condition:

    * **Field**: the order total from the previous step
    * **Operator**: greater than
    * **Value**: `100`

    This creates two output branches: **True** and **False**.
  </Step>

  <Step title="Add Slack actions for each branch">
    Drag two **Connector** nodes:

    1. Connect one to the **True** handle. Configure it to send a Slack message: *"VIP order received! Order total: \$..."*
    2. Connect one to the **False** handle. Configure it to send a Slack message: *"New order received. Order total: \$..."*
  </Step>

  <Step title="Save and run">
    Click **Save** in the toolbar, then click **Run**. Watch the execution flow through each node in real time.
  </Step>
</Steps>

## Key takeaways

* Every workflow starts with a **Trigger** node.
* Use **Variable** nodes to define inputs and test data.
* **Connector** nodes execute tools from connected services.
* **Condition** nodes let you branch based on data values.
* You can see the output of each node after execution in the monitoring view.

## Next steps

<CardGroup cols={2}>
  <Card title="Node Types" icon="shapes" href="/workflow-editor/nodes/trigger">
    Learn about every node type in detail.
  </Card>

  <Card title="Monitoring" icon="chart-line" href="/workflow-editor/monitoring">
    View execution logs and debug your workflows.
  </Card>
</CardGroup>
