# Campaign Tasks

Module scope: everything involved in getting a campaign from a natural-language description to a validated, budgeted, ready-to-launch payload — chat intake, orchestration, validation, budget allocation, payload assembly, and the campaign dashboard. Platform-specific delivery (Meta/Google/TikTok/Taboola/LinkedIn adapters) lives in `docs/platform-tasks.md`; creative/ad-copy generation lives in `docs/creative-tasks.md`. See `docs/TASKS.md` for the full-program index.

Corresponds to `App\Models\Campaign` / `App\Models\CampaignCreative` and the campaign side of `docs/SERP-1827-PLAN.md`.

| Tasks | Hours |
|---|---|
| 7 | 188 |

---

## Id: 02
- **Phase:** Architecture
- **Priority:** P0
- **Area:** Product & Architecture
- **Task:** Define multi-platform campaign abstraction and normalized data model
- **Description:** Design a single internal representation of a "campaign" (budget, objective, targeting, schedule, creative, status) that can map to Meta, Google, TikTok, Taboola, and LinkedIn without leaking platform-specific quirks into the core app. This is the schema every adapter and every UI screen will read from.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 16

## Id: 05
- **Phase:** MVP
- **Priority:** P0
- **Area:** Chat Interface
- **Task:** Chat UI, conversation state, structured campaign form extraction and confirmation
- **Description:** Build the conversational front-end where a user describes a campaign in natural language, the system keeps track of the conversation across turns, extracts that into a structured campaign form, and shows the user a confirmation summary before anything is created.
- **Primary Role/Assignee:** Shyam
- **Estimated Hours:** 28

## Id: 06
- **Phase:** MVP
- **Priority:** P0
- **Area:** AI Orchestration
- **Task:** Intent detection, slot filling, validation, missing-field questions and deterministic tool routing
- **Description:** Build the orchestration layer that figures out what the user is trying to do, fills in required campaign fields (asking follow-up questions for anything missing), validates the result, and routes to the correct deterministic tool/adapter call — keeping the LLM's job to understanding intent, not deciding what code runs.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 28

## Id: 07
- **Phase:** MVP
- **Priority:** P0
- **Area:** Campaign Validation
- **Task:** Validate brand, budget, platform, objective, targeting, dates, currency and platform constraints
- **Description:** Add a validation layer that catches problems before a campaign ever reaches a platform API — wrong currency for the account, budget below platform minimums, targeting that doesn't exist on the chosen platform, invalid date ranges, objective/platform mismatches, etc.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 24

## Id: 11
- **Phase:** MVP
- **Priority:** P0
- **Area:** Budget Optimization
- **Task:** AI budget allocation across selected platforms with constraints, rationale and approval policy
- **Description:** Build the logic that splits a total campaign budget across the chosen platforms based on constraints (minimums, objective, historical performance), explains why it chose that split in plain language, and routes the allocation through an approval policy before it's applied.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 32

## Id: 12
- **Phase:** MVP
- **Priority:** P0
- **Area:** Campaign Builder
- **Task:** Generate title, description, copy, targeting, bids/settings and platform payloads
- **Description:** Assemble everything decided so far (creative, budget, targeting, validation) into the actual per-platform API payloads — titles, descriptions, ad copy, targeting rules, bid/budget settings — ready to hand off to each platform adapter.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 28

## Id: 20
- **Phase:** MVP
- **Priority:** P0
- **Area:** Campaign Dashboard
- **Task:** Show created campaigns, platform, budget, status, objective, creative, landing page and key KPIs
- **Description:** Build the dashboard listing all campaigns with their platform, budget, status, objective, associated creative/landing page, and headline KPIs — the main operational view for users to check what's running.
- **Primary Role/Assignee:** Unassigned
- **Estimated Hours:** 32
