# Work on a saved media plan in a sheet

> Tier: recipe. Operating recipe: real tool sequence, core rules, known traps.

Writes a saved Get MCP Ads media plan into a sheet (lines, platforms, flights, budgets, targets, campaign names and the plan's checks), reads the team's edits back, applies them to the plan with update_media_plan at the plan's revision, and shows the plan's checks again. Launching stays in the media plan's own preparation and approval.

**Intent.** The plan the gateway checks, laid out in a sheet the team can edit, with every edit going back to the plan before anything launches.

## When to use

- Someone asks to see or edit a media plan in a spreadsheet, or to share the plan's lines with the team as a sheet.
- A plan imported from a file that the team wants to adjust line by line before launch.

## When not to use

- Creating the plan from a file: import it first with import_media_plan, then lay it out.
- Launching from the sheet: the launch is prepared and approved from the plan, never from cells.
- Hosts without a sheet Claude can write (no Claude Sheets, no spreadsheet connector): show the same rows as a table in the conversation and take the edits there.

## Sources

Required: any connected source

## Preconditions

- The account is among the chosen accounts, confirmed via list_accounts.

## Inputs

- `plan` (required): The saved media plan, by name or ID, in its workspace.

## Procedure

1. Read the plan with get_media_plan: its lines, flights, budgets, targets, naming rule, totals and checks, and its revision.
2. Write the sheet: one row per plan line (platform, objective, flight, start and end, daily and total budget, target, creatives, campaign name), the plan's totals by platform and by flight below, and the checks on their own tab with what passes and what to look at.
   Campaign names come from the plan's naming rule: write the names the plan gives, and leave a line without a name when the plan says a part is missing.
3. When the team says the edits are ready, read the sheet again and list the lines whose budget, dates, status, destination or creatives changed.
4. Show those edits in the conversation, then apply them with update_media_plan at the revision read, after the person confirms.
5. Read the plan again with get_media_plan, write its new totals and checks into the sheet, and name the checks that still need a decision.
6. When the person asks to launch, prepare it from the plan with prepare_media_plan_launch and its own approval, and write each line's launch status and campaign back into the sheet once it is created.

## Decision rules

- **When** update_media_plan refuses the edits because the plan changed since its revision → **conclude** Someone else edited the plan: read it again, rewrite the sheet, and redo the edits on the new revision with the person.
- **When** A line's budget is under the platform's minimum, or a line has no creatives → **conclude** The plan's checks say so: keep the line, write the check next to it, and let the person decide before launch.
- **When** The sheet's totals differ from the plan's → **conclude** The plan's totals are the reference: rewrite the sheet's totals from get_media_plan rather than trusting a formula someone edited.

## Evidence requirements

- Totals and checks are the plan's own, read after the last edit.
- Every line keeps its plan line ID so edits go back to the right line.

## Human approval boundary

- Edits reach the plan only after the person confirms them; nothing launches without the plan's own launch approval, and everything is created paused.

## Failure modes

- Reading the sheet as live data: its cells are what was read at the time written in its header, never a link to the platform. Read the platform again before any preview.
- Editing the plan from cells without the plan's revision: a concurrent edit would be silently overwritten.
- Writing a campaign name by hand when the plan's naming rule gives one: the launch uses the plan's names.

## Output

- **Sheet**: The plan's lines, totals by platform and flight, and its checks.
- **Edits**: The lines changed, applied at the plan's revision, and the checks that still need a decision.

## Related

- Skill: [bulk-editor-in-a-sheet](https://www.getmcpads.com/skills/bulk-editor-in-a-sheet.md)
