# MCP Tool Reference | Synter Docs

> Source: https://synterai.com/docs/mcp/tools
> Cached: 2026-10-09T01:08:56.628Z
> Words: 8270

---

Get Started
- [Quickstart](https://synterai.com/quickstart)
- [SDK](https://synterai.com/sdk)
- [Python SDK](https://synterai.com/sdk/python)
- [PlaygroundFree](https://synterai.com/playground)
- [Best Practices](https://synterai.com/best-practices)

Integrations
- [All Platforms (27)](https://synterai.com/integrations)
- [Google Ads](https://synterai.com/integrations#google-ads)
- [Meta Ads](https://synterai.com/integrations#meta-ads)
- [LinkedIn Ads](https://synterai.com/integrations#linkedin-ads)
- [X (Twitter) Ads](https://synterai.com/integrations#x-ads)
- [Reddit Ads](https://synterai.com/integrations#reddit-ads)
- [Microsoft Ads](https://synterai.com/integrations#microsoft-ads)
- [TikTok Ads](https://synterai.com/integrations#tiktok-ads)
- [Amazon DSP](https://synterai.com/integrations#amazon-dsp)
- [Amazon Ads](https://synterai.com/integrations#amazon-ads)
- [Pinterest Ads](https://synterai.com/integrations#pinterest-ads)
- [Snapchat Ads](https://synterai.com/integrations#snapchat-ads)
- [Spotify Ads](https://synterai.com/integrations#spotify-ads)
- [OpenAI Ads / LLM](https://synterai.com/integrations#openai-ads)
- [The Trade Desk](https://synterai.com/integrations#trade-desk)
- [FreeWheel CTV](https://synterai.com/integrations#freewheel)
- [DV360](https://synterai.com/integrations#dv360)
- [CM360](https://synterai.com/integrations#cm360)
- [Walmart Connect](https://synterai.com/integrations#walmart-connect)
- [Instacart Ads](https://synterai.com/integrations#instacart-ads)
- [Target Roundel](https://synterai.com/integrations#target-roundel)
- [Criteo](https://synterai.com/integrations#criteo)
- [Google Analytics 4](https://synterai.com/integrations#ga4)
- [Google Tag Manager](https://synterai.com/integrations#gtm)
- [HubSpot](https://synterai.com/integrations#hubspot)
- [Attio CRM](https://synterai.com/integrations/attio)
- [Shopify](https://synterai.com/integrations#shopify)
- [Klaviyo](https://synterai.com/integrations#klaviyo)

API Reference
- [Authentication](https://synterai.com/api/authentication)
- [Run Script](https://synterai.com/api/run-script)
- [List Campaigns](https://synterai.com/api/list-campaigns)
- [Get Metrics](https://synterai.com/api/get-metrics)
- [Pause Campaign](https://synterai.com/api/pause-campaign)
- [Update Budget](https://synterai.com/api/update-budget)

MCP Server
- [Overview](https://synterai.com/mcp/overview)
- [Growth Bot](https://synterai.com/mcp/growth-bot)
- [Configuration](https://synterai.com/mcp/configuration)
- [Claude Code plugin](https://synterai.com/guides/claude-plugin)
- [Tool Reference](https://synterai.com/mcp/tools)
- [Scopes & Permissions](https://synterai.com/mcp/scopes)
- [Rate Limits & Credits](https://synterai.com/mcp/rate-limits)
- [Error Reference](https://synterai.com/mcp/errors)

Changelog
- [Tool Reference](https://synterai.com/changelog/tool-reference)
- [MCP Server Launch](https://synterai.com/changelog/mcp-server-launch)
- [Multi-Platform](https://synterai.com/changelog/multi-platform)

Start building today

Claimable monthly credits with your account

[Get API Key](https://syntermedia.ai/developer)[View as Markdown](https://synterai.com/mcp/tools.md)MCP# Tool Reference

All 141 tools available to your AI assistant through MCP, organized by category.

How tools work

You don't need to call tools directly. Just describe what you want in natural language and your AI assistant will pick the right tool. Each tool costs credits — check your balance with `get_credit_balance`.Catalog scope

This reference describes the hosted server at `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()

The tools above cover the common cases, but `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 the legacy authenticated email onboarding handoff

Parameters

`email`stringrequiredYour work email address

Poll until email verification completes, then open the secure OAuth install guide

Parameters

`session_token`stringrequiredThe 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

`platform`stringOptional platform filter (e.g. "X", "REDDIT", "GOOGLE"). Omit to verify all connected ad platforms.

`days`numberActivity 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_id`stringrequiredThe 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window. Explicit start_date/end_date take precedence.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``level`stringData granularity (default: campaigns)

`campaigns``ad-groups``keywords``ads``search-terms``account_id`stringOptional specific Google Ads customer ID. If not provided, uses the user's primary connected account.

`account_name`stringOptional account name for disambiguation when multiple accounts are connected. Pass the name the user mentions (e.g., "leafypod") — the system will match it.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window. Explicit start_date/end_date take precedence.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``level`stringData granularity (default: campaign)

`campaign``ad-set``ad``account_id`stringOptional specific Meta ad account ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`platform`stringrequiredPlatform the ad was launched on (e.g. "meta").

`ad_id`stringrequiredThe platform ad ID returned by upload_creative / create_*_ad.

`account_id`stringOptional specific ad-account ID holding the ad.

`approved_cta`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific LinkedIn ad account ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional fixed window end (YYYY-MM-DD). Requires start_date.

`campaign_group_ids`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific X Ads account ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific Reddit ad account ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific Microsoft Ads account ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional fixed window end (YYYY-MM-DD). Requires start_date.

Pull Amazon DSP campaign performance data (2 credits)

Parameters

`days`numberNumber of days to look back (default: 30, max: 90)

`account_id`stringOptional specific Amazon DSP advertiser ID

`account_name`stringOptional 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

`days`numberNumber of days to look back (default: 30, max: 90)

`ad_type`stringAd type filter (default: ALL)

`SP``SB``SD``ALL``account_id`stringOptional specific Amazon Ads profile ID

`account_name`stringOptional 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

`days`number

`level`string

`account_id`string

`account_name`string

Get Snapchat Ads metrics (2 credits). Use account_name to specify which account when multiple are connected.

Parameters

`days`number

`level`string

`account_id`string

`account_name`string

Get Spotify Ads metrics (2 credits). Use account_name to specify which account when multiple are connected.

Parameters

`days`number

`account_id`string

`account_name`string

Get 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

`days`numberHow many days back to pull (1-365). Defaults to 30.

`campaign_id`stringOptional — scope insights to one campaign.

`ad_group_id`stringOptional — scope insights to one ad group.

`ad_id`stringOptional — scope insights to one ad.

`aggregation_level`stringDefaults to ad_account.

`ad_account``campaign``ad_group``ad``time_granularity`stringDefaults to script default.

`daily``none``limit`numberMax rows to return (defaults to 1000).

`account_id`stringOptional OpenAI Ads account ID (when multiple connected).

`account_name`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific Trade Desk partner ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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

`days`numberNumber of days to look back (default: 30). Ignored when date_range or start_date/end_date are provided.

`date_range`stringOptional preset window.

`today``yesterday``last_7_days``last_14_days``last_30_days``last_90_days``account_id`stringOptional specific FreeWheel connection account id.

`account_name`stringOptional account name for disambiguation.

`start_date`stringOptional fixed window start (YYYY-MM-DD). Requires end_date.

`end_date`stringOptional 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_date`stringrequiredYYYY-MM-DD (inclusive)

`end_date`stringrequiredYYYY-MM-DD (inclusive, must be <= yesterday)

`google_account_id`stringOptional Google Ads customer ID

`google_account_name`stringOptional Google account name for disambiguation

`ttd_advertiser_id`stringOptional Trade Desk advertiser ID

`ttd_account_name`stringOptional 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

`days`number

`account_id`string

`account_name`string

Get Campaign Manager 360 (CM360) metrics (2 credits). Use account_name to specify which account when multiple are connected.

Parameters

`days`number

`account_id`string

`account_name`string

Get Walmart Connect Advertising metrics (2 credits). Returns impressions, clicks, spend, conversions, and ROAS per campaign.

Parameters

`days`number

`account_id`string

`account_name`string

Get Instacart Ads metrics (2 credits). Returns impressions, clicks, spend, attributed orders, and attributed sales per campaign.

Parameters

`days`number

`account_id`string

`account_name`string

Get Target Roundel retail media metrics (2 credits). Returns impressions, clicks, spend, conversions, and revenue per campaign.

Parameters

`days`number

`account_id`string

`account_name`string

Get Criteo Commerce Media metrics (2 credits). Returns displays, clicks, cost, conversions, and revenue per campaign.

Parameters

`days`number

`account_id`string

`account_name`string

Pull LinkedIn Ads Company Engagement report — shows which companies have seen your ads and how engaged they are (2 credits)

Parameters

`account_id`stringLinkedIn Ads account ID (uses connected account if omitted)

`days`numberLook-back window in days (default: 90)

`audience_id`stringOptional dmpSegment ID — scope analytics to this audience

`country`stringISO country code filter, e.g. "US" or "GB"

`min_employees`numberFilter companies with at least this many employees

`max_employees`numberFilter companies with at most this many employees

`engagement_level`stringComma-separated tier filter: "VERY_HIGH,HIGH" or "MEDIUM,LOW"

`limit`numberMaximum 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

`days`numberNumber of days to look back (default: 7)

`data_level`stringData level (default: AUCTION_CAMPAIGN)

`AUCTION_CAMPAIGN``AUCTION_ADGROUP``AUCTION_AD``account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional 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_id`stringrequiredThe ad group ID to fetch

`account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional account name for disambiguation.

List all TikTok ad groups, optionally filtered by campaign (free). Returns ID, name, status, budget, bid, optimization goal.

Parameters

`campaign_id`stringOptional campaign ID to filter ad groups

`account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional 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_id`stringOptional ad group ID to filter ads

`account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional 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_id`stringrequiredThe ad group ID to update

`status`stringNew status

`ENABLE``PAUSE``budget`numberDaily budget in dollars

`locations`stringSpace-separated location IDs (e.g. "6252001 2635167" for US, UK)

`age_min`numberMinimum age (e.g. 25). Mapped to TikTok age groups.

`age_max`numberMaximum age (e.g. 55). Use 0 for no upper limit (55+).

`bid`numberBid price in dollars

`bid_type`stringBid strategy

`BID_TYPE_NO_BID``BID_TYPE_CUSTOM``languages`stringSpace-separated language codes (e.g. "en fr de")

`audience_ids`stringComma-separated custom audience IDs to include

`excluded_audience_ids`stringComma-separated custom audience IDs to exclude

`optimization_goal`stringOptimization goal

`CLICK``CONVERT``SHOW``REACH``VIDEO_VIEW``ENGAGED_VIEW``LEAD_GENERATION``INSTALL``IN_APP_EVENT``pixel_id`stringPixel ID for conversion tracking (numeric or alphanumeric pixel_code)

`conversion_event`stringConversion event name (e.g. CompleteRegistration, Purchase). Auto-mapped to TikTok enum.

`account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional account name for disambiguation.

Get full TikTok campaign configuration by ID (free). Returns name, objective, budget, status, timestamps.

Parameters

`campaign_id`stringrequiredThe campaign ID to fetch

`account_id`stringOptional specific TikTok advertiser ID

`account_name`stringOptional account name for disambiguation.

## Campaign Management

6List campaigns for any ad platform (2 credits)

Parameters

`platform`stringrequiredAd platform

`google``meta``linkedin``reddit``microsoft``tiktok``x``amazon_dsp``account_id`stringOptional specific account ID for the platform

`status`stringOptional filter by status

`ENABLED``PAUSED``REMOVED``account_name`stringOptional name to select which account when multiple are connected for the same platform

Pause a campaign on any ad platform (2 credits)

Parameters

`platform`stringrequiredAd platform

`google``meta``linkedin``reddit``microsoft``tiktok``x``amazon_dsp``campaign_id`stringrequiredThe campaign ID to pause

`account_id`stringOptional specific account ID

`account_name`stringOptional 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_id`stringrequiredParent ad set id. A single real id — wildcards are rejected.

`name`stringrequiredAd name.

`creative_id`stringExisting creative id to reuse.

`page_id`stringFacebook Page id, required when building a new creative.

`link`stringDestination URL for a new creative.

`message`stringPrimary text.

`headline`stringHeadline text.

`description`stringDescription text.

`call_to_action`stringCTA enum, e.g. LEARN_MORE, SIGN_UP, SHOP_NOW.

`image_url`stringImage URL to upload.

`image_hash`stringPre-uploaded image hash (alternative to image_url).

`video_id`stringVideo asset id.

`instagram_user_id`stringInstagram account id for IG placements.

`status`stringDefaults to PAUSED — new ads should be reviewed before they spend.

`ACTIVE``PAUSED``account_id`stringSpecific ad account id.

`account_name`stringSelect among several connected Meta accounts by name.

Create a Reddit ad from an existing post in an ad group (5 credits)

Parameters

`ad_group_id`stringrequiredParent ad group id. A single real id — wildcards rejected.

`post_id`stringrequiredThe post to promote, e.g. t3_1vbvcb7.

`name`stringAd name.

`click_url`stringDestination URL. Reddit rejects a click_url on free-form (TEXT) posts — only link posts carry one.

`status`stringDefaults to PAUSED.

`ACTIVE``PAUSED``campaign_name`stringCampaign name used for UTM auto-append.

`no_utm`booleanSkip UTM auto-append.

`account_id`stringSpecific ad account id.

`account_name`stringSelect among several connected Reddit accounts by name.

Enable/resume a paused campaign on any ad platform (2 credits)

Parameters

`platform`stringrequiredAd platform

`google``meta``linkedin``reddit``microsoft``tiktok``x``amazon_dsp``campaign_id`stringrequiredThe campaign ID to enable

`account_id`stringOptional specific account ID

`account_name`stringOptional name to select which account when multiple are connected for the same platform

Update a campaign's daily budget (5 credits)

Parameters

`platform`stringrequiredAd platform

`google``meta``linkedin``reddit``microsoft``tiktok``x``amazon_dsp``campaign_id`stringrequiredThe campaign ID to update

`daily_budget`numberrequiredNew daily budget in account currency (e.g., 50.00 for $50/day)

`account_id`stringOptional specific account ID

`account_name`stringOptional 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_id`stringGTM account ID (optional if the connection pins a container)

`container_id`stringGTM 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_id`stringrequiredThe tag ID to fetch (required)

`account_id`stringGTM account ID (optional if the connection pins a container)

`container_id`stringGTM 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_id`stringrequiredThe tag ID to update (required)

`html`stringrequiredThe new HTML body for the tag (required)

`account_id`stringGTM account ID (optional if the connection pins a container)

`container_id`stringGTM 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_id`stringGTM account ID (optional if the connection pins a container)

`container_id`stringGTM container ID (optional if the connection pins a container)

`version_name`stringOptional name for the published container version

`conflict_resolution`stringOptional 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

`query`stringrequiredThe GAQL query to execute. Example: SELECT campaign.name, metrics.impressions FROM campaign WHERE segments.date DURING LAST_30_DAYS

`account_id`stringOptional Google Ads customer ID

`account_name`stringOptional account name for disambiguation when multiple accounts are connected.

List your Google Analytics 4 properties (free)

Parameters

`account_id`stringOptional 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

`metrics`stringComma-separated metrics (e.g., "sessions,totalUsers,conversions,screenPageViews")

`dimensions`stringComma-separated dimensions (e.g., "date", "sessionSource,sessionMedium", "country")

`days`numberNumber of days to look back (default: 28)

`account_id`stringOptional connection account selector

`property_id`stringOptional 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_id`stringOptional connection account selector

`property_id`stringOptional numeric GA4 property ID (overrides the connection's pinned GA4_PROPERTY_ID)

## Pixel & Conversion Tracking

6Cross-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

`url`stringrequiredLanding page URL to inspect.

`platform`stringrequiredAd platform

`META``GOOGLE_ADS``REDDIT``TIKTOK``LINKEDIN``account_id`stringOptional 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_key`stringOptional pixel site key (sp_...) to scope to one site. If omitted, returns all sites for the workspace.

Pixel snippet + destination health: snippet installed, destinations configured, last successful CAPI delivery per adapter. Do not pause or scale from get_performance alone; read get_pixel_health, list_event_deliveries, and get_click_attribution first. Free — no credits.

Parameters

`site_key`stringOptional pixel site key (sp_...) to scope to one site.

Read event_deliveries fan-out rows (success/fail/destination). Confirm deliveries before pause/budget from get_performance. Free — no credits.

Parameters

`site_key`stringOptional pixel site key (sp_...).

`status`stringFilter by delivery status

`PENDING``SUCCESS``RETRYING``FAILED``platform`stringFilter by destination platform.

`limit`numberMax rows (default 50, max 200).

Return stored click IDs and UTMs from pixel ingest plus Stripe first-touch. Stored identifiers only — no first/last/linear model math. Free — no credits.

Parameters

`site_key`stringOptional pixel site key (sp_...).

`user_id`numberOptional user id for stored Stripe first-touch.

`email`stringOptional email to match pixel events.

`limit`numberMax rows (default 50, max 200).

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

`platform`stringrequiredGOOGLE, META, LINKEDIN, REDDIT, TIKTOK, SNAPCHAT, etc.

`action`stringDefault: upsert

`upsert``enable``disable``site_key`stringsp_... site key; uses first active site for the org if omitted.

`customer_id`stringGoogle Ads customer ID (digits only, no dashes).

`conversion_action_id`stringGoogle Ads conversion action resource ID.

`pixel_id`stringMeta / Reddit / Snapchat / OpenAI Ads pixel ID.

`conversion_rule_id`stringLinkedIn conversion rule ID.

`pixel_code`stringTikTok pixel code.

## Docs, Sheets & Publishing

5Create a Google Doc from markdown or HTML content (5 credits)

Parameters

`title`stringrequiredDocument title

`content`stringMarkdown content for the document. Supports headings, bold, italic, links, lists. Use this for campaign plans, reports, etc.

`html`stringRaw 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

`slug`stringrequiredURL slug; also the markdown filename (<slug>.md).

`title`stringrequiredPost title (rendered + used in front matter and the PR title).

`markdown`stringrequiredThe article body in markdown (no front matter — it's generated).

`description`stringMeta description (defaults to the title).

`date`stringPublish date YYYY-MM-DD (defaults to today).

`category`stringContent category (e.g. "guides", "comparisons", "product").

`tags`stringComma-separated tags (e.g. "ABM,First-Party Data").

`open_pr`booleanOpen a PR (default) or push directly to the deploy branch.

`content_path`stringOverride the repo dir the markdown lives in (default from connection, e.g. "blog").

`base_branch`stringOverride the PR base / deploy branch (default from connection, e.g. "main").

Create a Google Sheet from tabular data (5 credits)

Parameters

`title`stringrequiredSpreadsheet title

`headers`stringComma-separated column headers (e.g., "Campaign,Spend,Clicks,ROAS")

`rows`string[]List of comma-separated row data. Each string is one row. Example: ["Brand Search,$5000,2340,4.2", "Display,$3200,18900,2.8"]

`json_data`stringJSON 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_id`stringSpreadsheet ID (or pass `url` instead)

`url`stringFull Google Sheets URL (alternative to spreadsheet_id)

`range`stringA1 range to read, e.g. "Media Plan!A1:H50". Defaults to the first tab.

`header_row`number1-based row within the range holding column headers (default 1)

`max_rows`numberMaximum 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

`range`stringrequiredA1 range to write, e.g. "Media Plan!I2:K5"

`values`stringrequiredJSON 2D array of cell values, e.g. '[["LAUNCHED","cmp_123","$0.00"]]'

`spreadsheet_id`stringSpreadsheet ID (or pass `url` instead)

`url`stringFull Google Sheets URL (alternative to spreadsheet_id)

`value_input_option`stringDefault: USER_ENTERED

`USER_ENTERED``RAW`## Landing Pages & Domains

7Generate an AI landing page hosted on your custom domain (135 credits)

Parameters

`title`stringrequiredPage title / brand name shown in hero and browser tab

`prompt`stringrequiredDescription of the landing page (what the product/service does, target audience, key benefits). Max 5000 characters.

`cta_url`stringrequiredURL the CTA button links to (e.g., signup page)

`brand_url`stringAuthoritative 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_text`stringCTA button text (default: "Get Started")

`style`stringDesign style (default: modern)

`modern``minimal``bold``slug`stringURL slug (auto-generated from title if omitted). Max 128 chars.

`lead_form`stringOptional 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

`slug`stringrequiredThe 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

`slug`stringrequiredThe landing page slug to update

`google_conversion_label`stringGoogle Ads conversion label (the part after AW-.../)

`fillout_form_id`stringFillout form id (the /t/{id} token)

`google_pixel_id`stringGoogle tag id (AW-...)

`meta_pixel_id`stringMeta pixel id

`linkedin_pixel_id`stringLinkedIn partner id

`reddit_pixel_id`stringReddit pixel id (a2_...)

`rotate_webhook_token`booleanIssue 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

`slug`stringrequiredThe landing page slug to update

`html_content`stringrequiredFull 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_content`stringrequiredFull HTML string (or a fragment — it will be wrapped).

`title`stringOptional page title (defaults to "Uploaded Landing Page").

`slug`stringOptional 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

`slug`stringrequiredThe landing page slug

`domain`stringrequiredCustom 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

`slug`stringrequiredThe 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

`platform`stringrequiredTarget platform - "google", "meta", "linkedin", etc.

`audience_name`stringName for the audience (e.g., "Clay - Q1 Enterprise Leads")

`emails`stringComma-separated raw email addresses (will be SHA-256 hashed before upload).

`hashed_emails`stringComma-separated SHA-256 hashed emails (lowercase hex).

`phones`stringComma-separated raw phone numbers (will be normalized + SHA-256 hashed).

`hashed_phones`stringComma-separated SHA-256 hashed phones (lowercase hex).

`mobile_ids`stringComma-separated mobile advertising IDs (IDFA / GAID, raw). Meta and TikTok require raw MADIDs (not hashed).

`hashed_mobile_ids`stringComma-separated SHA-256 hashed mobile IDs (Reddit/TikTok only — Meta drops these with a warning).

`company_names`stringComma-separated company names (LinkedIn only)

`company_domains`stringComma-separated company domains (Google B2B targeting, LinkedIn)

`csv_path`stringLocal path to an audience CSV. Best for local/stdio MCP setups that share a filesystem with the file.

`csv_url`stringPublic HTTP(S) URL to an audience CSV. Best for hosted MCP calls to mcp.syntermedia.ai.

`emails_artifact_id`stringOpaque id referring to a private payload of raw emails (one per line). Use for >1k entries.

`hashed_emails_artifact_id`stringSame as above but for SHA-256 hashed emails.

`phones_artifact_id`stringArtifact id for raw phone numbers (one per line, country-code prefixed).

`hashed_phones_artifact_id`stringArtifact id for SHA-256 hashed phones.

`mobile_ids_artifact_id`stringArtifact id for raw mobile advertising IDs (IDFA / GAID). Meta only.

`audience_type`stringDefault: EMAIL. Pre-hashed values are detected automatically from CSV column headers.

`EMAIL``COMPANY``LOOKALIKE``account_id`stringOptional specific ad account ID

`batch_action`string"stage" to add items to a batch (free), "finalize" to upload all staged items (10 credits, only on success).

`stage``finalize``batch_key`stringRequired with batch_action - stable identifier for the batch (e.g., "q1_leads_feb2026")

`customer_file_source`stringMeta only. Origin of the audience data. Default: USER_PROVIDED_ONLY.

`USER_PROVIDED_ONLY``PARTNER_PROVIDED_ONLY``BOTH_USER_AND_PARTNER_PROVIDED``i_have_consent`booleanConfirm 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

`body`stringrequiredUTF-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_name`stringName 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_audience``google_ads_create_customer_match``google_ads_create_standard_retargeting_audiences``google_ads_create_website_visitor_audience``microsoft_ads_create_audience``tiktok_ads_create_audience``x_ads_create_audience``ttl_seconds`numberHow long the artifact lives before being swept (default 1 hour, max 24 hours).

`i_have_consent`booleanConfirm 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

`platform`stringrequiredOnly "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_name`stringrequiredName for the campaign

`audience_id`stringrequiredThe audience ID from sync_audience() result

`daily_budget`numberDaily budget in USD (default: $25)

`headline`stringAd headline text

`description`stringAd description text

`final_url`stringLanding page URL

`image_url`stringURL of the creative image asset. Required for LinkedIn.

`account_id`stringOptional specific ad account ID

List existing audiences on an ad platform (2 credits)

Parameters

`platform`stringrequiredAd platform

`google``linkedin``meta``reddit``tiktok``microsoft``trade_desk``stackadapt``amazon_dsp``x``account_id`stringOptional 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

`platform`stringrequiredReddit or Google. Note: Google Ads has no hard-delete API for user lists, so this closes the list instead.

`reddit``google``audience_id`stringrequiredThe platform audience id to delete (e.g. Reddit "ca.123…", Google's numeric user list ID).

`account_id`stringOptional 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_id`stringrequiredThe 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_id`stringThe platform's audience/user-list/custom-audience ID to attach (provide this OR segment_urn, linkedin only).

`segment_urn`stringadSegment URN to attach (linkedin only, alternative to audience_id).

`mode`stringDefault: add (merge in). Not every mode is supported on every platform yet.

`add``remove``replace``facet`stringLinkedIn-only targeting facet. Default: audienceMatchingSegments

`audienceMatchingSegments``dynamicSegments``platform`stringAd platform.

`linkedin``google``meta``tiktok``reddit``microsoft``stackadapt``x``ad_group_id`stringThe 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_audience`stringrequiredSource audience ID or name

`platform`stringrequiredTarget platform (GOOGLE, META, etc.)

`expansion_factor`numberHow 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_id`stringrequired

`campaign_id`stringrequired

`conversion_action_id`stringrequired

`spend_threshold`numberrequired

`min_age_hours`number

`platform`string

List 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_id`numberrequired

Set a weekly ad spend alert — notifies via email, Slack, SMS, and/or WhatsApp when total spend exceeds threshold (free)

Parameters

`threshold`numberrequiredWeekly spend threshold in USD (e.g. 10000)

`email`stringrequiredEmail address for email alerts

`phone`stringPhone number in E.164 format for SMS/WhatsApp (e.g. +15551234567)

`notify`stringComma-separated channels to use: email, slack, sms, whatsapp (default: all)

`platforms`stringComma-separated platforms to check (default: google,meta,reddit)

## Autonomous Agents

3Create 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_id`stringSynter campaign/project UUID to scope the agent to. Optional but recommended.

`skill_slug`stringAutonomous-capable skill to run. Defaults to "campaign-health-monitoring".

`cron_expression`string5-field cron. Defaults to "0 */4 * * *" (every 4h).

`name`stringOptional human label for the schedule.

`description`stringOptional description.

`platform`stringOptional platform scope (e.g. "google", "meta").

`approval_mode`stringDefault "none" for the pacing monitor, "required" otherwise.

`required``optional``none``notify_channels`stringComma-separated channels: email, slack, whatsapp, in_app. Defaults to "slack".

`notify_on_completion`booleanSend a notification when each run finishes.

`organization_id`numberOptional workspace id (defaults to the API key's org).

Update an existing autonomous agent schedule — edit its rules (description), cadence, approval mode, notify channels, or end date — and/or apply a lifecycle action (stop, freeze, resume, skip_next, run_now). Only the fields passed are changed.

Parameters

`schedule_id`stringrequiredSchedule UUID from list_autonomous_schedules.

`name`stringNew human label.

`description`stringNew description / operating rules the skill reads on each run.

`platform`stringNew platform scope (e.g. "google", "meta").

`cron_expression`stringNew 5-field cron cadence.

`approval_mode`stringNew approval mode.

`required``optional``none``notify_channels`stringComma-separated channels: email, slack, whatsapp, in_app.

`notify_on_completion`booleanSend a notification when each run finishes.

`ends_at`stringISO-8601 end timestamp, or empty string to clear.

`action`stringLifecycle action applied after any field edits.

`stop``freeze``resume``skip_next``run_now``organization_id`numberOptional 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_id`numberOptional 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_slug`stringrequiredThe 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_type`stringWhat to discover. "icp" (RevenueBase ICP contacts for ad audiences), "jobs" (hiring companies via Sumble), "listicles", "podcasts", or "all".

`icp``apollo``jobs``listicles``podcasts``all``query`stringComma-separated job-title keywords for "icp", or the job-title search query for "jobs".

`limit`numberMax results (icp capped at 100000).

`min_employees`numberMin company size for "icp" (default: 50).

`max_employees`numberMax company size for "icp" (default: 2000).

`industries`stringOptional comma-separated industry keywords for "icp".

`geos`stringOptional comma-separated country/region names for "icp".

`job_levels`stringOptional comma-separated exact seniority levels for "icp". Defaults to senior VP+ when neither titles nor levels are given.

`decision_makers_only`booleanFor "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

`domain`stringrequiredDomain to enrich (e.g., "acme.com")

Run the full growth pipeline — discover leads, enrich, generate outreach. (10 credits)

Parameters

`mode`stringPipeline mode

`discover``followups``x-scan``x-post``listicle-discover``query`stringJob title search query

`limit`numberMax leads per run

`channel`stringOutreach channel

`email``both`BuiltWith 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

`domain`stringrequired

`live_only`boolean

`include_trust`boolean

`include_raw`boolean

BuiltWith Change API — recent technology additions/removals for domains, with business context. (2 credits)

Parameters

`domains`string[]required

`since`string

BuiltWith Trust API — domain trust, ecommerce/payment, parked/status, spend and live-tech signals. (2 credits)

Parameters

`domain`stringrequired

Find websites by BuiltWith technology, natural language audience, or keyword search. (2 credits)

Parameters

`tech`string

`query`string

`keyword`string

`countries`string[]

`other_techs`string[]

`limit`number

`offset`string

`include_meta`boolean

`commit`boolean

`spend`string

`revenue`string

`employees`string

BuiltWith Product API — ecommerce shops and product listings matching a product query. (2 credits)

Parameters

`query`stringrequired

`limit`number

`page`number

BuiltWith Company to URL API — resolve company names to candidate website domains. (2 credits)

Parameters

`company`stringrequired

BuiltWith Keywords API — keywords associated with a website domain. (2 credits)

Parameters

`domain`stringrequired

Find 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

`query`stringrequired

`max_results`number

`entity_type`string

`person``business`## Forecasting & Measurement

5Forecast campaign KPIs (spend, CPA, ROAS, clicks, conversions) for 7-30 days with confidence intervals (2 credits)

Parameters

`metric`stringKPI to forecast

`spend``cpa``roas``clicks``conversions``ctr``cpc``horizon`numberForecast horizon in days (7, 14, or 30)

`campaign_id`stringOptional specific campaign ID (forecasts all if omitted)

`platform`stringOptional platform filter (GOOGLE, META, LINKEDIN, etc.)

Cross-channel budget allocation using diminishing returns modeling (5 credits)

Parameters

`total_budget`numberrequiredTotal daily budget in USD

`target`stringOptimization target - conversions or roas

`constraints`stringOptional 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_id`stringrequiredCampaign ID to run the experiment on

`platform`stringrequiredAd platform (GOOGLE, META, etc.)

`action`stringstart, status, or stop

`start``status``stop``reward_metric`stringMetric to optimize - ctr, conversion_rate, or roas

Multi-touch attribution analysis using Markov chains (5 credits)

Parameters

`date_range`string

`last_7_days``last_30_days``last_90_days``conversion_type`stringOptional filter for specific conversion type

Measure incremental ad impact via geo-lift or synthetic control (5 credits)

Parameters

`platform`stringrequiredAd platform (GOOGLE, META, etc.)

`method`stringgeo_lift or synthetic_control

`geo_lift``synthetic_control``test_regions`stringComma-separated test region codes

`control_regions`stringComma-separated control region codes

## Creative Generation

10Generate an AI image for ad creatives using Imagen 4, Flux, or Stable Diffusion. (80 credits)

Parameters

`prompt`stringrequiredImage generation prompt (be specific about style, layout, colors).

`size`stringImage dimensions. Defaults to 1200x628 when omitted.

`provider`stringImage model — imagen (default), flux, sdxl.

`name`stringOptional asset name for the artifact library.

Generate an AI video ad using Veo, Runway, or Luma. Great for YouTube and social ads.

Parameters

`product_name`stringrequiredProduct or brand name.

`key_benefit`stringrequiredMain value proposition.

`concept`stringGeneric video framework name from the Node MCP contract.

`target_audience`stringOptional audience persona.

`duration`numberOptional video duration in seconds.

`provider`stringOptional 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

`prompt`stringrequiredImage description (ai mode) or thematic context hint (system-graphic mode).

`platform`stringTarget platform. Determines default sizes. Omit to use a single 1200x628 image.

`google``meta``linkedin``reddit``tiktok``x``microsoft``spotify``name`stringAsset name for the artifact library.

`provider`stringAI image model for mode="ai" — imagen (default), openai (best for text rendering), flux, sdxl. Ignored in system-graphic mode.

`sizes`stringOverride platform defaults with comma-separated WIDTHxHEIGHT (e.g. "1200x628,1080x1080").

`negative_prompt`stringWhat to avoid in the image (ai mode only).

`headline`stringRequired for system-graphic mode. Strongly recommended for all LinkedIn/social ads.

`cta`stringCTA button text or URL (e.g. "Book a Demo"). Auto-picked from brand if omitted.

`subheadline`stringOptional body text below the headline.

`mode`stringDefault: "ai". Use system-graphic for copy-led creatives.

`ai``system-graphic``eyebrow`stringOptional short uppercase label rendered above the headline (system-graphic only).

`stat`stringOptional accent stat tile, e.g. "98%+" or "10×" (system-graphic only).

`creative_brief`stringCreative 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

`concept`stringrequiredCreative concept.

`ugc-testimonial``pas``vs-alternative``made-easy``before-after``hook-demo-cta``product-demo``social-proof``product`stringrequiredProduct or brand name (e.g. "Synter - AI Ad Platform").

`platform`stringTarget platform for sizing. Default: tiktok.

`tiktok``instagram_reels``youtube_shorts``youtube``linkedin``meta_feed``twitter``reddit``provider`stringVideo model. Veo is the default recommended provider.

`veo``luma``runway``heygen``pain_point`stringThe viewer's pain point (for ugc-testimonial and pas concepts).

`benefit`stringKey benefit your product delivers.

`cta`stringCall-to-action text.

`name`stringAsset name for the artifact library.

`target_audience`stringWho the ad is targeting (for persona/hook customization).

Generate UGC-style video ads with AI avatars (fal Aurora / HeyGen) (900 credits)

Parameters

`product`stringrequiredProduct or brand name (e.g. "Synter").

`persona`stringAvatar persona. Determines the script tone and avatar selection if no custom script is given.

`b2b``agency``performance``ecommerce``script`stringCustom script for the avatar to speak. If omitted, a persona script is generated.

`avatar`stringAvatar name (default: asha).

`asha``carter``trevin``aspect_ratio`stringOutput format. Default: 9:16 (vertical).

`9:16``1:1``16:9``name`stringAsset name for the artifact library.

Render, watermark, auto-caption, and format video/screen recordings into social clips for X, LinkedIn, TikTok, or Reels (45 credits)

Parameters

`source_url`stringPublic HTTPS URL of source video or screen recording.

`source_file`stringLocal file path of source video.

`aspect_ratio`stringTarget aspect ratio. Default: 16:9.

`16:9``9:16``1:1``4:5``headline`stringOptional text overlay at top of video.

`watermark`stringWatermark text to burn in. Default: "syntermedia.ai".

`logo_url`stringOptional image logo URL to overlay as watermark badge.

`brand_primary`stringBrand primary color hex.

`trim_start`numberStart trim offset in seconds. Default: 0.

`trim_end`numberEnd trim offset in seconds.

`auto_caption`booleanAuto-generate Whisper captions. Default: true.

`name`stringAsset display name for the artifact library.

Generate text ad copy (headlines, descriptions, CTAs) for any platform using Claude (5 credits)

Parameters

`platform`stringrequiredTarget platform.

`google``meta``linkedin``reddit``microsoft``tiktok``x``spotify``product`stringrequiredProduct name and brief description (e.g. "Synter - AI agent operator for ads").

`landing_page_url`stringDestination URL for context on value props.

`tone`stringWriting tone. Default: professional.

`professional``conversational``urgent``playful``technical``educational``headlines_count`numberOverride the platform default headline count.

`descriptions_count`numberOverride the platform default description count.

`keywords`stringComma-separated keywords to weave into the copy.

`cta`stringPreferred 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

`script`stringrequiredThe spoken script for the avatar (15–60 seconds, ~40–150 words).

`product`stringrequiredProduct name (used for persona context if the script is short).

`persona`stringAvatar tone context. Default: b2b.

`b2b``agency``performance``ecommerce``avatar`stringAvatar name. Default: asha.

`asha``carter``trevin``name`stringAsset 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_type`stringFilter by type. Omit for all types.

`IMAGE``VIDEO``limit`numberMaximum number of results per page (default 20, max 100).

`offset`numberNumber 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_url`stringrequiredURL of the asset to upload (from create_image_asset / create_video_ad).

`platform`stringrequiredTarget platform.

`google``meta``linkedin``tiktok``reddit``campaign_id`stringrequiredCampaign ID to attach the creative to.

`asset_type`stringDefault: IMAGE.

`IMAGE``VIDEO``ad_group_id`stringAd group / ad set ID (required for most platforms).

`name`stringName for the uploaded creative asset.

`headline`stringAd headline text (required for LinkedIn).

`description`stringAd body / description text.

`landing_url`stringDestination URL for WEBSITE_VISIT LinkedIn campaigns.

`form_id`stringLinkedIn Lead Gen Form ID — when provided, routes to the LeadGen creative script.

`account_id`stringSpecific 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_key`stringrequiredUnique idempotency key (e.g. "zeroclick-q2-2026")

`title`stringrequiredHuman-readable plan title

`brief_json`stringOptional 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_id`stringrequiredThe plan ID (from create_campaign_plan)

`logical_key`stringrequiredUnique key within the plan (e.g. "x/campaign/brand-awareness")

`platform`stringrequiredPlatform identifier (x, reddit, meta, google, linkedin, gtm, synter)

`entity_type`stringrequiredType of entity (campaign, ad_group, ad, tweet, promoted_tweet, website_card, post, pixel_tag, go_link)

`remote_id`stringPlatform-specific entity ID (after creation)

`remote_ref_json`stringJSON with additional platform references

`metadata_json`stringJSON with entity-specific metadata (activate_script, activate_args, pause_script, etc.)

`desired_state`stringTarget state for launch

`paused``active``parent_logical_key`stringLogical key of parent entity (for dependency ordering)

`provider_account_id`stringPlatform 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_id`stringrequiredThe plan ID to publish

`expected_version`integerThe 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_id`stringrequiredThe plan ID to execute

`execute_token`stringrequiredThe execute token (from create_campaign_plan response)

Get execution status and per-entity step results for a campaign plan launch (free).

Parameters

`plan_id`stringrequiredThe plan ID to check

Fetch a campaign plan with its entities, budgets, desired states, and review/execution status (free).

Parameters

`plan_id`stringrequired

Set 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_url`stringrequiredSynter LP URL (e.g. "https://syntermedia.ai/lp/my-saas")

`business_name`stringrequiredBrand name shown in ads (max 25 chars)

`trial_days`numberLength of free trial to promote in ad copy (default: 30)

`total_daily_budget`numberTotal daily budget across all campaigns in USD (default: $50)

`month_label`stringLabel 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

`title`stringrequiredDocument title (e.g., "Q1 Performance Report", "Google Ads Audit")

`content`stringrequiredDocument content in markdown format. Supports headings, bullet lists, numbered lists, bold, horizontal rules, and tables.

`organization_id`numberOptional 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_id`number

`uuid`string

Post 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

`channel`stringrequired

`text`stringrequired

## LLM & 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_id`stringOptional project ID filter

`days`numberLookback window in days (default: 30)

List tracked commercial buying prompts and newest per-engine AI answer evidence (ChatGPT, Claude, Perplexity).

Parameters

`project_id`stringOptional project ID filter

`search`stringOptional prompt search filter

`active_only`booleanFilter for active prompts only (default: true)

`limit`numberMax items to return (default: 50)

List observed competitive ChatGPT ads, Reddit citations, YouTube citations, and web citations.

Parameters

`project_id`stringOptional project ID filter

`sighting_type`stringOptional filter by sighting type (e.g., 'chatgpt_ad')

`limit`numberMax items to return (default: 50)

List ranked LLM visibility opportunities, missing citations, and actionable recommendations.

Parameters

`project_id`stringOptional project ID filter

`status`stringFilter by status (e.g. 'open', 'completed')

`limit`numberMax items to return (default: 50)

Generate Generative Engine Optimization (GEO) content strategies, PR drafts, schema markup, and outreach tactics.

Parameters

`project_id`stringOptional project ID filter

`prompt_id`stringOptional prompt ID filter

`focus_area`stringStrategy focus area (e.g. 'all', 'wikipedia', 'listicles')

`limit`numberMax recommendations to return (default: 10)

Discover high-intent B2B commercial buying prompts across Evaluation, Comparison, Pricing/ROI, and Feature Verification stages.

Parameters

`project_id`stringOptional project ID filter

`domain`stringTarget domain to discover prompts for

`competitors`string[]List of competitor domains

`icp_persona`stringTarget ICP persona

`auto_seed`booleanAutomatically 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

`domain`stringrequiredTarget domain to audit (e.g. 'example.com')

`check_llms_txt`booleanCheck llms.txt availability (default: true)

Trigger an on-demand LLM visibility scan across AI engines for a project.

Parameters

`project_id`stringOptional project ID

`idempotency_key`stringOptional idempotency key to prevent duplicate scans

Generate NPOV-compliant Wikipedia article draft and WP:PAID COI disclosure for Wikipedia AFC submission.

Parameters

`brand_name`stringrequiredBrand name

`domain`stringrequiredOfficial domain

`description`stringCompany overview and history

`founding_year`numberFounding year

`headquarters`stringHeadquarters location

`citations`string[]List of independent secondary source URLs

Generate structured Wikidata entity payload (P31, P856, P571) for LLM knowledge graph indexing.

Parameters

`brand_name`stringrequiredBrand name

`domain`stringrequiredOfficial domain

`founding_year`numberFounding year

`headquarters`stringHeadquarters location

Generate valid schema.org JSON-LD scripts (Organization, SoftwareApplication, Product, FAQPage) for LLM crawlers.

Parameters

`brand_name`stringrequiredBrand name

`domain`stringrequiredOfficial domain

`description`stringBrand description

`pricing_summary`stringPricing overview

`same_as_urls`string[]Social and directory profile URLs

`faqs`object[]FAQ question/answer pairs

Find media listicles and roundups cited by ChatGPT and Perplexity, and generate outreach pitch briefs.

Parameters

`buying_prompt`stringrequiredTarget commercial buying prompt

`brand_name`stringrequiredYour brand name

`domain`stringYour official domain

`competitors`string[]Competitor brand names or domains

Audit brand profile completeness across G2, Capterra, Trustpilot, and Gartner for LLM answer indexing.

Parameters

`brand_name`stringrequiredBrand name

`domain`stringrequiredOfficial domain

`review_platforms`string[]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

`platform`stringreddit (full depth) or google (campaign-level). Default reddit.

`reddit``google``account_id`stringOptional ad account ID; falls back to the connected account.

`account_name`stringOptional 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

`platform`stringreddit (full apply) or google (dry-run planning only). Default reddit.

`reddit``google``account_id`stringOptional ad account ID; falls back to the connected account.

`account_name`stringOptional friendly account name selector when multiple are connected.

`apply`booleanFalse (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

`action`stringrequiredThe 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.

`platform`stringTarget platform for credential injection (auto-detected from action name if not provided).

`args`string[]Command-line arguments as a list (e.g., ["--prompt", "Modern SaaS dashboard"])

`account_id`stringOptional specific ad account ID to use

`dry_run`booleanOptional validation-only mode. Defaults to false so approved actions execute once.

`customer_id`stringAlias for account_id (the native run_ppc_script spelling); ignored when account_id is set.

`expected_names`objectConfirm-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_name`stringrequired

## Example 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 |

Was this page helpful?[PreviousConfiguration](https://synterai.com/mcp/configuration)[Next Rate Limits & Credits](https://synterai.com/mcp/rate-limits)

---

*This is a cached, LLM-optimized version of [https://synterai.com/docs/mcp/tools](https://synterai.com/docs/mcp/tools).*
*Generated by [Synter LLM Cache](https://llm.synterai.com).*