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

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 above is still the exact shape to send. Nothing on this page is invented.

Other audiences tools:

All 160 tools · machine-readable index