Inputs
SelectableOption
Output
Type:Dict
Returns the updated ad object exactly as returned by the OpenAI Ads API. In dry_run mode, returns the resolved payload without calling the API.
Fields: dynamic (depend on the inputs)
Example:
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Low-level update for an OpenAI Ads ad using a raw update payload
| App | OpenAI Ads |
| Operation ID | openai_ads_update_ad |
| Type | Action |
| Connection | openai_ads (required) |
| Credits per run | 1 |
| Agent / MCP tool | Yes |
| Requires approval | Yes (write operation) |
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
ad_id | string or SelectableOption | Yes | - | Ad ID to update (from openai_ads_list_ads). Do not include this inside update_payload. |
update_payload | object or string | Yes | - | OpenAI Ads ad update payload as an json object. Only the fields provided here are sent to OpenAI Ads. If you include creative, send the full creative object. Use focused operations first when they exist, for example openai_ads_update_ad_status or openai_ads_rename_ad. Do not include identity fields like ad_id or id. |
dry_run | boolean | No | False | When true, return the resolved update payload without calling OpenAI Ads. |
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | Yes | - | |
label | string | Yes | - |
Dict
Returns the updated ad object exactly as returned by the OpenAI Ads API. In dry_run mode, returns the resolved payload without calling the API.
Fields: dynamic (depend on the inputs)
Example:
{
"id": "ad_...",
"name": "Planner launch card v2",
"status": "paused",
"creative": {
"type": "chat_card",
"title": "Plan work faster",
"target_url": "https://example.com"
},
"review_status": "in_review"
}
