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

# Update Ad Group

> Low-level update for an OpenAI Ads ad group using a raw update payload

Low-level update for an OpenAI Ads ad group using a raw update payload. Use focused ad group nodes first when available, such as status, bid, context hints, or rename.

|                       |                              |
| --------------------- | ---------------------------- |
| **App**               | OpenAI Ads                   |
| **Operation ID**      | `openai_ads_update_ad_group` |
| **Type**              | Action                       |
| **Connection**        | `openai_ads` (required)      |
| **Credits per run**   | 1                            |
| **Agent / MCP tool**  | Yes                          |
| **Requires approval** | Yes (write operation)        |

## Inputs

| Field            | Type                       | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------- | -------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ad_group_id`    | string or SelectableOption | Yes      | -       | Ad group ID to update (from openai\_ads\_list\_ad\_groups). Do not include this inside update\_payload.                                                                                                                                                                                                                                                                                                                                                                            |
| `update_payload` | object or string           | Yes      | -       | OpenAI Ads ad group update payload as a JSON object. Only the fields provided here are sent to OpenAI Ads. If you include bidding\_config, send the full bidding\_config object. Use focused operations first when they exist, for example openai\_ads\_update\_ad\_group\_status, openai\_ads\_update\_ad\_group\_bid, openai\_ads\_update\_ad\_group\_context\_hints, or openai\_ads\_rename\_ad\_group. Do not include identity fields like ad\_group\_id, campaign\_id, or id. |
| `dry_run`        | boolean                    | No       | `False` | When true, return the resolved update payload without calling OpenAI Ads.                                                                                                                                                                                                                                                                                                                                                                                                          |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns the updated ad group 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**:

```json theme={"dark"}
{
  "id": "adgrp_...",
  "name": "US English v2",
  "status": "active",
  "bidding_config": {
    "billing_event_type": "click",
    "max_bid_micros": 5000000
  },
  "updated_at": 1735862400
}
```
