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

# Triggers & Conditions

> Control when your automations fire with triggers and condition filters.

Every automation starts with a **trigger** — the event that sets it off. You can then add **conditions** to narrow it down, so the automation only fires when specific criteria are met.

<Info>
  **This page covers features gated by Admin-tier permissions** — typically Settings access. Admins have these by default; your administrator can adjust who has them in [Settings > Team](/settings/team).
</Info>

## Triggers

There are three triggers, available for both Orders and Events.

| Trigger                    | When it fires                                                                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------- |
| **Is created**             | When a new order or event is first created                                                         |
| **Status changed**         | When the status changes to a specific value you choose (e.g. to Confirmed, or to Out for delivery) |
| **Payment status changed** | When the payment status changes to a specific value you choose (e.g. to Paid, or to Refunded)      |

### Status changed and payment status changed

For these two triggers, you pick the **target status** on the trigger itself — the automation only fires when the order or event lands on that status. You don't add a separate condition for the status.

For example, "Order → Status changed → Confirmed" fires only when an order moves into Confirmed. Earlier or later transitions are ignored.

### Order statuses

For **order** automations, you can target statuses including Unconfirmed, Confirmed, Order picked, Ready for fulfilment, With courier, Out for delivery, Fulfilled, and Cancelled.

### Event statuses

For **event** automations, you can target statuses including Draft, Quote sent, Follow up, Quote accepted, Order finalisation, Order created, Completed, Cancelled, and Archived.

### Payment statuses

For Orders or Events, you can target payment statuses including Unpaid, Partially paid, Paid, Over paid, Refunded, Partially refunded, Void, and Expired.

## Conditions

Conditions let you filter when an automation fires. You can add one or more conditions, and **all of them must be true** for the automation to run.

Each condition has three parts:

1. **Field** — what you're checking
2. **Operator** — how you're comparing it
3. **Value** — what you're comparing it to

### Condition fields for Orders

| Field                 | What it checks                                       | Example use                                        |
| --------------------- | ---------------------------------------------------- | -------------------------------------------------- |
| **Order type**        | Gift, Event, Funeral, or Corporate                   | Only fire for funeral orders                       |
| **Fulfilment method** | Delivery, Collection, Relay, or Courier              | Only fire for delivery orders                      |
| **Payment status**    | The current payment status of the order              | Only fire when the order is fully paid             |
| **Account**           | Whether the customer is an account customer (yes/no) | Only fire for orders linked to an account customer |

### Condition fields for Events

| Field              | What it checks                                                                         | Example use                                         |
| ------------------ | -------------------------------------------------------------------------------------- | --------------------------------------------------- |
| **Status**         | The current status of the event                                                        | Only fire while the event is in Follow up           |
| **Payment status** | The current payment status                                                             | Only fire when a deposit has been received          |
| **Account**        | Whether a deposit or payment has been taken on an account-type payment method (yes/no) | Only fire for events with an account-backed payment |
| **Event type**     | The event type by name (e.g. Wedding, Funeral, Corporate)                              | Only fire for wedding events                        |

<Info>
  **Account** is a yes/no field — it asks whether the order or event is tied to an account customer, not which specific account. Pick **Equals true** or **Equals false**.
</Info>

### Operators

| Operator       | What it means                       |
| -------------- | ----------------------------------- |
| **Equals**     | The field matches the value exactly |
| **Not equals** | The field does not match the value  |

In practice, every condition field listed above only offers **Equals** and **Not equals**. Numeric operators exist in the data model but aren't exposed for any of the current condition fields.

### Multiple conditions

When you add multiple conditions, they work with **AND logic** — every condition must be true for the automation to fire.

For example, if you set:

* Fulfilment method **equals** Delivery
* Payment status **equals** Paid

The automation will only fire for delivery orders that are fully paid. It won't fire for collection orders, and it won't fire for unpaid delivery orders.

<Tip>
  If you need "or" logic (e.g. fire for delivery OR collection orders), create two separate automations with the same action — one for each condition.
</Tip>

## Putting it together

Here's how a complete trigger + condition setup might look.

**"Send a confirmation email when a delivery order is paid"**

| Part       | Setting                               |
| ---------- | ------------------------------------- |
| Applies to | Order                                 |
| Trigger    | Payment status changed → Paid         |
| Condition  | Fulfilment method **equals** Delivery |
| Action     | Send email                            |

The trigger itself targets Paid, so the automation only runs when an order's payment status lands on Paid. The condition then narrows that further to delivery orders.

## Common questions

<AccordionGroup>
  <Accordion title="Can I trigger an automation based on a specific status?">
    Yes. Choose the **Status changed** (or **Payment status changed**) trigger and pick the target status from the dropdown next to it. The automation then fires only when the record lands on that status.
  </Accordion>

  <Accordion title="Does 'Is created' include POS sales?">
    Yes. A POS sale creates an order, so it triggers any "order is created" automations.
  </Accordion>

  <Accordion title="Can I use conditions without a specific trigger?">
    No. Every automation needs a trigger. Conditions only filter when that trigger fires — they can't fire an automation on their own.
  </Accordion>

  <Accordion title="What if none of my conditions match?">
    The automation doesn't run. Nothing happens, and nothing is logged as a failure — it's treated as not applicable.
  </Accordion>

  <Accordion title="Can I trigger an automation when a task changes?">
    No. Automations only trigger on orders and events. Task creation, completion, and assignment don't fire automations.
  </Accordion>
</AccordionGroup>

## What's next?

<Columns cols={2}>
  <Card title="Actions" icon="paper-plane" href="/settings/automations-actions">
    Set up what happens when your automation fires.
  </Card>

  <Card title="Automations Overview" icon="wand-magic-sparkles" href="/settings/automations">
    Back to the main automations guide.
  </Card>
</Columns>
