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

# Create Ad

> Low-level LinkedIn Ads ad creation

Low-level LinkedIn Ads ad creation. Forwards a raw LinkedIn creative body to the creatives endpoint as-is. Use the dedicated create nodes first (linkedin\_ads\_create\_image\_ad, create\_video\_ad, create\_document\_ad, create\_carousel\_ad, create\_text\_ad, create\_spotlight\_ad, create\_ad\_from\_post); this is the advanced fallback for formats or fields without one, such as event, follower, or jobs ads. Payloads with inlineContent are routed to createInline (dark post + creative in one call). Media URNs must already exist; upload via linkedin\_ads\_upload\_media. In LinkedIn's API an ad is a creative.

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

## Inputs

| Field        | Type             | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------ | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`    | DynamicAccount   | Yes      | -       | Select the LinkedIn Ads account to create the ad in.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `ad_payload` | object or string | Yes      | -       | Raw LinkedIn creative body, sent to LinkedIn as-is. Two shapes are supported: a creative referencing existing content (e.g. \{"campaign": "urn:li:sponsoredCampaign:123", "intendedStatus": "DRAFT", "content": \{"reference": "urn:li:ugcPost:456"}}), or a creative with "inlineContent": \{"post": \{...}} which creates the dark post and the creative in one call (routed to createInline automatically). Media URNs (urn:li:image/video/document) must already exist; upload them with linkedin\_ads\_upload\_media. Accepts a JSON object or JSON string. |
| `dry_run`    | boolean          | No       | `False` | When true, return the resolved creative body and endpoint without calling LinkedIn.                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

## Output

**Type**: `Dict`

Returns the created ad (creative) id, the forwarded payload, and whether it was created via createInline.

**Fields**: `ad_id`, `payload`, `inline_post`, `dry_run`
