MMetadata /docs
Docs/Tools/create_csv_upload_linkedin_native_audience

create_csv_upload_linkedin_native_audience

Create a **CSV Upload - LinkedIn Native** audience (platform `customAudienceType=NATIVE_TARGETING_CSV`).

Writes audiences

Creates or changes something in the account. Put it behind whatever review your agent uses.

What it does

Create a **CSV Upload - LinkedIn Native** audience (platform `customAudienceType=NATIVE_TARGETING_CSV`).

                AUDIENCE TYPE (mirrors the UI's "Audience Type" dropdown):
                  • UI label: "CSV Upload - LinkedIn Native"
                  • Platform enum: NATIVE_TARGETING_CSV
                  • Channel: LinkedIn only.
                  • Two-step flow handled server-side: the CSV is uploaded as a NATIVE ABM list, then the audience is created from it with the LinkedIn-native firmographics + contact criteria applied.

                PREREQUISITE:
                  • LinkedIn integration MUST be connected.

                WHEN TO USE (exact user phrasing this tool should match):
                  • "CSV Upload - LinkedIn Native"
                  • "Upload a CSV and target LinkedIn natively"
                  • "LinkedIn native audience from this CSV"
                  • The user attached a CSV of companies AND asked for LinkedIn-native targeting (employees / revenues / job titles / skills resolved via LinkedIn).

                WHEN NOT TO USE:
                  • If the user asked for a plain "CSV Upload - Accounts" → use `upload_account_list_csv_audience` (creates FIRMOGRAPHIC_INCLUDE, NOT LinkedIn-native).
                  • If the user asked for "Native Criteria - LinkedIn" without a CSV → use `create_linkedin_native_criteria_audience`.

                TWO WAYS TO SUPPLY THE ACCOUNT LIST — provide EXACTLY ONE of:
                  • `companies`: inline `{<companyname>: <companywebsite>}` map (short ad-hoc lists).
                  • `companies_source_csv_url`: URL of a CSV with header `companyname,companywebsite` (case-insensitive). The MCP server downloads, validates, and uploads it as a native ABM list.

                CRITERIA (all optional, LinkedIn-native shapes resolved server-side):
                  • employees — LinkedIn employee ranges (e.g. "201-500", "501-1000").
                  • revenues — LinkedIn revenue ranges (e.g. "$1M-$10M").
                  • company_names — free-text company names (resolved to LinkedIn IDs).
                  • location_country_ids — country IDs (e.g. 229=US).
                  • job_titles — free-text titles (resolved to LinkedIn IDs).
                  • skills — free-text skills (resolved to LinkedIn IDs).

                RETURNS: id, audience_id, audience_name, audience_type (NATIVE_TARGETING_CSV), status, abmSearchCriteriaId, companies_count, upload_filename, counts.

Arguments

ArgumentTypeNotes
audience_name string required Name for the new audience (required).
companies object Inline map of company names to website URLs (optional). MUTUALLY EXCLUSIVE with `companies_source_csv_url`. Example: {"Acme Corp": "https://acme.com"}
companies_source_csv_url string Public URL of a CSV with header EXACTLY `companyname,companywebsite` (case-insensitive). Use when the user attached a CSV to the chat — the URL comes via `AudienceBrief.attached_file_urls`. MUTUALLY EXCLUSIVE with `companies`.
location_country_ids array Country IDs for geographic targeting (optional). Valid IDs: 1 (Afghanistan), 2 (Albania), 3 (Algeria), 4 (American Samoa), 5 (Andorra), 6 (Angola), 7 (Anguilla), 8 (Antarctica), 9 (Antigua and Barbuda), 10 (Argentina), 11 (Armenia), 12 (Aruba), 13 (Australia), 14 (Austria), 15 (Azerbaijan), 16 (Baha
employees array LinkedIn employee count ranges for audience targeting. Valid values: 1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, +10001. Example: ['201-500', '501-1000']
revenues array LinkedIn revenue ranges for audience targeting. Valid values: Under $1M, $1M-$10M, $10M-$100M, $100M-$1B, $1B+. Example: ['$1M-$10M', '$10M-$100M']
company_names array Free-text company names (resolved to LinkedIn company IDs). Example: ['Metadata', 'Google']
job_titles array Free-text job titles (resolved to LinkedIn job-title IDs). Example: ['Software Engineer', 'Product Manager']
skills array Free-text professional skills (resolved to LinkedIn skill IDs). Example: ['HubSpot', 'Salesforce']

Request

Request template, not a complete runnable example. Replace placeholders, empty objects, arrays, and zero values with valid account-specific inputs. Read required fields and nested constraints in the full schema. Confirm the account, connected channels, and referenced assets before calling a write tool.

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_csv_upload_linkedin_native_audience","arguments":{"audience_name":"<audience_name>"}}}'

Response

No recorded response. This tool writes to the account, so it is never executed to build these docs. The request is an illustrative template. Fill required fields and check the current schema before calling it. No response is fabricated.

Other audiences tools:

Browse the tool catalog · machine-readable index