> ## 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 Asset Group

> Fallback Microsoft Ads asset group update tool for Performance Max asset groups

Fallback Microsoft Ads asset group update tool for Performance Max asset groups. This calls REST UpdateAssetGroups with PUT /AssetGroups, but sends a partial AssetGroup object: the runner supplies CampaignId and AssetGroups\[0].Id, then merges only the fields in update\_payload. Use care with nested asset collections like Headlines, Descriptions, or Images because Microsoft replaces the entire submitted collection. Supports dry-run review.

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

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | object or array of object or MicrosoftAdsAccountItem or string or integer | Yes | - | Select the Microsoft Ads account that contains the asset group. |
| `campaign_id` | string or SelectItem | Yes | - | The Performance Max campaign ID that contains the asset group. Do not include this inside update\_payload. |
| `asset_group_id` | string or SelectItem | Yes | - | The Microsoft Ads asset group ID to update. Do not include this inside update\_payload. |
| `update_payload` | object or string | Yes | - | Partial Microsoft Ads AssetGroup object as JSON. This uses the REST UpdateAssetGroups endpoint: the runner sends CampaignId and AssetGroups\[0].Id separately, then merges only the fields provided here. Do not include identity fields such as CampaignId, Id, asset\_group\_id, campaign\_id, account, or connection\_id. Use care with nested asset collections such as Headlines, Descriptions, or Images because Microsoft replaces the entire submitted collection. Example payloads: \{"Status": "Paused"} or \{"FinalUrls": \["`https://example.com`"]} or \{"BusinessName": "Contoso", "CallToAction": "ShopNow"} |
| `dry_run` | boolean | No | `False` | When true, return the resolved Microsoft Ads UpdateAssetGroups payload without calling Microsoft Ads. |

### MicrosoftAdsAccountItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |
| `customerId` | string | No | - | The Microsoft Ads customer ID used for REST CustomerId headers. If omitted, it is resolved from the account ID. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns campaign\_id, asset\_group\_id, updated\_fields, final Microsoft Ads UpdateAssetGroups payload, dry\_run status, and any returned Microsoft response data.

**Fields**: `campaign_id`, `asset_group_id`, `updated_fields`, `payload`, `dry_run`, `response`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.