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
| Argument | Type | Notes | |
|---|---|---|---|
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.
Related
Other audiences tools: