# Available triggers, actions, and conditions

{% hint style="info" %}

## Before you begin

* New to workflows? Take a quick look at how to build your first one: [Create a workflow](/xflow-app/workflows/create-a-workflow.md)
* Need inspiration? Browse our workflow template library and get started in minutes: [Get started with workflow templates library](/xflow-app/workflows/get-started-with-workflow-templates-library.md)
  {% endhint %}

## Triggers

Triggers define **when a workflow starts**. Every workflow must have exactly one trigger to begin running.

<details>

<summary>📦 Product restock</summary>

Starts the workflow when a product is back in stock.

You can use this trigger to:

* Notify customers when an item is back in stock
* Send follow-up reminders or offers after restock

{% hint style="info" %}
*Example:* Product restock → Send email → Wait 24 hours → Send reminder email
{% endhint %}

</details>

<details>

<summary>👋 New customer sign up</summary>

Starts the workflow when a new customer signs up [Notify me button](/xflow-app/notify-me-widget/customize-notify-me-form-and-messages.md).

You can use this trigger to:

* Send welcome or confirmation emails
* Deliver signup incentives or discount codes
* Start onboarding or nurture workflows

{% hint style="info" %}
*Example:* New customer sign up → Create discount code → Send welcome email
{% endhint %}

</details>

Learn more:

{% content-ref url="/pages/QCudM7EZzTnOIUuwiIvE" %}
[Understanding workflow triggers](/xflow-app/workflows/understanding-workflow-triggers.md)
{% endcontent-ref %}

## Conditions

Conditions control **how a workflow flows** after it starts. They evaluate customer data or events and determine which workflow path to take, enabling you to build logic such as branching, filtering, and targeted messaging.

<details>

<summary>📩 An event occurred - Email opened</summary>

Checks whether the customer has opened a specific email.

You can use this condition to:

* Measure email engagement
* Trigger follow-up actions based on opens
* Segment engaged vs. unengaged customers

{% hint style="info" %}
*Example:* [Win-back campaign for inactive subscribers](/xflow-app/workflows/get-started-with-workflow-templates-library/win-back-campaign-for-inactive-subscribers.md)
{% endhint %}

</details>

<details>

<summary>🖱️ An event occurred - Email clicked</summary>

Checks whether the customer has clicked a link in a specific email.

You can use this condition to:

* Identify highly engaged customers
* Trigger follow-up actions after link clicks
* Segment customers based on interaction

{% hint style="info" %}
*Example:* [Tag engaged customers after email click](/xflow-app/workflows/get-started-with-workflow-templates-library/tag-engaged-customers-after-email-click.md)
{% endhint %}

</details>

<details>

<summary>🚫 An event occurred - Customer unsubscribed</summary>

Checks whether the customer has unsubscribed from marketing communications.

You can use this condition to:

* Stop promotional workflows
* Trigger internal alerts or cleanup actions
* Update customer engagement or consent status

{% hint style="info" %}
*Example:* New customer sign up → Send marketing email → If customer unsubscribed → Update subscription status
{% endhint %}

</details>

<details>

<summary>🛍️ An event occurred - Customer purchased</summary>

Checks whether the customer has completed a purchase.

You can use this condition to:

* Trigger post-purchase workflows
* Stop or adjust promotional flows after conversion
* Segment customers based on purchase activity

{% hint style="info" %}
*Example:* [Urgency back in stock notification](/xflow-app/workflows/get-started-with-workflow-templates-library/urgency-back-in-stock-notification.md)
{% endhint %}

</details>

<details>

<summary>💳 Customer criterias - Order count</summary>

Evaluates the customer based on the number of orders they have placed.

You can use this condition to:

* Identify new vs. returning customers
* Target loyal or frequent buyers
* Customize workflows based on purchase history

{% hint style="info" %}
*Example:* [Loyalty program enrollment](/xflow-app/workflows/get-started-with-workflow-templates-library/loyalty-program-enrollment.md)
{% endhint %}

</details>

<details>

<summary>💰 Customer criterias - Total spent</summary>

Evaluates the customer based on the total amount they have spent.

You can use this condition to:

* Identify high-value customers
* Create VIP or loyalty segments
* Trigger rewards or exclusive offers

{% hint style="info" %}
*Example:* [Back in stock with tiered response](/xflow-app/workflows/get-started-with-workflow-templates-library/back-in-stock-with-tiered-response.md)
{% endhint %}

</details>

<details>

<summary>🗓️ Customer criterias - Signed up date</summary>

Filters customers based on the date they signed up.

You can use this condition to:

* Target new customers who signed up recently
* Exclude older customers from specific workflows
* Send onboarding, welcome, or re-engagement messages based on signup timing

{% hint style="info" %}
*Example:* Product restock → Check customer signed up date (within last 30 days) → Add customer tag (New signup) → Send email
{% endhint %}

</details>

<details>

<summary>⏰ Customer criterias - Last order date</summary>

Filters customers based on the date of their most recent order.

You can use this condition to:

* Target active customers who ordered recently
* Re-engage customers who haven’t ordered in a while
* Exclude recent buyers from promotions or reminders

{% hint style="info" %}
*Example:* Product restock → Check last order date (more than 60 days ago) → Send email → Wait 24 hours → Send reminder email
{% endhint %}

</details>

<details>

<summary>🏷️ Customer criterias - Customer tags</summary>

Filters customers based on the tags assigned to their profile.

You can use this condition to:

* Target specific customer segments (e.g. VIP, Wholesale, Loyalty)
* Include or exclude customers from workflows based on behavior or status
* Personalize messages and offers using tag-based segmentation

{% hint style="info" %}
*Example:* Product restock → Check customer tags (includes “VIP”) → Create discount code → Send email with special offer&#x20;
{% endhint %}

</details>

<details>

<summary>📣 Customer criterias - Accepts marketing</summary>

Filters customers based on whether they have agreed to receive marketing communications.

You can use this condition to:

* Send campaigns only to customers who opted in
* Ensure compliance with email and SMS marketing regulations
* Exclude customers who have not accepted marketing from promotional workflows

{% hint style="info" %}
*Example:* Product restock → Send welcome email → Check accepts marketing (is true) → Send promotional email
{% endhint %}

</details>

Learn more:

{% content-ref url="/pages/ZApv1hvV4dJ0Zqi7ZjSd" %}
[Understanding workflow conditions](/xflow-app/workflows/understanding-workflow-conditions.md)
{% endcontent-ref %}

## Actions

Actions define **what the workflow does**. A workflow can run one or multiple actions in sequence.

<details>

<summary>💌 Send email</summary>

Sends an email to the customer when this action is reached in the workflow.

You can use this action to:

* Send welcome or onboarding emails
* Notify customers about product restock or promotions
* Send follow-up or reminder emails based on customer behavior

{% hint style="info" %}
*Example:* Product restock → Send email → Wait 24 hours → Send follow-up email
{% endhint %}

</details>

<details>

<summary>🔔 Send push notification</summary>

Sends a push notification to the customer to notify the customer in real time.

You can use this action to:

* Notify customers about product restocks or order updates
* Send time-sensitive alerts or promotions
* Re-engage customers with reminders or announcements

{% hint style="info" %}
*Example:* Product restock → Send push notification → Wait 1 hour → Send follow-up notification.
{% endhint %}

{% hint style="warning" %}
Sending desktop push notifications requires that the browser permission settings are configured to **allow notifications** from a specific website.

**How to allow notifications in browser settings (User action)**

* 🌐 Google Chrome: <https://support.google.com/chrome/answer/3220216>
* 🦊 Mozilla Firefox: <https://support.mozilla.org/en-US/kb/push-notifications-firefox>
* 🔵 Microsoft Edge: <https://support.microsoft.com/en-us/microsoft-edge/manage-website-notifications-in-microsoft-edge-0c555609-5bf2-479d-a59d-fb30a0b80b2b>
* 🍎 Safari (Mac): <https://support.apple.com/en-vn/guide/safari/sfri40734/mac>
* 📱 Safari (iPhone/iPad — iOS 16.4+): Settings > Notifications > Safari and enable Allow Notifications.
  {% endhint %}

</details>

<details>

<summary>📩 Send internal email</summary>

Sends an internal email notification to your team.

You can use this action to:

* Notify internal teams about important customer events
* Alert staff when a workflow condition is met
* Trigger internal follow-ups or manual actions

{% hint style="info" %}
*Example:* [Internal notification for high-value new subscribers](/xflow-app/workflows/get-started-with-workflow-templates-library/internal-notification-for-high-value-new-subscribers.md)
{% endhint %}

</details>

<details>

<summary>⏳ Wait</summary>

Pauses the workflow for a specified amount of time before continuing to the next step.

You can use this action to:

* Delay follow-up messages
* Space out notifications or emails
* Wait for customer actions before proceeding

{% hint style="info" %}
*Example:*

* [Welcome email series for new subscribers](/xflow-app/workflows/get-started-with-workflow-templates-library/welcome-email-series-for-new-subscribers.md)
* [Win-back campaign for inactive subscribers](/xflow-app/workflows/get-started-with-workflow-templates-library/win-back-campaign-for-inactive-subscribers.md)
* [Tag engaged customers after email click](/xflow-app/workflows/get-started-with-workflow-templates-library/tag-engaged-customers-after-email-click.md)
* [Urgency back in stock notification](/xflow-app/workflows/get-started-with-workflow-templates-library/urgency-back-in-stock-notification.md)
  {% endhint %}

</details>

<details>

<summary>🎁 Create discount code</summary>

Creates a unique discount code for the customer.

You can use this action to:

* Reward loyal or high-value customers
* Incentivize purchases with personalized discounts
* Support promotions and win-back campaigns

{% hint style="info" %}
*Example:*

* [Back in stock with exclusive discount for loyal customers](/xflow-app/workflows/get-started-with-workflow-templates-library/back-in-stock-with-exclusive-discount-for-loyal-customers.md)
* [VIP welcome with exclusive discount code](/xflow-app/workflows/get-started-with-workflow-templates-library/vip-welcome-with-exclusive-discount-code.md)
* [Back in stock with tiered response](/xflow-app/workflows/get-started-with-workflow-templates-library/back-in-stock-with-tiered-response.md)
* [Flash sale notification for back in stock](/xflow-app/workflows/get-started-with-workflow-templates-library/flash-sale-notification-for-back-in-stock.md)
* [First-time buyer special discount](/xflow-app/workflows/get-started-with-workflow-templates-library/first-time-buyer-special-discount.md)
  {% endhint %}

</details>

<details>

<summary>🚀 Update subscription status</summary>

Updates the customer’s subscription status.

You can use this action to:

* Mark a customer as subscribed or unsubscribed
* Reflect consent changes from customer actions
* Keep subscription status up to date across workflows

{% hint style="info" %}
*Example:* [Double opt-in confirmation workflow](/xflow-app/workflows/get-started-with-workflow-templates-library/double-opt-in-confirmation-workflow.md)
{% endhint %}

</details>

<details>

<summary>🏷️ Add customer tags</summary>

Adds one or more tags to the customer.

You can use this action to:

* Label customers based on behavior or attributes
* Segment customers for future workflows
* Track engagement or campaign participation

{% hint style="info" %}
*Example:*&#x20;

* [Tag VIP customers based on purchase history](/xflow-app/workflows/get-started-with-workflow-templates-library/tag-vip-customers-based-on-purchase-history.md)
* [Tag engaged customers after email click](/xflow-app/workflows/get-started-with-workflow-templates-library/tag-engaged-customers-after-email-click.md)
* [New subscriber tagging and welcome](/xflow-app/workflows/get-started-with-workflow-templates-library/new-subscriber-tagging-and-welcome.md)
* [Loyalty program enrollment](/xflow-app/workflows/get-started-with-workflow-templates-library/loyalty-program-enrollment.md)
  {% endhint %}

</details>

Learn more:

{% content-ref url="/pages/bT9FkyAd7rwAtkDEzWM0" %}
[Understanding workflow actions](/xflow-app/workflows/understanding-workflow-actions.md)
{% endcontent-ref %}

## Related articles

{% content-ref url="/pages/NWmkFOfstlDd2472afEb" %}
[Create a workflow](/xflow-app/workflows/create-a-workflow.md)
{% endcontent-ref %}

{% content-ref url="/pages/tq1dkTftd6RRjQFhhWjO" %}
[Get started with workflow templates library](/xflow-app/workflows/get-started-with-workflow-templates-library.md)
{% endcontent-ref %}

{% content-ref url="/pages/2vPjRx3iv0sn0W8FiqsT" %}
[Assign a workflow to your campaign](/xflow-app/workflows/assign-a-workflow-to-your-campaign.md)
{% endcontent-ref %}

***

#### 📩 **Need help?**

We’re here to make your XFlow experience smooth and successful.\
Our support team is always ready to assist you—no matter how big or small your question is.

<a href="https://admin.shopify.com/apps/xflow?chat=true&#x26;utm_source=foxecom&#x26;utm_medium=help_center_xflow_workflow_available_triggers_actions_and_conditions&#x26;utm_campaign=cta_button&#x26;utm_term=chat_now" class="button primary" data-icon="comment-lines">Chat now</a> <a href="mailto:contact@help.xflow.so" class="button secondary" data-icon="envelopes">Message us</a>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.foxecom.com/xflow-app/workflows/available-triggers-actions-and-conditions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
