create_linkedin_carousel_campaign

LinkedIn Ads Write

**USE THIS TOOL WHEN:** User wants to create a LinkedIn CAROUSEL ad campaign (2-10 swipeable image cards)

Endpoint

POST https://api.adspirer.ai/api/v1/tools/create_linkedin_carousel_campaign/execute

Headers

Description

**USE THIS TOOL WHEN:** User wants to create a LinkedIn CAROUSEL ad campaign (2-10 swipeable image cards). **DO NOT USE for image ads** → use `create_linkedin_image_campaign` instead. **DO NOT USE for video ads** → use `create_linkedin_video_campaign` instead. **DO NOT USE for text ads** → use `create_linkedin_text_campaign` instead. **REQUIRED:** Either `campaign_group_name` (creates new group) or `campaign_group_id` (adds to existing group). IMPORTANT: This creates the campaign with 1 creative (Variation 1). Campaign is created in PAUSED status. Carousel Specifications: - 2-10 cards required (3-5 is the sweet spot) - All images must be 1080x1080 (1:1 aspect ratio) - Each card has: image, headline (max 45 chars), landing page URL - Introductory text max: 255 characters Required Parameters: - campaign_name, daily_budget, organization_id - introductory_text (up to 255 chars), landing_page_url (overall) - cards: Array of 2-10 cards, each with image (urn or url), headline, landing_page_url - locations (targeting) - campaign_group_name OR campaign_group_id Default Objective: WEBSITE_VISIT AD POLICY: NEVER use "LinkedIn" in ad copy. NEVER mention competitor platforms. **After Creation — IMPORTANT:** - This tool created 1 campaign + 1 creative. Campaign Group ID is returned. - To add MORE carousel creatives (A/B test text): use `add_linkedin_carousel_creative` with the campaign_id - To add MORE campaigns (different audience): use `add_linkedin_campaign_to_group` with the campaign_group_id - NEVER call this create tool again without campaign_group_id — that creates a SEPARATE campaign group Execution time: 15-60 seconds (includes image uploads)

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
campaign_namestring requiredCampaign name (will be automatically suffixed with timestamp for uniqueness)
daily_budgetnumber requiredDaily budget in account currency (minimum 10/day for LinkedIn). Set currency field if not USD.
organization_idstring requiredLinkedIn Organization (Company Page) ID.
cardsarray requiredList of 2-10 carousel cards. Each card needs: image (urn or url, 1080x1080), headline (max 45 chars), landing_page_url (HTTPS).
introductory_textstring requiredMain ad text (up to 255 characters for carousel ads).
landing_page_urlstring requiredOverall carousel landing page URL. Must be HTTPS.
call_to_actionstring optionalCall-to-action button label. default: "LEARN_MORE"
campaign_group_idstring optionalExisting Campaign Group ID to add this campaign to. If provided, campaign_group_name is NOT needed.
campaign_group_namestring optionalName for a NEW campaign group (REQUIRED if campaign_group_id not provided). Example: 'Q2 Carousel Ads'. Max 100 characters.
objectivestring optionalCampaign objective. Default: WEBSITE_VISIT. Options: BRAND_AWARENESS, ENGAGEMENT, WEBSITE_VISIT, WEBSITE_CONVERSION. default: "WEBSITE_VISIT"
locationsarray requiredList of LinkedIn location URNs to target. Required.
industriesarray optionalOptional list of industry URNs.
senioritiesarray optionalOptional list of seniority level URNs.
job_titlesarray optionalOptional list of job title URNs.
company_sizesarray optionalOptional list of company size URNs.
skillsarray optionalOptional list of skill URNs.
job_functionsarray optionalOptional list of job function URNs.
interestsarray optionalOptional list of interest URNs.
degreesarray optionalOptional list of degree URNs.
fields_of_studyarray optionalOptional list of field of study URNs.
employersarray optionalOptional list of employer URNs.
member_groupsarray optionalOptional list of LinkedIn group URNs.
age_rangesarray optionalOptional list of age range URNs.
gendersarray optionalOptional list of gender URNs.
schoolsarray optionalOptional list of school URNs.
member_behaviorsarray optionalOptional list of member behavior URNs.
years_of_experiencearray optionalOptional list of years of experience URNs.
followed_companiesarray optionalOptional list of followed company URNs.
buyer_groupsarray optionalOptional list of buyer group URNs (API 2026-03+).
account_idstring optionalLinkedIn Ad Account ID. Required for multi-account users. Get from list_connected_accounts.
currencystring optionalCurrency code. Default: USD. default: "USD"
statusstring optionalInitial campaign status. Default: PAUSED. default: "PAUSED"
locale_countrystring optionalCampaign locale country (ISO-3166). Default: US. default: "US"
locale_languagestring optionalCampaign locale language (ISO-639). Default: en. default: "en"
start_datestring optionalOptional start date in ISO format.
end_datestring optionalOptional end date in ISO format.
total_budgetnumber optionalOptional total lifetime budget.
creative_namestring optionalName for the first creative. E.g. 'Product Showcase - Carousel 1'. Defaults to '{campaign_name} - Ad 1'.

Example request

{
  "arguments": {
    "campaign_name": "string",
    "daily_budget": 10.0,
    "organization_id": "string",
    "cards": [
      {
        "image_urn": "string",
        "image_url": "string",
        "headline": "string",
        "landing_page_url": "https://example.com"
      }
    ],
    "introductory_text": "string",
    "landing_page_url": "https://example.com",
    "locations": [
      "string"
    ],
    "call_to_action": "LEARN_MORE",
    "campaign_group_id": "string",
    "campaign_group_name": "string",
    "objective": "WEBSITE_VISIT",
    "industries": [
      "string"
    ],
    "seniorities": [
      "string"
    ]
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for create_linkedin_carousel_campaign)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "create_linkedin_carousel_campaign"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "create_linkedin_carousel_campaign"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "create_linkedin_carousel_campaign",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai