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

# Order Confirmation Flow: 'Your Order Is Placed'

Send customers an automatic confirmation as soon as they place an order. This flow keeps shoppers informed about order status, reduces "Where's my order?" support tickets, and builds trust right after checkout.

## Goal

Notify a customer that their order has been created.

## Before you build the flow

Set up an automated campaign in the channel you want to use. You can send the confirmation through any of the following:

* Email
* SMS
* Viber
* Mobile push
* Web push

<Note>
  Set the campaign profile to **Transactional**. Order confirmations communicate technical information about the order, so they must reach every customer regardless of their marketing subscription status.
</Note>

To display order details (line items, totals, shipping address, and so on), you have two options:

* Use the **Order** parameter in your campaign template to pull order data dynamically.
* Use the new template constructor, which renders order details automatically without requiring you to wire up the parameter.

## Build the flow

<Steps>
  <Step title="Add the trigger">
    Start the flow with the **New Order** event. This event fires whenever an order is created in Maestra.

    <Tip>
      Backdated orders also trigger the flow, as long as the order falls within the relevance window of the flow's step group and no later modifications have been made to that order.
    </Tip>
  </Step>

  <Step title="Add an order status condition">
    The **New Order** event fires for any newly created order, regardless of its status. Add a condition that checks the order status so the confirmation only goes out for the statuses you care about (for example, `Confirmed` or `Paid`).

    As an alternative, you can replace the **New Order** trigger with the **Order Status Changed** event. Use this approach if you want the flow to run only when an order transitions into a specific status, rather than at the moment of creation.
  </Step>

  <Step title="Send the campaign">
    Add a send step that fires the transactional campaign you prepared earlier.

    <Warning>
      Because this is a transactional message, the customer must receive it. Do not add subscription checks or marketing validity checks before the send step — they will block legitimate order confirmations.
    </Warning>
  </Step>

  <Step title="Activate the flow">
    Turn the flow on. New orders will now trigger the confirmation automatically.
  </Step>
</Steps>

## Flow structure at a glance

| Step | Type      | Configuration                                                             |
| ---- | --------- | ------------------------------------------------------------------------- |
| 1    | Trigger   | **New Order** event (or **Order Status Changed**)                         |
| 2    | Condition | Order status matches the value you want to confirm                        |
| 3    | Action    | Send transactional campaign (email, SMS, Viber, mobile push, or web push) |

## Key things to remember

* The confirmation is transactional, so it bypasses subscription and marketing validity checks.
* Use the **Order** parameter or the new constructor to render order details in the template.
* If you want to confirm a specific status change (for example, only after payment is captured), switch the trigger to **Order Status Changed** instead of layering a condition on top of **New Order**.
* Backdated orders can still trigger the flow when they land inside the step group's relevance window.
