MCP Tool Reference | Synter Docs
Tool Reference
All 136 tools available to your AI assistant through MCP, organized by category. Hosted catalog version 2026-08-31.
How tools work
get_credit_balance.Catalog scope
https://mcp.syntermedia.ai. It is generated from the current hosted tool manifest, including input schemas and read/write annotations. The versioned @synterai/mcp-server local compatibility package exposes a smaller tool set; pin its npm version and use that release's README when local stdio transport is required.Beyond these tools: execute()
execute in the Advanced category is a general-purpose escape hatch into a much larger internal script library (several hundred platform-specific actions) — use list_available_scripts to browse it and inspect_script to see an action's exact arguments before calling it.Getting Started
2Start onboarding - create account and get API key (no auth required)
Parameters
emailstringrequiredYour work email address
Check onboarding progress - poll until ready (no auth required)
Parameters
session_tokenstringrequiredThe session token returned by synter_onboarding_start
Account & Connections
5See ALL connected accounts: ad platforms, analytics (GA4, PostHog), CRM (HubSpot, Attio), and more (free)
No parameters required.
Verify which ad account each platform's pull tools would use by default, with recent activity per connected account. Flags when the default account is dormant while a sibling account has spend (free). Call this before pull_*_performance when a platform has multiple accounts or returns suspicious zeros.
Parameters
platformstringOptional platform filter (e.g. "X", "REDDIT", "GOOGLE"). Omit to verify all connected ad platforms.
daysnumberActivity window in days (default: 7).
Check ALL platform connections: ad platforms, analytics (GA4, PostHog), CRM (HubSpot, Attio), and more (free)
No parameters required.
Check your credit balance and pricing (free)
No parameters required.
Check the status of an async job (e.g. audience sync). Returns job status, result on success, or error on failure. Free - no credits charged.
Parameters
job_idstringrequiredThe job ID returned by the async tool (UUID format)
Performance Reporting
24Get Google Ads campaign metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges like weekends, or days for a rolling window. IMPORTANT: If the user has multiple Google Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window. Explicit start_date/end_date take precedence.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_dayslevelstringData granularity (default: campaigns)
campaignsad-groupskeywordsadssearch-termsaccount_idstringOptional specific Google Ads customer ID. If not provided, uses the user's primary connected account.
account_namestringOptional account name for disambiguation when multiple accounts are connected. Pass the name the user mentions (e.g., "leafypod") — the system will match it.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Get Meta (Facebook/Instagram) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. IMPORTANT: If the user has multiple Meta Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window. Explicit start_date/end_date take precedence.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_dayslevelstringData granularity (default: campaign)
campaignad-setadaccount_idstringOptional specific Meta ad account ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Proof Pack: read a launched ad's creative + CTA back from the platform API (the source of truth) and verify the CTA against the platform enum and the copy against ad policy (2 credits). Meta supported today; other platforms return a clearly-labeled unsupported result.
Parameters
platformstringrequiredPlatform the ad was launched on (e.g. "meta").
ad_idstringrequiredThe platform ad ID returned by upload_creative / create_*_ad.
account_idstringOptional specific ad-account ID holding the ad.
approved_ctastringOptional brief-approved CTA to verify the launched CTA against.
Get LinkedIn Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. Pass campaign_group_ids (comma-separated) to filter to specific campaign groups. IMPORTANT: If the user has multiple LinkedIn accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific LinkedIn ad account ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
campaign_group_idsstringOptional comma-separated LinkedIn Campaign Group IDs to filter by; only campaigns within these groups are returned.
Get X (Twitter) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. IMPORTANT: If the user has multiple X Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific X Ads account ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Get Reddit Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. IMPORTANT: If the user has multiple Reddit Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific Reddit ad account ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Get Microsoft (Bing) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. IMPORTANT: If the user has multiple Microsoft Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific Microsoft Ads account ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Get TikTok Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. For detailed video engagement metrics use tiktok_ads_get_insights. IMPORTANT: If the user has multiple TikTok Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Pull Amazon DSP campaign performance data (2 credits)
Parameters
daysnumberNumber of days to look back (default: 30, max: 90)
account_idstringOptional specific Amazon DSP advertiser ID
account_namestringOptional account name for disambiguation.
Get Amazon Ads (Sponsored Products/Brands/Display) metrics (2 credits). When counting 'live' campaigns, only count campaigns with state=ENABLED AND active ad groups with budget remaining — ARCHIVED campaigns are NOT active. IMPORTANT: If the user has multiple Amazon Ads accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberNumber of days to look back (default: 30, max: 90)
ad_typestringAd type filter (default: ALL)
SPSBSDALLaccount_idstringOptional specific Amazon Ads profile ID
account_namestringOptional account name for disambiguation.
Get Pinterest Ads metrics (2 credits). IMPORTANT: If the user has multiple Pinterest ad accounts connected, you MUST ask which account to use BEFORE calling this tool — pass account_name to select it.
Parameters
daysnumberlevelstringaccount_idstringaccount_namestringGet Snapchat Ads metrics (2 credits). Use account_name to specify which account when multiple are connected.
Parameters
daysnumberlevelstringaccount_idstringaccount_namestringGet Spotify Ads metrics (2 credits). Use account_name to specify which account when multiple are connected.
Parameters
daysnumberaccount_idstringaccount_namestringGet OpenAI Ads metrics (2 credits). Pulls insights from the OpenAI Ads API. Optional scope: campaign_id, ad_group_id, or ad_id to scope the report. Defaults to the selected scope's natural aggregation level; unscoped defaults to ad_account.
Parameters
daysnumberHow many days back to pull (1-365). Defaults to 30.
campaign_idstringOptional — scope insights to one campaign.
ad_group_idstringOptional — scope insights to one ad group.
ad_idstringOptional — scope insights to one ad.
aggregation_levelstringDefaults to ad_account.
ad_accountcampaignad_groupadtime_granularitystringDefaults to script default.
dailynonelimitnumberMax rows to return (defaults to 1000).
account_idstringOptional OpenAI Ads account ID (when multiple connected).
account_namestringOptional friendly account name selector.
Get The Trade Desk metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. Use account_name to specify which account when multiple are connected.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific Trade Desk partner ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Get FreeWheel Buyer Cloud (Beeswax) metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days), start_date/end_date (YYYY-MM-DD) for custom ranges, or days for a rolling window. Use account_name to specify which account when multiple are connected.
Parameters
daysnumberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.
date_rangestringOptional preset window.
todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_daysaccount_idstringOptional specific FreeWheel connection account id.
account_namestringOptional account name for disambiguation.
start_datestringOptional fixed window start (YYYY-MM-DD). Requires end_date.
end_datestringOptional fixed window end (YYYY-MM-DD). Requires start_date.
Cross-platform reconciliation MVP — compares Google Ads ↔ Trade Desk totals for a date range, returns normalized per-platform metrics, discrepancies, and deterministic likely-cause explanations (3 credits). Read-only. Date range capped to 92 days.
Parameters
start_datestringrequiredYYYY-MM-DD (inclusive)
end_datestringrequiredYYYY-MM-DD (inclusive, must be <= yesterday)
google_account_idstringOptional Google Ads customer ID
google_account_namestringOptional Google account name for disambiguation
ttd_advertiser_idstringOptional Trade Desk advertiser ID
ttd_account_namestringOptional TTD account name for disambiguation
Get Display & Video 360 (DV360) metrics (2 credits). Use account_name to specify which account when multiple are connected.
Parameters
daysnumberaccount_idstringaccount_namestringGet Campaign Manager 360 (CM360) metrics (2 credits). Use account_name to specify which account when multiple are connected.
Parameters
daysnumberaccount_idstringaccount_namestringGet Walmart Connect Advertising metrics (2 credits). Returns impressions, clicks, spend, conversions, and ROAS per campaign.
Parameters
daysnumberaccount_idstringaccount_namestringGet Instacart Ads metrics (2 credits). Returns impressions, clicks, spend, attributed orders, and attributed sales per campaign.
Parameters
daysnumberaccount_idstringaccount_namestringGet Target Roundel retail media metrics (2 credits). Returns impressions, clicks, spend, conversions, and revenue per campaign.
Parameters
daysnumberaccount_idstringaccount_namestringGet Criteo Commerce Media metrics (2 credits). Returns displays, clicks, cost, conversions, and revenue per campaign.
Parameters
daysnumberaccount_idstringaccount_namestringPull LinkedIn Ads Company Engagement report — shows which companies have seen your ads and how engaged they are (2 credits)
Parameters
account_idstringLinkedIn Ads account ID (uses connected account if omitted)
daysnumberLook-back window in days (default: 90)
audience_idstringOptional dmpSegment ID — scope analytics to this audience
countrystringISO country code filter, e.g. "US" or "GB"
min_employeesnumberFilter companies with at least this many employees
max_employeesnumberFilter companies with at most this many employees
engagement_levelstringComma-separated tier filter: "VERY_HIGH,HIGH" or "MEDIUM,LOW"
limitnumberMaximum companies to return (default: 200)
TikTok Ads (Detailed)
6Get TikTok Ads performance report with video metrics (2 credits). Returns spend, impressions, clicks, CTR, conversions, CPA, ROAS, and TikTok-specific video engagement metrics per campaign/adgroup/ad.
Parameters
daysnumberNumber of days to look back (default: 7)
data_levelstringData level (default: AUCTION_CAMPAIGN)
AUCTION_CAMPAIGNAUCTION_ADGROUPAUCTION_ADaccount_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
Get full TikTok ad group configuration (free). Returns targeting, budget, bid, pixel, optimization goal, languages, locations, age groups, identity.
Parameters
adgroup_idstringrequiredThe ad group ID to fetch
account_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
List all TikTok ad groups, optionally filtered by campaign (free). Returns ID, name, status, budget, bid, optimization goal.
Parameters
campaign_idstringOptional campaign ID to filter ad groups
account_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
List all TikTok ads, optionally filtered by ad group (free). Returns ad_id, ad_name, adgroup_id, campaign_id, status, ad_format.
Parameters
adgroup_idstringOptional ad group ID to filter ads
account_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
Update a TikTok ad group: status, budget, locations, age targeting, bid, languages, audiences, optimization goal, pixel tracking (5 credits)
Parameters
adgroup_idstringrequiredThe ad group ID to update
statusstringNew status
ENABLEPAUSEbudgetnumberDaily budget in dollars
locationsstringSpace-separated location IDs (e.g. "6252001 2635167" for US, UK)
age_minnumberMinimum age (e.g. 25). Mapped to TikTok age groups.
age_maxnumberMaximum age (e.g. 55). Use 0 for no upper limit (55+).
bidnumberBid price in dollars
bid_typestringBid strategy
BID_TYPE_NO_BIDBID_TYPE_CUSTOMlanguagesstringSpace-separated language codes (e.g. "en fr de")
audience_idsstringComma-separated custom audience IDs to include
excluded_audience_idsstringComma-separated custom audience IDs to exclude
optimization_goalstringOptimization goal
CLICKCONVERTSHOWREACHVIDEO_VIEWENGAGED_VIEWLEAD_GENERATIONINSTALLIN_APP_EVENTpixel_idstringPixel ID for conversion tracking (numeric or alphanumeric pixel_code)
conversion_eventstringConversion event name (e.g. CompleteRegistration, Purchase). Auto-mapped to TikTok enum.
account_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
Get full TikTok campaign configuration by ID (free). Returns name, objective, budget, status, timestamps.
Parameters
campaign_idstringrequiredThe campaign ID to fetch
account_idstringOptional specific TikTok advertiser ID
account_namestringOptional account name for disambiguation.
Campaign Management
6List campaigns for any ad platform (2 credits)
Parameters
platformstringrequiredAd platform
googlemetalinkedinredditmicrosofttiktokxamazon_dspaccount_idstringOptional specific account ID for the platform
statusstringOptional filter by status
ENABLEDPAUSEDREMOVEDaccount_namestringOptional name to select which account when multiple are connected for the same platform
Pause a campaign on any ad platform (2 credits)
Parameters
platformstringrequiredAd platform
googlemetalinkedinredditmicrosofttiktokxamazon_dspcampaign_idstringrequiredThe campaign ID to pause
account_idstringOptional specific account ID
account_namestringOptional name to select which account when multiple are connected for the same platform
Create a Meta (Facebook/Instagram) ad in an existing ad set (5 credits)
Parameters
adset_idstringrequiredParent ad set id. A single real id — wildcards are rejected.
namestringrequiredAd name.
creative_idstringExisting creative id to reuse.
page_idstringFacebook Page id, required when building a new creative.
linkstringDestination URL for a new creative.
messagestringPrimary text.
headlinestringHeadline text.
descriptionstringDescription text.
call_to_actionstringCTA enum, e.g. LEARN_MORE, SIGN_UP, SHOP_NOW.
image_urlstringImage URL to upload.
image_hashstringPre-uploaded image hash (alternative to image_url).
video_idstringVideo asset id.
instagram_user_idstringInstagram account id for IG placements.
statusstringDefaults to PAUSED — new ads should be reviewed before they spend.
ACTIVEPAUSEDaccount_idstringSpecific ad account id.
account_namestringSelect among several connected Meta accounts by name.
Create a Reddit ad from an existing post in an ad group (5 credits)
Parameters
ad_group_idstringrequiredParent ad group id. A single real id — wildcards rejected.
post_idstringrequiredThe post to promote, e.g. t3_1vbvcb7.
namestringAd name.
click_urlstringDestination URL. Reddit rejects a click_url on free-form (TEXT) posts — only link posts carry one.
statusstringDefaults to PAUSED.
ACTIVEPAUSEDcampaign_namestringCampaign name used for UTM auto-append.
no_utmbooleanSkip UTM auto-append.
account_idstringSpecific ad account id.
account_namestringSelect among several connected Reddit accounts by name.
Enable/resume a paused campaign on any ad platform (2 credits)
Parameters
platformstringrequiredAd platform
googlemetalinkedinredditmicrosofttiktokxamazon_dspcampaign_idstringrequiredThe campaign ID to enable
account_idstringOptional specific account ID
account_namestringOptional name to select which account when multiple are connected for the same platform
Update a campaign's daily budget (5 credits)
Parameters
platformstringrequiredAd platform
googlemetalinkedinredditmicrosofttiktokxamazon_dspcampaign_idstringrequiredThe campaign ID to update
daily_budgetnumberrequiredNew daily budget in account currency (e.g., 50.00 for $50/day)
account_idstringOptional specific account ID
account_namestringOptional name to select which account when multiple are connected for the same platform
Google Tag Manager
5List Google Tag Manager accounts and containers for the connected GTM user (2 credits). Returns each account's id/name and its containers' id/name/publicId.
No parameters required.
List the tags in a GTM container (2 credits). Returns tag summaries: tagId, name, type, paused. Pass account_id/container_id, or rely on the connection's defaults.
Parameters
account_idstringGTM account ID (optional if the connection pins a container)
container_idstringGTM container ID (optional if the connection pins a container)
Get the full definition of one GTM tag (2 credits), including its parameters (the html body for Custom HTML tags) and firing triggers.
Parameters
tag_idstringrequiredThe tag ID to fetch (required)
account_idstringGTM account ID (optional if the connection pins a container)
container_idstringGTM container ID (optional if the connection pins a container)
Replace the HTML body of an existing GTM Custom HTML tag (5 credits). Modifies live site tracking once the container is published. Only type 'html' tags are allowed; the change stays in the workspace until publish_gtm_container runs.
Parameters
tag_idstringrequiredThe tag ID to update (required)
htmlstringrequiredThe new HTML body for the tag (required)
account_idstringGTM account ID (optional if the connection pins a container)
container_idstringGTM container ID (optional if the connection pins a container)
Publish a GTM container — creates a version from the default workspace and publishes it (5 credits). Pushes all workspace changes live to the site's tracking immediately. Approval-gated.
Parameters
account_idstringGTM account ID (optional if the connection pins a container)
container_idstringGTM container ID (optional if the connection pins a container)
version_namestringOptional name for the published container version
conflict_resolutionstringOptional merge conflict strategy. Use "keep_workspace" only when the user explicitly approved keeping the workspace version for GTM conflicts.
Analytics & Query
4Execute a Google Ads Query Language (GAQL) query (2 credits). Use account_name to specify which account when multiple are connected.
Parameters
querystringrequiredThe GAQL query to execute. Example: SELECT campaign.name, metrics.impressions FROM campaign WHERE segments.date DURING LAST_30_DAYS
account_idstringOptional Google Ads customer ID
account_namestringOptional account name for disambiguation when multiple accounts are connected.
List your Google Analytics 4 properties (free)
Parameters
account_idstringOptional specific GA4 account ID
Run a Google Analytics 4 report (free). Pass property_id to query a specific GA4 property instead of the connection default.
Parameters
metricsstringComma-separated metrics (e.g., "sessions,totalUsers,conversions,screenPageViews")
dimensionsstringComma-separated dimensions (e.g., "date", "sessionSource,sessionMedium", "country")
daysnumberNumber of days to look back (default: 28)
account_idstringOptional connection account selector
property_idstringOptional numeric GA4 property ID to report on (overrides the connection's pinned GA4_PROPERTY_ID). Use ga4_get_properties to find it.
List GA4 conversion events (free). Pass property_id to query a specific GA4 property instead of the connection default.
Parameters
account_idstringOptional connection account selector
property_idstringOptional numeric GA4 property ID (overrides the connection's pinned GA4_PROPERTY_ID)
Pixel & Conversion Tracking
3Cross-validate that the pixel/tag IDs on a landing page belong to the connected ad account. Detects wrong-pixel installs, domain registration gaps, and CAPI mismatches. Free — no credits.
Parameters
urlstringrequiredLanding page URL to inspect.
platformstringrequiredAd platform
METAGOOGLE_ADSREDDITTIKTOKLINKEDINaccount_idstringOptional specific account ID; uses the user's active connection if omitted.
List Synter Pixel sites and their CAPI event-forwarding destinations for the active workspace. Shows platform, enabled/disabled state, and configured IDs. Free — no credits.
Parameters
site_keystringOptional pixel site key (sp_...) to scope to one site. If omitted, returns all sites for the workspace.
Create or update a Synter Pixel CAPI event-forwarding destination. Sets the platform-specific IDs needed to fan out conversion events server-side. Supports Google (customer_id + conversion_action_id), Meta/Reddit (pixel_id), LinkedIn (conversion_rule_id), TikTok (pixel_code), and Snapchat. Use action='disable' or action='enable' to toggle without changing settings. Free — no credits.
Parameters
platformstringrequiredGOOGLE, META, LINKEDIN, REDDIT, TIKTOK, SNAPCHAT, etc.
actionstringDefault: upsert
upsertenabledisablesite_keystringsp_... site key; uses first active site for the org if omitted.
customer_idstringGoogle Ads customer ID (digits only, no dashes).
conversion_action_idstringGoogle Ads conversion action resource ID.
pixel_idstringMeta / Reddit / Snapchat / OpenAI Ads pixel ID.
conversion_rule_idstringLinkedIn conversion rule ID.
pixel_codestringTikTok pixel code.
Docs, Sheets & Publishing
5Create a Google Doc from markdown or HTML content (5 credits)
Parameters
titlestringrequiredDocument title
contentstringMarkdown content for the document. Supports headings, bold, italic, links, lists. Use this for campaign plans, reports, etc.
htmlstringRaw HTML content (alternative to markdown). Use for rich formatting.
Publish a markdown blog post to a connected GitHub repo: commit <content_path>/<slug>.md and open a PR (which triggers the site's deploy). Free.
Parameters
slugstringrequiredURL slug; also the markdown filename (<slug>.md).
titlestringrequiredPost title (rendered + used in front matter and the PR title).
markdownstringrequiredThe article body in markdown (no front matter — it's generated).
descriptionstringMeta description (defaults to the title).
datestringPublish date YYYY-MM-DD (defaults to today).
categorystringContent category (e.g. "guides", "comparisons", "product").
tagsstringComma-separated tags (e.g. "ABM,First-Party Data").
open_prbooleanOpen a PR (default) or push directly to the deploy branch.
content_pathstringOverride the repo dir the markdown lives in (default from connection, e.g. "blog").
base_branchstringOverride the PR base / deploy branch (default from connection, e.g. "main").
Create a Google Sheet from tabular data (5 credits)
Parameters
titlestringrequiredSpreadsheet title
headersstringComma-separated column headers (e.g., "Campaign,Spend,Clicks,ROAS")
rowsstring[]List of comma-separated row data. Each string is one row. Example: ["Brand Search,$5000,2340,4.2", "Display,$3200,18900,2.8"]
json_datastringJSON array of objects as alternative to headers+rows. Example: '[{"Campaign":"Brand","Spend":5000},{"Campaign":"Display","Spend":3200}]'
Read tabular data (e.g. a media plan / campaign brief) from a connected Google Sheet (free)
Parameters
spreadsheet_idstringSpreadsheet ID (or pass `url` instead)
urlstringFull Google Sheets URL (alternative to spreadsheet_id)
rangestringA1 range to read, e.g. "Media Plan!A1:H50". Defaults to the first tab.
header_rownumber1-based row within the range holding column headers (default 1)
max_rowsnumberMaximum number of data rows to return
Write values (e.g. campaign IDs / status / spend) back into a range of an existing Google Sheet (2 credits)
Parameters
rangestringrequiredA1 range to write, e.g. "Media Plan!I2:K5"
valuesstringrequiredJSON 2D array of cell values, e.g. '[["LAUNCHED","cmp_123","$0.00"]]'
spreadsheet_idstringSpreadsheet ID (or pass `url` instead)
urlstringFull Google Sheets URL (alternative to spreadsheet_id)
value_input_optionstringDefault: USER_ENTERED
USER_ENTEREDRAWLanding Pages & Domains
7Generate an AI landing page hosted on your custom domain (135 credits)
Parameters
titlestringrequiredPage title / brand name shown in hero and browser tab
promptstringrequiredDescription of the landing page (what the product/service does, target audience, key benefits). Max 5000 characters.
cta_urlstringrequiredURL the CTA button links to (e.g., signup page)
brand_urlstringAuthoritative website for the brand represented by the page. Use this for client pages in agency workspaces — cta_url/form/calendar destinations are NOT treated as brand identity. Falls back to the authenticated workspace website if omitted.
cta_textstringCTA button text (default: "Get Started")
stylestringDesign style (default: modern)
modernminimalboldslugstringURL slug (auto-generated from title if omitted). Max 128 chars.
lead_formstringOptional JSON config to embed a lead-capture form as the page's primary conversion action. Pass "{}" for the default form. An email field is always required. Submissions are stored per page and routed to connected CRMs; UTM/click-id attribution is captured automatically at serve time.
Publish a landing page draft, making it live at syntermedia.ai/lp/{slug} (free)
Parameters
slugstringrequiredThe slug of the landing page to publish (returned by create_landing_page)
Set landing-page conversion pixels and the Google Ads conversion label, and wire a Fillout embed so form submits count as campaign conversions and route to HubSpot. Free edit of an existing page you own. Returns google_send_to plus a Fillout webhook URL.
Parameters
slugstringrequiredThe landing page slug to update
google_conversion_labelstringGoogle Ads conversion label (the part after AW-.../)
fillout_form_idstringFillout form id (the /t/{id} token)
google_pixel_idstringGoogle tag id (AW-...)
meta_pixel_idstringMeta pixel id
linkedin_pixel_idstringLinkedIn partner id
reddit_pixel_idstringReddit pixel id (a2_...)
rotate_webhook_tokenbooleanIssue a new Fillout webhook token
Update the HTML content of an existing landing page you own without AI regeneration (free edit). Use this to patch copy, add logos, or tweak layout after reviewing a draft. If the slug does not exist yet, this creates a new hosted page and costs 135 credits (same as create_landing_page).
Parameters
slugstringrequiredThe landing page slug to update
html_contentstringrequiredFull HTML string to replace the current content
Upload raw HTML as a new landing-page draft (no AI generation). Use to import an exported .html file or hand-written markup (embedded forms, Cal.com embeds, thank-you pages all supported). Then publish_landing_page and attach it to an ad campaign. Creating a new hosted page costs 135 credits (same as create_landing_page); re-uploading to a slug you already own is a free edit.
Parameters
html_contentstringrequiredFull HTML string (or a fragment — it will be wrapped).
titlestringOptional page title (defaults to "Uploaded Landing Page").
slugstringOptional URL slug (lowercase, hyphens). Auto-generated from the title + date when omitted. Re-uploading with a slug you own updates that page in place.
Assign a custom domain (e.g. go.acme.com) to a published landing page. Requires an active paid or pay-as-you-go plan. No credits charged.
Parameters
slugstringrequiredThe landing page slug
domainstringrequiredCustom domain (e.g. "go.acme.com", "landing.mybrand.com")
Check if DNS is configured for a landing page's custom domain. Free — no credits charged.
Parameters
slugstringrequiredThe landing page slug
Audiences & Targeting
7Upload audience data (emails, phones, MAIDs, companies, a public CSV URL, or a private artifact id) to ad platforms. Supports inline pre-hashed identifiers, artifact-id references for >1k entries, and batch mode for Clay.com row-by-row workflows (staging is free, upload costs 10 credits — only on success). Requires i_have_consent=true confirming the customer has lawful basis under GDPR/CCPA and platform Customer Match terms for every identifier in the audience.
Parameters
platformstringrequiredTarget platform - "google", "meta", "linkedin", etc.
audience_namestringName for the audience (e.g., "Clay - Q1 Enterprise Leads")
emailsstringComma-separated raw email addresses (will be SHA-256 hashed before upload).
hashed_emailsstringComma-separated SHA-256 hashed emails (lowercase hex).
phonesstringComma-separated raw phone numbers (will be normalized + SHA-256 hashed).
hashed_phonesstringComma-separated SHA-256 hashed phones (lowercase hex).
mobile_idsstringComma-separated mobile advertising IDs (IDFA / GAID, raw). Meta and TikTok require raw MADIDs (not hashed).
hashed_mobile_idsstringComma-separated SHA-256 hashed mobile IDs (Reddit/TikTok only — Meta drops these with a warning).
company_namesstringComma-separated company names (LinkedIn only)
company_domainsstringComma-separated company domains (Google B2B targeting, LinkedIn)
csv_pathstringLocal path to an audience CSV. Best for local/stdio MCP setups that share a filesystem with the file.
csv_urlstringPublic HTTP(S) URL to an audience CSV. Best for hosted MCP calls to mcp.syntermedia.ai.
emails_artifact_idstringOpaque id referring to a private payload of raw emails (one per line). Use for >1k entries.
hashed_emails_artifact_idstringSame as above but for SHA-256 hashed emails.
phones_artifact_idstringArtifact id for raw phone numbers (one per line, country-code prefixed).
hashed_phones_artifact_idstringArtifact id for SHA-256 hashed phones.
mobile_ids_artifact_idstringArtifact id for raw mobile advertising IDs (IDFA / GAID). Meta only.
audience_typestringDefault: EMAIL. Pre-hashed values are detected automatically from CSV column headers.
EMAILCOMPANYLOOKALIKEaccount_idstringOptional specific ad account ID
batch_actionstring"stage" to add items to a batch (free), "finalize" to upload all staged items (10 credits, only on success).
stagefinalizebatch_keystringRequired with batch_action - stable identifier for the batch (e.g., "q1_leads_feb2026")
customer_file_sourcestringMeta only. Origin of the audience data. Default: USER_PROVIDED_ONLY.
USER_PROVIDED_ONLYPARTNER_PROVIDED_ONLYBOTH_USER_AND_PARTNER_PROVIDEDi_have_consentbooleanConfirm the customer has lawful basis (GDPR Art. 6) and required consent under CCPA / Meta Custom Audience Terms / Google Customer Match Policy for every identifier in this audience.
Stage a hashed-PII payload (newline-delimited identifiers) in Synter's private artifact store and return an opaque artifact_id. Pass that id to sync_audience via *_artifact_id parameters. Free — no credits charged. Use this instead of pasting hashed identifiers as inline tool args when you have more than ~500 entries.
Parameters
bodystringrequiredUTF-8 payload — for hashed-email/phone uploads, one SHA-256 hash per line (lowercase hex, 64 chars). For raw mobile advertising IDs (Meta), one MADID per line. Stored verbatim — pre-dedupe and pre-normalize before calling.
script_namestringName of the script that will consume the artifact. Cross-checked on read so a leaked id can't be redirected to another script.
meta_ads_create_audiencegoogle_ads_create_customer_matchgoogle_ads_create_standard_retargeting_audiencesgoogle_ads_create_website_visitor_audiencemicrosoft_ads_create_audiencetiktok_ads_create_audiencex_ads_create_audiencettl_secondsnumberHow long the artifact lives before being swept (default 1 hour, max 24 hours).
i_have_consentbooleanConfirm the customer has lawful basis (GDPR Art. 6) and required consent under CCPA / Meta / Google Customer Match terms for every identifier in `body`.
Create a campaign targeting an existing audience (200 credits — campaign launch)
Parameters
platformstringrequiredOnly "linkedin" is supported today (a single script creates the Campaign Group + Campaign + ad and attaches the audience atomically). For every other platform, create the campaign/ad group with that platform's native tool, then call attach_audience() to target it.
campaign_namestringrequiredName for the campaign
audience_idstringrequiredThe audience ID from sync_audience() result
daily_budgetnumberDaily budget in USD (default: $25)
headlinestringAd headline text
descriptionstringAd description text
final_urlstringLanding page URL
image_urlstringURL of the creative image asset. Required for LinkedIn.
account_idstringOptional specific ad account ID
List existing audiences on an ad platform (2 credits)
Parameters
platformstringrequiredAd platform
googlelinkedinmetareddittiktokmicrosofttrade_deskstackadaptamazon_dspxaccount_idstringOptional specific ad account ID
Delete (or close) a custom/matched audience from an ad platform by audience_id. Use to clean up stale or errored (e.g. NOT_ENOUGH_MATCHES) audiences. Reddit and Google supported today. This is irreversible.
Parameters
platformstringrequiredReddit or Google. Note: Google Ads has no hard-delete API for user lists, so this closes the list instead.
redditgoogleaudience_idstringrequiredThe platform audience id to delete (e.g. Reddit "ca.123…", Google's numeric user list ID).
account_idstringOptional specific ad account ID.
Attach (add), remove, or replace a matched audience on an existing campaign/ad-group/ad-set/line-item's targeting (5 credits). Supports linkedin, google, meta, tiktok, reddit, microsoft, stackadapt, x.
Parameters
campaign_idstringrequiredThe campaign to modify. For linkedin and stackadapt this IS the targeting entity. For other platforms, audiences attach at the ad-group/ad-set/line-item level — pass that ID via ad_group_id instead.
audience_idstringThe platform's audience/user-list/custom-audience ID to attach (provide this OR segment_urn, linkedin only).
segment_urnstringadSegment URN to attach (linkedin only, alternative to audience_id).
modestringDefault: add (merge in). Not every mode is supported on every platform yet.
addremovereplacefacetstringLinkedIn-only targeting facet. Default: audienceMatchingSegments
audienceMatchingSegmentsdynamicSegmentsplatformstringAd platform.
linkedingooglemetatiktokredditmicrosoftstackadaptxad_group_idstringThe ad group / ad set / line item ID to target, for platforms that attach audiences below the campaign level. Falls back to campaign_id if omitted.
Build ML-based lookalike audience from seed customers (10 credits)
Parameters
seed_audiencestringrequiredSource audience ID or name
platformstringrequiredTarget platform (GOOGLE, META, etc.)
expansion_factornumberHow much to expand (1-10x seed size)
Guardrails & Alerts
4Arm or replace a campaign-specific automatic pause rule. Google Ads rules pause one exact campaign only after both the minimum age and spend threshold are met with zero conversions on one exact verified truth conversion action. Configuration is standing authorization for the future pause. Free.
Parameters
account_idstringrequiredcampaign_idstringrequiredconversion_action_idstringrequiredspend_thresholdnumberrequiredmin_age_hoursnumberplatformstringList campaign-specific automatic pause guardrails and their latest spend, conversion, decision, and verified-pause state. Free.
No parameters required.
Disable a campaign-specific automatic pause guardrail. This does not change the campaign's current platform status. Free.
Parameters
guardrail_idnumberrequiredSet a weekly ad spend alert — notifies via email, Slack, SMS, and/or WhatsApp when total spend exceeds threshold (free)
Parameters
thresholdnumberrequiredWeekly spend threshold in USD (e.g. 10000)
emailstringrequiredEmail address for email alerts
phonestringPhone number in E.164 format for SMS/WhatsApp (e.g. +15551234567)
notifystringComma-separated channels to use: email, slack, sms, whatsapp (default: all)
platformsstringComma-separated platforms to check (default: google,meta,reddit)
Autonomous Agents
2Create an autonomous agent schedule that runs a Synter skill on a cron cadence (e.g. a budget-pacing / campaign-health monitor). Defaults to a read-only cross-platform pacing monitor every 4 hours that alerts via Slack and never moves money. Pass skill_slug + cron_expression to schedule any autonomous-capable skill (5 credits).
Parameters
project_idstringSynter campaign/project UUID to scope the agent to. Optional but recommended.
skill_slugstringAutonomous-capable skill to run. Defaults to "campaign-health-monitoring".
cron_expressionstring5-field cron. Defaults to "0 */4 * * *" (every 4h).
namestringOptional human label for the schedule.
descriptionstringOptional description.
platformstringOptional platform scope (e.g. "google", "meta").
approval_modestringDefault "none" for the pacing monitor, "required" otherwise.
requiredoptionalnonenotify_channelsstringComma-separated channels: email, slack, whatsapp, in_app. Defaults to "slack".
notify_on_completionbooleanSend a notification when each run finishes.
organization_idnumberOptional workspace id (defaults to the API key's org).
List the workspace's autonomous agent schedules (pacing/health monitors, budget optimizers) with cadence, approval mode, next run, and latest run status (free).
Parameters
organization_idnumberOptional workspace id (defaults to the API key's org).
Skills
2List public Synter execution skills and platform SOPs (free)
No parameters required.
Load a public Synter execution skill or platform SOP (free)
Parameters
skill_slugstringrequiredThe slug of the skill to load (e.g., 'customer-facing-product-updates')
Growth & Company Research
12Discover ICP prospects from RevenueBase (verified B2B contacts for ad audiences) or hiring companies via Sumble (outreach), plus listicle/podcast placements. (5 credits)
Parameters
discover_typestringWhat to discover. "icp" (RevenueBase ICP contacts for ad audiences), "jobs" (hiring companies via Sumble), "listicles", "podcasts", or "all".
icpapollojobslisticlespodcastsallquerystringComma-separated job-title keywords for "icp", or the job-title search query for "jobs".
limitnumberMax results (icp capped at 100000).
min_employeesnumberMin company size for "icp" (default: 50).
max_employeesnumberMax company size for "icp" (default: 2000).
industriesstringOptional comma-separated industry keywords for "icp".
geosstringOptional comma-separated country/region names for "icp".
job_levelsstringOptional comma-separated exact seniority levels for "icp". Defaults to senior VP+ when neither titles nor levels are given.
decision_makers_onlybooleanFor "icp", only return Priority-1 decision makers (default False).
Enrich a domain with competitive intelligence — SpyFu PPC data, BuiltWith tech stack, Hunter emails, Firecrawl headline. (5 credits)
Parameters
domainstringrequiredDomain to enrich (e.g., "acme.com")
Run the full growth pipeline — discover leads, enrich, generate outreach. (10 credits)
Parameters
modestringPipeline mode
discoverfollowupsx-scanx-postlisticle-discoverquerystringJob title search query
limitnumberMax leads per run
channelstringOutreach channel
emailbothBuiltWith account capability and usage snapshot — plan limits, rate limits, credit usage. (2 credits)
No parameters required.
BuiltWith domain tech stack lookup — ad pixels, CRM, analytics, CMS/ecommerce tools, spend/meta. (2 credits)
Parameters
domainstringrequiredlive_onlybooleaninclude_trustbooleaninclude_rawbooleanBuiltWith Change API — recent technology additions/removals for domains, with business context. (2 credits)
Parameters
domainsstring[]requiredsincestringBuiltWith Trust API — domain trust, ecommerce/payment, parked/status, spend and live-tech signals. (2 credits)
Parameters
domainstringrequiredFind websites by BuiltWith technology, natural language audience, or keyword search. (2 credits)
Parameters
techstringquerystringkeywordstringcountriesstring[]other_techsstring[]limitnumberoffsetstringinclude_metabooleancommitbooleanspendstringrevenuestringemployeesstringBuiltWith Product API — ecommerce shops and product listings matching a product query. (2 credits)
Parameters
querystringrequiredlimitnumberpagenumberBuiltWith Company to URL API — resolve company names to candidate website domains. (2 credits)
Parameters
companystringrequiredBuiltWith Keywords API — keywords associated with a website domain. (2 credits)
Parameters
domainstringrequiredFind audience signals/clusters in Watt Data from a natural-language description (e.g. 'RevOps leaders at B2B SaaS companies using Salesforce'). Returns matching semantic clusters to use as targeting signals. Requires WATTDATA_API_KEY.
Parameters
querystringrequiredmax_resultsnumberentity_typestringpersonbusinessForecasting & Measurement
5Forecast campaign KPIs (spend, CPA, ROAS, clicks, conversions) for 7-30 days with confidence intervals (2 credits)
Parameters
metricstringKPI to forecast
spendcparoasclicksconversionsctrcpchorizonnumberForecast horizon in days (7, 14, or 30)
campaign_idstringOptional specific campaign ID (forecasts all if omitted)
platformstringOptional platform filter (GOOGLE, META, LINKEDIN, etc.)
Cross-channel budget allocation using diminishing returns modeling (5 credits)
Parameters
total_budgetnumberrequiredTotal daily budget in USD
targetstringOptimization target - conversions or roas
constraintsstringOptional JSON string with per-channel USD/day budget bounds. Schema: {"<channel>": {"min": <number>, "max": <number>}}. Must be valid JSON — do not pass natural language text.
Start or check a multi-armed bandit creative experiment using Thompson sampling (3 credits)
Parameters
campaign_idstringrequiredCampaign ID to run the experiment on
platformstringrequiredAd platform (GOOGLE, META, etc.)
actionstringstart, status, or stop
startstatusstopreward_metricstringMetric to optimize - ctr, conversion_rate, or roas
Multi-touch attribution analysis using Markov chains (5 credits)
Parameters
date_rangestringlast_7_dayslast_30_dayslast_90_daysconversion_typestringOptional filter for specific conversion type
Measure incremental ad impact via geo-lift or synthetic control (5 credits)
Parameters
platformstringrequiredAd platform (GOOGLE, META, etc.)
methodstringgeo_lift or synthetic_control
geo_liftsynthetic_controltest_regionsstringComma-separated test region codes
control_regionsstringComma-separated control region codes
Creative Generation
9Generate an AI image for ad creatives using Imagen 4, Flux, or Stable Diffusion. (80 credits)
Parameters
promptstringrequiredImage generation prompt (be specific about style, layout, colors).
sizestringImage dimensions. Defaults to 1200x628 when omitted.
providerstringImage model — imagen (default), flux, sdxl.
namestringOptional asset name for the artifact library.
Generate an AI video ad using Veo, Runway, or Luma. Great for YouTube and social ads.
Parameters
product_namestringrequiredProduct or brand name.
key_benefitstringrequiredMain value proposition.
conceptstringGeneric video framework name from the Node MCP contract.
target_audiencestringOptional audience persona.
durationnumberOptional video duration in seconds.
providerstringOptional video provider override.
Generate display/social ad images. Use mode='system-graphic' for bold text-heavy creatives (requires headline). AI mode (default) for photo/illustration backgrounds. Auto-sizes for target platform (80 credits)
Parameters
promptstringrequiredImage description (ai mode) or thematic context hint (system-graphic mode).
platformstringTarget platform. Determines default sizes. Omit to use a single 1200x628 image.
googlemetalinkedinreddittiktokxmicrosoftspotifynamestringAsset name for the artifact library.
providerstringAI image model for mode="ai" — imagen (default), openai (best for text rendering), flux, sdxl. Ignored in system-graphic mode.
sizesstringOverride platform defaults with comma-separated WIDTHxHEIGHT (e.g. "1200x628,1080x1080").
negative_promptstringWhat to avoid in the image (ai mode only).
headlinestringRequired for system-graphic mode. Strongly recommended for all LinkedIn/social ads.
ctastringCTA button text or URL (e.g. "Book a Demo"). Auto-picked from brand if omitted.
subheadlinestringOptional body text below the headline.
modestringDefault: "ai". Use system-graphic for copy-led creatives.
aisystem-graphiceyebrowstringOptional short uppercase label rendered above the headline (system-graphic only).
statstringOptional accent stat tile, e.g. "98%+" or "10×" (system-graphic only).
creative_briefstringCreative System v1 brief as a JSON string, or freeform prose. Controls theme/accent/fonts.
Generate AI video ads using Veo, Luma, Runway, or HeyGen with creative concept templates (130–1100 credits)
Parameters
conceptstringrequiredCreative concept.
ugc-testimonialpasvs-alternativemade-easybefore-afterhook-demo-ctaproduct-demosocial-proofproductstringrequiredProduct or brand name (e.g. "Synter - AI Ad Platform").
platformstringTarget platform for sizing. Default: tiktok.
tiktokinstagram_reelsyoutube_shortsyoutubelinkedinmeta_feedtwitterredditproviderstringVideo model. Veo is the default recommended provider.
veolumarunwayheygenpain_pointstringThe viewer's pain point (for ugc-testimonial and pas concepts).
benefitstringKey benefit your product delivers.
ctastringCall-to-action text.
namestringAsset name for the artifact library.
target_audiencestringWho the ad is targeting (for persona/hook customization).
Generate UGC-style video ads with AI avatars (fal Aurora / HeyGen) (900 credits)
Parameters
productstringrequiredProduct or brand name (e.g. "Synter").
personastringAvatar persona. Determines the script tone and avatar selection if no custom script is given.
b2bagencyperformanceecommercescriptstringCustom script for the avatar to speak. If omitted, a persona script is generated.
avatarstringAvatar name (default: asha).
ashacartertrevinaspect_ratiostringOutput format. Default: 9:16 (vertical).
9:161:116:9namestringAsset name for the artifact library.
Generate text ad copy (headlines, descriptions, CTAs) for any platform using Claude (5 credits)
Parameters
platformstringrequiredTarget platform.
googlemetalinkedinredditmicrosofttiktokxspotifyproductstringrequiredProduct name and brief description (e.g. "Synter - AI agent operator for ads").
landing_page_urlstringDestination URL for context on value props.
tonestringWriting tone. Default: professional.
professionalconversationalurgentplayfultechnicaleducationalheadlines_countnumberOverride the platform default headline count.
descriptions_countnumberOverride the platform default description count.
keywordsstringComma-separated keywords to weave into the copy.
ctastringPreferred CTA phrasing (e.g. "Book a demo").
Generate a voice-over ad with an AI avatar speaking your script (fal Aurora / HeyGen) (900 credits)
Parameters
scriptstringrequiredThe spoken script for the avatar (15–60 seconds, ~40–150 words).
productstringrequiredProduct name (used for persona context if the script is short).
personastringAvatar tone context. Default: b2b.
b2bagencyperformanceecommerceavatarstringAvatar name. Default: asha.
ashacartertrevinnamestringAsset name for the artifact library.
List generated creative assets (images and videos) from your artifact library, with approval status and platform-deployment mapping (free)
Parameters
asset_typestringFilter by type. Omit for all types.
IMAGEVIDEOlimitnumberMaximum number of results per page (default 20, max 100).
offsetnumberNumber of newest assets to skip, for pagination (default 0).
Upload a generated creative asset to an ad platform and attach it to a campaign (5 credits)
Parameters
asset_urlstringrequiredURL of the asset to upload (from create_image_asset / create_video_ad).
platformstringrequiredTarget platform.
googlemetalinkedintiktokredditcampaign_idstringrequiredCampaign ID to attach the creative to.
asset_typestringDefault: IMAGE.
IMAGEVIDEOad_group_idstringAd group / ad set ID (required for most platforms).
namestringName for the uploaded creative asset.
headlinestringAd headline text (required for LinkedIn).
descriptionstringAd body / description text.
landing_urlstringDestination URL for WEBSITE_VISIT LinkedIn campaigns.
form_idstringLinkedIn Lead Gen Form ID — when provided, routes to the LeadGen creative script.
account_idstringSpecific ad-account ID to target. Required when the campaign lives in a non-primary account.
Campaign Plans
7Create or update a campaign launch plan (5 credits). Use plan_key for idempotency.
Parameters
plan_keystringrequiredUnique idempotency key (e.g. "zeroclick-q2-2026")
titlestringrequiredHuman-readable plan title
brief_jsonstringOptional JSON string (or already-parsed object) with campaign brief details.
Add or update an entity (campaign, ad, tweet, go_link, etc.) within a campaign plan (2 credits).
Parameters
plan_idstringrequiredThe plan ID (from create_campaign_plan)
logical_keystringrequiredUnique key within the plan (e.g. "x/campaign/brand-awareness")
platformstringrequiredPlatform identifier (x, reddit, meta, google, linkedin, gtm, synter)
entity_typestringrequiredType of entity (campaign, ad_group, ad, tweet, promoted_tweet, website_card, post, pixel_tag, go_link)
remote_idstringPlatform-specific entity ID (after creation)
remote_ref_jsonstringJSON with additional platform references
metadata_jsonstringJSON with entity-specific metadata (activate_script, activate_args, pause_script, etc.)
desired_statestringTarget state for launch
pausedactiveparent_logical_keystringLogical key of parent entity (for dependency ordering)
provider_account_idstringPlatform ad account ID
Publish a campaign plan for review, generating a shareable URL (2 credits). Moves the plan from building/draft to in_review; a reviewer approves it at share_url, then execute_campaign_plan launches it. Runs plan QA (incl. the live tracking preflight) and pins the scorecard to the document.
Parameters
plan_idstringrequiredThe plan ID to publish
expected_versionintegerThe plan version you last read (optimistic concurrency). Omit to publish the current version; a stale value returns code=PLAN_VERSION_MISMATCH.
Launch an approved campaign plan — activates all entities across platforms in dependency order (10 credits).
Parameters
plan_idstringrequiredThe plan ID to execute
execute_tokenstringrequiredThe execute token (from create_campaign_plan response)
Get execution status and per-entity step results for a campaign plan launch (free).
Parameters
plan_idstringrequiredThe plan ID to check
Fetch a campaign plan with its entities, budgets, desired states, and review/execution status (free).
Parameters
plan_idstringrequiredSet up a complete Google Ads trial acquisition funnel: branded Search campaign (maximize clicks, builds conversion history), PMax campaign (maximize conversions), and Display retargeting campaign — all pointing to a Synter-hosted landing page. Requires an active Google Ads connection. (15 credits)
Parameters
landing_page_urlstringrequiredSynter LP URL (e.g. "https://syntermedia.ai/lp/my-saas")
business_namestringrequiredBrand name shown in ads (max 25 chars)
trial_daysnumberLength of free trial to promote in ad copy (default: 30)
total_daily_budgetnumberTotal daily budget across all campaigns in USD (default: $50)
month_labelstringLabel for campaign names e.g. "Apr 2026" (defaults to current month)
Documents & Notifications
3Create a document in the Campaign IDE editor (free). Perfect for reports, audits, strategy docs, and plans that can be collaboratively edited.
Parameters
titlestringrequiredDocument title (e.g., "Q1 Performance Report", "Google Ads Audit")
contentstringrequiredDocument content in markdown format. Supports headings, bullet lists, numbered lists, bold, horizontal rules, and tables.
organization_idnumberOptional workspace ID to create the document in.
Delete a Campaign IDE document by id or uuid (e.g. to remove a stale or duplicate doc). Only deletes documents you own.
Parameters
document_idnumberuuidstringPost a message to a Slack channel via the Synter bot. channel = a channel ID (Cxxxx) or #name. The bot can only post to channels it's a member of.
Parameters
channelstringrequiredtextstringrequiredLLM & Brand Visibility (GEO)
13Get workspace LLM visibility overview — Share of Voice (SOV), citations, brand mentions, and top opportunities across ChatGPT, Claude, Perplexity, and AI Overviews.
Parameters
project_idstringOptional project ID filter
daysnumberLookback window in days (default: 30)
List tracked commercial buying prompts and newest per-engine AI answer evidence (ChatGPT, Claude, Perplexity).
Parameters
project_idstringOptional project ID filter
searchstringOptional prompt search filter
active_onlybooleanFilter for active prompts only (default: true)
limitnumberMax items to return (default: 50)
List observed competitive ChatGPT ads, Reddit citations, YouTube citations, and web citations.
Parameters
project_idstringOptional project ID filter
sighting_typestringOptional filter by sighting type (e.g., 'chatgpt_ad')
limitnumberMax items to return (default: 50)
List ranked LLM visibility opportunities, missing citations, and actionable recommendations.
Parameters
project_idstringOptional project ID filter
statusstringFilter by status (e.g. 'open', 'completed')
limitnumberMax items to return (default: 50)
Generate Generative Engine Optimization (GEO) content strategies, PR drafts, schema markup, and outreach tactics.
Parameters
project_idstringOptional project ID filter
prompt_idstringOptional prompt ID filter
focus_areastringStrategy focus area (e.g. 'all', 'wikipedia', 'listicles')
limitnumberMax recommendations to return (default: 10)
Discover high-intent B2B commercial buying prompts across Evaluation, Comparison, Pricing/ROI, and Feature Verification stages.
Parameters
project_idstringOptional project ID filter
domainstringTarget domain to discover prompts for
competitorsstring[]List of competitor domains
icp_personastringTarget ICP persona
auto_seedbooleanAutomatically seed discovered prompts into tracking (default: false)
Audit AI crawler accessibility (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) and generate custom llms.txt and robots.txt.
Parameters
domainstringrequiredTarget domain to audit (e.g. 'example.com')
check_llms_txtbooleanCheck llms.txt availability (default: true)
Trigger an on-demand LLM visibility scan across AI engines for a project.
Parameters
project_idstringOptional project ID
idempotency_keystringOptional idempotency key to prevent duplicate scans
Generate NPOV-compliant Wikipedia article draft and WP:PAID COI disclosure for Wikipedia AFC submission.
Parameters
brand_namestringrequiredBrand name
domainstringrequiredOfficial domain
descriptionstringCompany overview and history
founding_yearnumberFounding year
headquartersstringHeadquarters location
citationsstring[]List of independent secondary source URLs
Generate structured Wikidata entity payload (P31, P856, P571) for LLM knowledge graph indexing.
Parameters
brand_namestringrequiredBrand name
domainstringrequiredOfficial domain
founding_yearnumberFounding year
headquartersstringHeadquarters location
Generate valid schema.org JSON-LD scripts (Organization, SoftwareApplication, Product, FAQPage) for LLM crawlers.
Parameters
brand_namestringrequiredBrand name
domainstringrequiredOfficial domain
descriptionstringBrand description
pricing_summarystringPricing overview
same_as_urlsstring[]Social and directory profile URLs
faqsobject[]FAQ question/answer pairs
Find media listicles and roundups cited by ChatGPT and Perplexity, and generate outreach pitch briefs.
Parameters
buying_promptstringrequiredTarget commercial buying prompt
brand_namestringrequiredYour brand name
domainstringYour official domain
competitorsstring[]Competitor brand names or domains
Audit brand profile completeness across G2, Capterra, Trustpilot, and Gartner for LLM answer indexing.
Parameters
brand_namestringrequiredBrand name
domainstringrequiredOfficial domain
review_platformsstring[]List of review platforms to audit (e.g. ['g2', 'capterra'])
Account Structure Hygiene
2Audit an ad account's campaign structure (read-only, free). Flags the churn signatures that make an account a mess: duplicate campaign / ad group / ad names (case-insensitive, trimmed), ad groups with empty or invalid targeting, and 'rebuilt-not-edited' campaigns (a name with both a live and an archived copy). Reddit is fully supported (campaign / ad group / ad depth); Google is campaign-level. Writes nothing — use repair_account_structure to act on the findings.
Parameters
platformstringreddit (full depth) or google (campaign-level). Default reddit.
redditgoogleaccount_idstringOptional ad account ID; falls back to the connected account.
account_namestringOptional friendly account name selector when multiple are connected.
Repair an ad account's campaign structure. Dry-run by default — reports what it would archive and changes nothing. Pass apply=true (only after customer approval) to archive duplicate clutter (keeps the earliest of each same-name set). Ad groups with empty targeting are flagged, never auto-archived. Reddit apply is fully supported; Google apply is dry-run planning only. Free — no credits.
Parameters
platformstringreddit (full apply) or google (dry-run planning only). Default reddit.
redditgoogleaccount_idstringOptional ad account ID; falls back to the connected account.
account_namestringOptional friendly account name selector when multiple are connected.
applybooleanFalse (default) = dry run, writes nothing. True = archive the duplicate clutter listed in the plan. Requires customer approval.
Advanced (Script Library)
3Execute any Synter action: create campaigns, generate AI images/videos, upload to YouTube, manage GTM/GA4, analyze competitors, and more. Calls execute immediately by default; pass dry_run=true only when the user explicitly asks for validation-only behavior. Use inspect_script before the first call to an unfamiliar action so arguments are never guessed. Pass expected_names={"campaign-id": "<name fragment>"} to hard-enforce target identity for updates.
Parameters
actionstringrequiredThe action to execute (e.g., "create_image", "google_ads_create_search_campaign"). Must be a name registered in list_available_scripts — execute rejects unknown actions.
platformstringTarget platform for credential injection (auto-detected from action name if not provided).
argsstring[]Command-line arguments as a list (e.g., ["--prompt", "Modern SaaS dashboard"])
account_idstringOptional specific ad account ID to use
dry_runbooleanOptional validation-only mode. Defaults to false so approved actions execute once.
customer_idstringAlias for account_id (the native run_ppc_script spelling); ignored when account_id is set.
expected_namesobjectConfirm-don't-assume guard. Dict of target-id flag -> expected name fragment, e.g. {"campaign-id": "Brand_Leaders"}. On dry_run=false the live entity names are resolved and matched; any mismatch refuses execution.
See all available PPC scripts (free)
No parameters required.
Get the exact arguments, choices, required fields, and output fields for a Synter action before executing it (free). Returns the script's docstring, parsed argument list, and approximate output schema — not its source code.
Parameters
script_namestringrequiredExample usage
Just ask naturally — your AI assistant picks the right tool:
| You say | Tool used |
|---|---|
| What's my Google Ads spend this week? | pull_google_ads_performance |
| Show all my active campaigns | list_campaigns |
| Pause the Brand Search campaign | pause_campaign |
| Create a Search campaign for our new product | execute |
| Generate a hero image for my landing page | create_image |
| How should I allocate budget across my channels? | optimize_budget |
| Is the pixel on my landing page actually mine? | verify_pixel_ownership |
| Build a lookalike audience from our best customers | build_lookalike_audience |