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

# Schedule Campaign

> Super Admin schedules a setup reminder campaign for creditors with incomplete setup.

## Real-World Example

Super Admin schedules a setup reminder campaign for creditors with incomplete setup. The campaign waits until the selected time, then sends only to the selected group.

## Visual Flow

```mermaid placement="top-right" actions={true} theme={"system"}
flowchart TD
    A["Super Admin selects audience"] --> B["Super Admin selects template"]
    B --> C["Schedule time is selected"]
    C --> D["Campaign waits until scheduled time"]
    D --> E["Messages are sent"]
    E --> F["Tracker is updated"]
    classDef default fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef actor fill:#E0F2FE,stroke:#0284C7,stroke-width:2px,color:#0C4A6E;
    classDef system fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef decision fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F;
    classDef risk fill:#FEE2E2,stroke:#DC2626,stroke-width:2px,color:#7F1D1D;
    classDef outcome fill:#DCFCE7,stroke:#16A34A,stroke-width:2px,color:#14532D;
    class A actor;
    class B,C,D system;
    class E,F outcome;
    linkStyle default stroke:#94A3B8,stroke-width:2px;
```

## How It Should Work

* It should allow audience, template, and schedule selection.
* It should process the campaign at the selected time.
* It should create tracking data for campaign results.

## How It Should Not Work

* It should not send before the scheduled time.
* It should not send duplicate messages for the same campaign.
* It should not send to recipients outside the selected audience.

## Developer Notes

* Campaign scheduling can involve background jobs.
* Keep campaign tracker status aligned with send results.

## Related App Areas

* `routes/superadmin.php`
* `app/Livewire/Creditor/Communications/Campaign`
* `app/Console/Commands/RunCampaignCommand.php`
