Google: Manage Campaign Template (create / update / delete)
adsap_google_manage_ad_templateCreate, update, or delete a saved Google campaign template (the wizard-saved setups adsap_google_list_ad_templates reads: budget, bidding, geo, languages, ad text, extensions, asset picks — per channel: search, pmax, demand_gen, shopping, app, display). Every write is validated against the exact wizard shape for the channel, so chat-written templates always load cleanly in the ADSAP web wizards. Update: pass payload_patch to merge top-level fields (null removes a field) and/or name to rename. Templates whose payload carries uploaded asset ids are account-bound and need customer_id; without asset ids they are portable across accounts. dry_run defaults TRUE: preview, confirm with the user, then call again with dry_run:false. Templates are launch presets only — deleting one never touches live campaigns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Template name. Required for create; optional rename on update. | |
| action | Yes | "create" a new template, "update" an existing one (rename and/or patch its payload), or "delete" one permanently. | |
| channel | No | Required for create. The campaign channel the template belongs to (a template never changes channel). | |
| dry_run | No | TRUE (default) = preview only: shows the validated payload / merged result that would be stored. Set false to apply. | |
| payload | No | Required for create: the full wizard-shaped payload for the channel (same camelCase fields adsap_google_list_ad_templates returns — read an existing template of that channel to see the shape). Validated against the wizard schema; invalid shapes are rejected with field detail. | |
| customer_id | No | Required when the payload carries uploaded asset ids (slotAssets/imageAssets/videoAssets) — those only exist in one account, so the template gets bound to it. Omit for portable (no-asset) templates. | |
| template_id | No | Required for update/delete. The template id from adsap_google_list_ad_templates. | |
| payload_patch | No | Update only: TOP-LEVEL merge into the stored payload. Only the keys you pass change; pass null as a value to REMOVE that key. The merged result is re-validated as a whole. |