> ## 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 Campaign

> Low-level LinkedIn Ads campaign update

Low-level LinkedIn Ads campaign update. Forwards a raw LinkedIn campaign-group partial-update body to adCampaignGroups as-is. Use the dedicated status/budget/rename nodes first; this is the advanced fallback for fields without one. In LinkedIn's API these are campaign groups; LinkedIn's newer UI naming calls them campaigns.

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

## Inputs

| Field            | Type                 | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------- | -------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`        | DynamicAccount       | Yes      | -       | Select the LinkedIn Ads account that owns the campaign.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `campaign_id`    | string or SelectItem | Yes      | -       | The campaign to update. In LinkedIn's API this is a campaign group (adCampaignGroups). The id goes in the request path, not in update\_payload.                                                                                                                                                                                                                                                                                                                                                                                                     |
| `update_payload` | object or string     | Yes      | -       | Raw LinkedIn campaign-group partial-update body, sent to LinkedIn as-is. Use LinkedIn's documented shape: \{"patch": \{"$set": \{...}, "$delete": \[...]}}. Prefer the dedicated nodes when they exist (linkedin\_ads\_update\_campaign\_status, linkedin\_ads\_update\_campaign\_budget, linkedin\_ads\_rename\_campaign). For budgets you must include the full amount object, e.g. \{"\$set": \{"totalBudget": \{"amount": "100", "currencyCode": "USD"}}} -- this node does not resolve currency for you. Accepts a JSON object or JSON string. |
| `dry_run`        | boolean              | No       | `False` | When true, return the resolved update body without calling LinkedIn.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

### 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 the campaign id, the forwarded payload, and LinkedIn's response.

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