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

# Schedule and run a campaign

> Add scheduled runs below the orchestration canvas, run a flow by hand, and follow each execution in the Executions list.

A campaign holds the flow. A **run** decides when that flow executes. This page covers the **Scheduled runs** panel below the canvas, the fields a run takes, how to run a flow by hand, and where the result lands afterwards. Creating the campaign is covered on [Create a campaign](/business-documentation/campaigns/create-a-campaign), and building the flow on the [Orchestration canvas](/business-documentation/campaigns/orchestration-canvas).

## What you'll build

```mermaid theme={"system"}
flowchart LR
    A[Orchestration canvas] --> B[Scheduled run]
    B --> C[Execution]
    C --> D[Executions list]
```

## Settings that decide when it runs

Every setting below is a field in the **Create new run** dialog.

| Setting           | What it does here                                                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Job name**      | Names the run, and titles it everywhere it appears afterwards. Required.                                                            |
| **Job type**      | **Count**, **Regular** or **Simulation**. Defaults to **Count**.                                                                    |
| **Schedule type** | **Recurring** repeats; **One-time** fires once. Defaults to **Recurring**.                                                          |
| **Start date**    | Both types take one, with a time as well as a date. Required, and it cannot be in the past.                                         |
| **End date**      | **Recurring** only, and optional. Leave it empty for a run with no end — the list then reads **No end date**.                       |
| **Frequency**     | **Recurring** only: **Daily**, **Weekly**, **Monthly**, **Yearly** or **Intraday**, each with its own follow-up fields.             |
| **Time zone**     | Read only. It is the time zone you were in when the dialog opened, and it is stored on the run — it does not follow you afterwards. |

<Note>
  **A campaign's own dates do not bound a run.** The **Create new run** dialog is not given them, so it shows no *Campaign starts at …* hint and accepts a date outside the campaign. Its **Start date** is checked against now instead — and the message you get for a date too early still reads *This date cannot precede the campaign start date - …*, with today's date in it rather than the campaign's.
</Note>

### What each frequency asks for next

| Frequency    | The fields it adds                                                                                                                                                          |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Daily**    | **Every** *N* **day(s)**, from 1 to 31.                                                                                                                                     |
| **Weekly**   | **Select days** — one or more days of the week.                                                                                                                             |
| **Monthly**  | **Select day intervals**, then one of three shapes: **On the** *nth* *weekday*; **On specific day(s)**; or **Every** *N* **month(s) starting from** *month* **on day** *N*. |
| **Yearly**   | **On the** *nth* *weekday* **of** one or more months.                                                                                                                       |
| **Intraday** | **Every** *N* **hour(s) at** *N* **minute**.                                                                                                                                |

## Step 1: Open Scheduled runs

Open the campaign, go to its **Orchestration** view, and look below the canvas for **Scheduled runs**. Until you add one it reads *No runs created yet.* — a saved canvas with no run never executes on its own.

## Step 2: Create a run

Select **Create new run**. Where the canvas has unsaved changes, a **Save changes** dialog comes first — *You have unsaved changes.* — and **Save and continue** saves the canvas before the run dialog opens.

Fill in **Job name**, **Job type** and **Schedule type**, then the fields that schedule type reveals.

For a **Recurring** run, once the **Frequency** is complete the dialog lists the next run times as a row of date chips, capped at five, with **Show more runs** opening the full list. Check that row before you save — a schedule that reads correctly can still fire at the wrong time.

<Warning>
  **Job type defaults to Count.** A run left on the default counts the audience and does nothing else. Choose **Regular** for a run that acts on customers.
</Warning>

<Card title="Screenshot needed — sched-01: The Create new run dialog on a recurring schedule" icon="camera">
  **Where:** Campaigns → **Orchestration** → **Scheduled runs** → **Create new run**

  **Must show:** **Job name**, **Job type** on its default, **Schedule type** set to Recurring, the read-only **Time zone**, **Start date**, the **Frequency** fields, and the row of next-run chips with **Show more runs**.

  **Why this shot:** The default **Job type** and the next-run chips are the two things readers most often miss, and both are only visible in this dialog.

  *Placeholder — replace with the image once captured. 1440px, light theme, test data only.*
</Card>

## Step 3: Or run it now

The chevron beside **Save** above the canvas opens **Execute**, **Simulate** and **Count**. Each one saves the canvas first, then runs immediately and independently of any schedule. **Execute** reads **Save & Execute** while there are unsaved changes; **Simulate** and **Count** keep their own names.

<Info>
  **Not every entry is in every menu.** **Execute** and **Count** appear only where **Member segment** or **Seed** blocks are available to you, and **Simulate** only where **Personal offers** blocks are as well. On a campaign you can only read, the menu and the **Scheduled runs** panel are both absent.
</Info>

## What the Scheduled runs panel shows

One row per run:

| Column         | What it holds                                                      |
| -------------- | ------------------------------------------------------------------ |
| **Title**      | The **Job name** you gave it.                                      |
| **Job type**   | **Count**, **Regular** or **Simulation**.                          |
| **ID**         | The run's identifier.                                              |
| **Created At** | When the run was created, not when it fires.                       |
| **Runs from**  | The **Start date** — the execute date for a one-time run.          |
| **Runs to**    | The **End date**, or **No end date**.                              |
| **Frequency**  | **Daily**, **Weekly**, and so on; **Run once** for a one-time run. |

Selecting a row opens the run read-only, under its job name: **Job type**, **Start time** or **Execute Date**, **End date**, **Time zone**, and the coming fire times under a **Next runs** heading. **Close** dismisses it — nothing in it can be edited. The bin button at the end of a row deletes the run instead, after confirming *Are you sure you want to remove this trigger?*

## Check the result

Starting a run opens that execution straight away, in a dialog named after the job type — *Count execution*, *Regular execution*. It carries **Campaign**, **Executed by**, and **Execution** with the run's ID, its status and a percentage complete, followed by **Started at**. A finished run adds **Ended at**; one still going shows **Last updated at** and a **Stop** button. Any files the run produced appear under **Execution results**.

Every run then lands in the **Executions** list below the canvas, newest first, with **Job type**, **ID**, **Status**, **Started at**, **Ended at**, **Result summary** and **Executed by**. Selecting a row reopens the same dialog. Before the first run the list reads *There are no executions available*.

For run statuses and what each one means, see [Find and manage campaigns](/business-documentation/campaigns/find-and-manage-campaigns).

<Note>
  A campaign's own **Scheduled** / **Active** / **Expired** badge is worked out from the clock against the campaign's dates and re-checked continuously — it says nothing about whether a run exists or has ever fired. See [Create a campaign](/business-documentation/campaigns/create-a-campaign).
</Note>

## Troubleshooting

### The schedule passed and nothing happened

Check the run's **Job type**. It defaults to **Count**, which counts the audience without acting on it.

### The campaign is saved but has never run

**Scheduled runs** will read *No runs created yet.* Saving a canvas does not schedule it — either create a run, or start the flow by hand from the menu beside **Save**.

### Execute, Count or Simulate is greyed out

The tooltip names the missing block: *Add a Member Segment or Seed block to enable Execute and Count*, or *Add Personal Offer block and Member Segment or Seed block to enable Simulate*. An entry that is missing altogether, rather than greyed out, is not available to your tenant.

### Missing Data Detected appears when I run it

Two versions, and they behave differently:

* The **warning** says *Data from some attributes will not be considered when running the campaign. Please review the last update dates for these attributes and confirm if you wish to proceed without them.* **Proceed** runs it anyway, skipping the data-health check.
* The **error** says *Some segments have unavailable data. You cannot proceed until these are fixed. Please update the segment criteria or adjust the date range.* Its only other button is **Okay**, which just closes the dialog. Fix the segment criteria or the date range, then start the run again.

Both list **Total outdated attributes** and **Total blocks affected**.

### It ran but nobody got anything

Check the activity blocks are published — an unpublished activity is still Draft, and publishing is what makes it active. Then read the run's row: **Done with warning** means it finished but reported something on the way, and **Result summary** carries what it reported.

### I can't stop a run

**Stop** only shows while the run is still in progress. Once it reports **Done**, **Done with warning**, **Failed** or **Terminated**, the button is gone.

### An activity warns that its dates don't line up

An activity that starts after, or ends before, the flow around it drops customers — *"This block starts after … Some customers from … won't be directed here. Ensure the dates match or overlap."* Adjust the activity's dates, or the validity period the warning names.

### I can't see Orchestration at all

The **Orchestration** view is switched on per role. Where your roles don't include it, the view switcher shows only **List** and **Calendar**.

## Related

* [Create a campaign](/business-documentation/campaigns/create-a-campaign) — the campaign the runs sit inside
* [Orchestration canvas](/business-documentation/campaigns/orchestration-canvas) — building the flow that runs
* [Block reference](/business-documentation/campaigns/block-reference) — every block, and what each one needs
* [Find and manage campaigns](/business-documentation/campaigns/find-and-manage-campaigns) — finding a campaign and reading run statuses
