---
title: "Anatomy of a flow: SmartyTap docs | Chargezen"
description: "How a SmartyTap flow works: the trigger that starts it, trigger filters, re-entry, profile filters, Email steps, time delays and Splits, and how to turn it on."
url: "https://chargezen.com/docs/smartytap/flows"
lang: "en"
updated: "2026-10-19"
---

Canonical URL: https://chargezen.com/docs/smartytap/flows

# Anatomy of a flow

How a SmartyTap flow works: the trigger that starts it, trigger filters, re-entry, profile filters, Email steps, time delays and Splits, and how to turn it on.

Last updated: 2026-10-19

A flow is an automation that sells and cares for customers while you work on something else. It starts when a customer does something, like placing an order or leaving checkout, and runs steps for that customer: emails, waits, order tags and Splits. A campaign is one send you schedule; a flow keeps running for every customer who qualifies until you turn it off.

Every flow has the same parts. Learn them once and you can build any flow.

| Part | Answers the question |
| --- | --- |
| Trigger | What starts the flow? |
| Trigger filters | Which of those events count? |
| Re-entry | Can the same person go through it again? |
| Profile filters | Who stays in it, and who leaves early? |
| Steps | What happens, and when? |

## Find your flows

In SmartyTap, open **Campaigns > All flows**. The **Workflows** page lists each flow with its status, **Active** or **Inactive**. Click **Create workflow** to start one, then **Select a trigger**. **Recent flow runs** shows every customer's trip through your flows.

## 1\. The trigger

In **Select a trigger**, browse **Recommended** or **All triggers**. Flows start from two kinds of events:

*   **Order events from Shopify**: Order created, Order created or updated, Order tags, Order tags removed, Order paid, Order fulfilled, Order partially fulfilled, Order cancelled and Refund created. See [Order flows](https://chargezen.com/docs/smartytap/flows/order-flows).
*   **Storefront activity from the Chargezen pixel**: Viewed Product, Added to Cart and Checkout Started. These power [browse abandonment](https://chargezen.com/docs/smartytap/flows/browse-abandonment) and [abandoned checkout](https://chargezen.com/docs/smartytap/flows/abandoned-checkout).

Each order starts a flow once, so a repeated or late order event from Shopify never sends the same email twice.

## 2\. Trigger filters

Trigger filters decide which events count, using details of the event itself: **Order total**, **Currency**, **Order tags** or **Item SKUs** for orders, and product or cart details for storefront events. With no filters, every event starts the flow.

Click **Add filter**. Use **Add AND requirement** when an event must match several rules, and **Add OR alternative** when any one of several rules will do. Example: Item SKUs contains `COFFEE-1KG` AND Order total is at least 50.

## 3\. Re-entry

Under **Re-entry criteria**, choose how often one person can go through the flow:

*   **Allow re-entry**: every time the trigger happens. Right for order updates, like a shipping email for each order.
*   **No re-entry**: once, ever. Right for a first-order thank-you.
*   **Allow re-entry after a time period**: again only after a **Re-entry period** in minutes, hours or days. Storefront flows start at 30 days, so regular visitors don't feel watched.

A flow counts events from the moment it's turned on. Orders and visits from before don't start it.

## 4\. Profile filters

Profile filters are about the person, not the event. They're checked when someone enters and again before every step. Anyone who stops matching leaves the flow. That's how a reminder stops the moment its job is done.

Click **Add profile filter**. You can check:

*   **What someone has done**: Placed order, Viewed product, Added to cart, Started checkout or Started subscription, over a time period such as **Since starting this flow**, **In the last** or **Over all time**.
*   **Segment membership** and **List membership**.
*   **Marketing eligibility**: whether they can receive marketing.
*   **Active Shopify subscription SKUs**, the **Current contact**'s details and **Custom contact property** values.

The exit every reminder needs

A new profile filter starts as **Placed order = 0 since starting this flow**. Keep it on any reminder or win-back flow, so customers who buy stop getting nudged to buy.

## 5\. Steps

Drag a step from **Actions** onto the flow, or choose a step to add after it.

### Email

1

#### Name and write it

Give it an **Email name**, a **Subject** and **Preview text**. Click **Select template** to start from a saved email, or create one with **Drag and drop**, **Plain text** or **HTML**.

2

#### Check the sender

Click **Edit sender** to change the **Sender email**, **Sender name** and where **Replies** go.

3

#### Pick the email type

Under **Sending**, set **Email type** to **Marketing** or **Transactional**. Transactional emails skip marketing consent, so use them only for order and account updates. Anything that promotes a product is marketing.

4

#### Set Smart Sending

For marketing emails, **Skip recently emailed profiles** skips anyone who got a marketing email in the last 16 hours. Choose whether that counts **campaign** messages, **flow** messages, or both.

5

#### Preview

Use **Preview & check fields** to see it with sample data on desktop and mobile, then **Done**.

### Time delay

A **Time delay** waits before the next step: a **Delay amount** in days, hours or minutes. For delays in days, you can also **Delay until a specific time of day** or **Delay until specific days of the week**, in the **Recipient local timezone** or your **Account timezone**. Example: wait 2 days, then send at 10 a.m. the customer's time, on weekdays only.

### Conditional split

A **Conditional split** sends people down different paths. Add a path for each group with **Add path** and **Add condition**. Paths are checked in order, the first match wins, and everyone else follows the last path. A Split can check everything a profile filter can, plus the **Triggering order** (or storefront event) and a **Random sample** for testing two paths against each other.

Example: after a fulfilled order, Path 1 is Item SKUs contains a coffee SKU and gets brewing tips; everyone else gets general care tips.

### Add order tags

**Add order tags** adds tags to the order that started the flow, like `thank-you-sent`, so your team can filter on it in Shopify.

## Turn it on

1

#### Name the flow

Type a name in the top bar, where it says **New Workflow**.

2

#### Preview the flow

Click **Preview** to see each step and when it would run. No customer run is started.

3

#### Save or turn on

Click **Save draft** to keep working, or **Turn on workflow** and confirm with **Turn on**. SmartyTap checks every step first and tells you what's missing, like a subject line or a sender.

Editing a live flow

Changes to an active flow apply when you save. If you delete a step or a Split path, people waiting in it leave the flow. To stop a flow, click **Save draft**: it goes back to Draft and cancels runs in progress.

## See who went through it

**Recent flow runs** lists every run with its flow, trigger, status (**Completed**, **Waiting**, **Running**, **Failed**, **Cancelled**), its current step and when it resumes. A run that failed shows why.

## Flows to build first

[

### Order flows

Thank-you, shipping, order tag, cancellation and refund emails

Learn more



](https://chargezen.com/docs/smartytap/flows/order-flows)[

### Abandoned checkout

Bring back shoppers who started checkout

Learn more



](https://chargezen.com/docs/smartytap/flows/abandoned-checkout)[

### Browse abandonment

One helpful email about a product they viewed

Learn more



](https://chargezen.com/docs/smartytap/flows/browse-abandonment)[

### Birthday email

Birthday points and an email on the day

Learn more



](https://chargezen.com/docs/smartytap/flows/birthday)

## FAQ

### Can I build flows by asking Claude or ChatGPT?

Yes. Connect SmartyTap to Claude or ChatGPT and describe the flow. The AI app writes the email, saves the flow as a Draft and turns it on when you ask. See [SmartyTap in Claude](https://chargezen.com/smartytap/integrations/claude).

### Do flows respect unsubscribes?

Yes. Marketing emails go only to customers who agreed to marketing email. Transactional emails go to everyone, so keep them about the order.

### Why can't I edit a flow?

Creating and changing flows needs the SmartyTap flows permission. Ask a workspace owner to give it to you.

## Related

**Guides**

*   [Order flows](https://chargezen.com/docs/smartytap/flows/order-flows)
*   [Abandoned checkout](https://chargezen.com/docs/smartytap/flows/abandoned-checkout)
*   [Browse abandonment](https://chargezen.com/docs/smartytap/flows/browse-abandonment)
*   [Segments](https://chargezen.com/docs/smartytap/audience/segments)

**On the product page**

*   [Flow library](https://chargezen.com/smartytap/flows)
*   [SmartyTap in Claude](https://chargezen.com/smartytap/integrations/claude)

**Learn more**

*   [What is an SMS flow?](https://chargezen.com/glossary/sms-flow)

### Related Articles

[

#### Order flows

Thank-you, shipping, tag and refund emails



](https://chargezen.com/docs/smartytap/flows/order-flows)[

#### Abandoned checkout

Win back shoppers who left at checkout



](https://chargezen.com/docs/smartytap/flows/abandoned-checkout)[

#### Browse abandonment

Follow up on a product they viewed



](https://chargezen.com/docs/smartytap/flows/browse-abandonment)[

#### Birthday email

Points and an email on the day



](https://chargezen.com/docs/smartytap/flows/birthday)

Was this page helpful?

Need more help? [Contact support](https://chargezen.com/docs/checkoutos/troubleshooting/support)
