LLM Cache · Source: https://syntermedia.ai/docs/mcp/tools · Markdown version · Cache Index · 7951 words · Cached: 9/8/2026

MCP Tool Reference | Synter Docs

MCP

Tool Reference

All 136 tools available to your AI assistant through MCP, organized by category. Hosted catalog version 2026-08-31.

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

2

Start onboarding - create account and get API key (no auth required)

Parameters

emailstringrequired

Your work email address

Check onboarding progress - poll until ready (no auth required)

Parameters

session_tokenstringrequired

The session token returned by synter_onboarding_start

Account & Connections

5

See 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

platformstring

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

daysnumber

Activity 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_idstringrequired

The job ID returned by the async tool (UUID format)

Performance Reporting

24

Get 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

daysnumber

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

date_rangestring

Optional preset window. Explicit start_date/end_date take precedence.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
levelstring

Data granularity (default: campaigns)

campaignsad-groupskeywordsadssearch-terms
account_idstring

Optional specific Google Ads customer ID. If not provided, uses the user's primary connected account.

account_namestring

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

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window. Explicit start_date/end_date take precedence.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
levelstring

Data granularity (default: campaign)

campaignad-setad
account_idstring

Optional specific Meta ad account ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

platformstringrequired

Platform the ad was launched on (e.g. "meta").

ad_idstringrequired

The platform ad ID returned by upload_creative / create_*_ad.

account_idstring

Optional specific ad-account ID holding the ad.

approved_ctastring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific LinkedIn ad account ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional fixed window end (YYYY-MM-DD). Requires start_date.

campaign_group_idsstring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific X Ads account ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific Reddit ad account ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific Microsoft Ads account ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional fixed window end (YYYY-MM-DD). Requires start_date.

Pull Amazon DSP campaign performance data (2 credits)

Parameters

daysnumber

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

account_idstring

Optional specific Amazon DSP advertiser ID

account_namestring

Optional 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

daysnumber

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

ad_typestring

Ad type filter (default: ALL)

SPSBSDALL
account_idstring

Optional specific Amazon Ads profile ID

account_namestring

Optional 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

daysnumber

levelstring

account_idstring

account_namestring

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

Parameters

daysnumber

levelstring

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

daysnumber

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

campaign_idstring

Optional — scope insights to one campaign.

ad_group_idstring

Optional — scope insights to one ad group.

ad_idstring

Optional — scope insights to one ad.

aggregation_levelstring

Defaults to ad_account.

ad_accountcampaignad_groupad
time_granularitystring

Defaults to script default.

dailynone
limitnumber

Max rows to return (defaults to 1000).

account_idstring

Optional OpenAI Ads account ID (when multiple connected).

account_namestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific Trade Desk partner ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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

daysnumber

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

date_rangestring

Optional preset window.

todayyesterdaylast_7_dayslast_14_dayslast_30_dayslast_90_days
account_idstring

Optional specific FreeWheel connection account id.

account_namestring

Optional account name for disambiguation.

start_datestring

Optional fixed window start (YYYY-MM-DD). Requires end_date.

end_datestring

Optional 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_datestringrequired

YYYY-MM-DD (inclusive)

end_datestringrequired

YYYY-MM-DD (inclusive, must be <= yesterday)

google_account_idstring

Optional Google Ads customer ID

google_account_namestring

Optional Google account name for disambiguation

ttd_advertiser_idstring

Optional Trade Desk advertiser ID

ttd_account_namestring

Optional 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

daysnumber

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

Parameters

daysnumber

account_idstring

account_namestring

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

Parameters

account_idstring

LinkedIn Ads account ID (uses connected account if omitted)

daysnumber

Look-back window in days (default: 90)

audience_idstring

Optional dmpSegment ID — scope analytics to this audience

countrystring

ISO country code filter, e.g. "US" or "GB"

min_employeesnumber

Filter companies with at least this many employees

max_employeesnumber

Filter companies with at most this many employees

engagement_levelstring

Comma-separated tier filter: "VERY_HIGH,HIGH" or "MEDIUM,LOW"

limitnumber

Maximum companies to return (default: 200)

TikTok Ads (Detailed)

6

Get 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

daysnumber

Number of days to look back (default: 7)

data_levelstring

Data level (default: AUCTION_CAMPAIGN)

AUCTION_CAMPAIGNAUCTION_ADGROUPAUCTION_AD
account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional 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_idstringrequired

The ad group ID to fetch

account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional account name for disambiguation.

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

Parameters

campaign_idstring

Optional campaign ID to filter ad groups

account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional 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_idstring

Optional ad group ID to filter ads

account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional 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_idstringrequired

The ad group ID to update

statusstring

New status

ENABLEPAUSE
budgetnumber

Daily budget in dollars

locationsstring

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

age_minnumber

Minimum age (e.g. 25). Mapped to TikTok age groups.

age_maxnumber

Maximum age (e.g. 55). Use 0 for no upper limit (55+).

bidnumber

Bid price in dollars

bid_typestring

Bid strategy

BID_TYPE_NO_BIDBID_TYPE_CUSTOM
languagesstring

Space-separated language codes (e.g. "en fr de")

audience_idsstring

Comma-separated custom audience IDs to include

excluded_audience_idsstring

Comma-separated custom audience IDs to exclude

optimization_goalstring

Optimization goal

CLICKCONVERTSHOWREACHVIDEO_VIEWENGAGED_VIEWLEAD_GENERATIONINSTALLIN_APP_EVENT
pixel_idstring

Pixel ID for conversion tracking (numeric or alphanumeric pixel_code)

conversion_eventstring

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

account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional account name for disambiguation.

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

Parameters

campaign_idstringrequired

The campaign ID to fetch

account_idstring

Optional specific TikTok advertiser ID

account_namestring

Optional account name for disambiguation.

Campaign Management

6

List campaigns for any ad platform (2 credits)

Parameters

platformstringrequired

Ad platform

googlemetalinkedinredditmicrosofttiktokxamazon_dsp
account_idstring

Optional specific account ID for the platform

statusstring

Optional filter by status

ENABLEDPAUSEDREMOVED
account_namestring

Optional name to select which account when multiple are connected for the same platform

Pause a campaign on any ad platform (2 credits)

Parameters

platformstringrequired

Ad platform

googlemetalinkedinredditmicrosofttiktokxamazon_dsp
campaign_idstringrequired

The campaign ID to pause

account_idstring

Optional specific account ID

account_namestring

Optional 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_idstringrequired

Parent ad set id. A single real id — wildcards are rejected.

namestringrequired

Ad name.

creative_idstring

Existing creative id to reuse.

page_idstring

Facebook Page id, required when building a new creative.

linkstring

Destination URL for a new creative.

messagestring

Primary text.

headlinestring

Headline text.

descriptionstring

Description text.

call_to_actionstring

CTA enum, e.g. LEARN_MORE, SIGN_UP, SHOP_NOW.

image_urlstring

Image URL to upload.

image_hashstring

Pre-uploaded image hash (alternative to image_url).

video_idstring

Video asset id.

instagram_user_idstring

Instagram account id for IG placements.

statusstring

Defaults to PAUSED — new ads should be reviewed before they spend.

ACTIVEPAUSED
account_idstring

Specific ad account id.

account_namestring

Select among several connected Meta accounts by name.

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

Parameters

ad_group_idstringrequired

Parent ad group id. A single real id — wildcards rejected.

post_idstringrequired

The post to promote, e.g. t3_1vbvcb7.

namestring

Ad name.

click_urlstring

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

statusstring

Defaults to PAUSED.

ACTIVEPAUSED
campaign_namestring

Campaign name used for UTM auto-append.

no_utmboolean

Skip UTM auto-append.

account_idstring

Specific ad account id.

account_namestring

Select among several connected Reddit accounts by name.

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

Parameters

platformstringrequired

Ad platform

googlemetalinkedinredditmicrosofttiktokxamazon_dsp
campaign_idstringrequired

The campaign ID to enable

account_idstring

Optional specific account ID

account_namestring

Optional name to select which account when multiple are connected for the same platform

Update a campaign's daily budget (5 credits)

Parameters

platformstringrequired

Ad platform

googlemetalinkedinredditmicrosofttiktokxamazon_dsp
campaign_idstringrequired

The campaign ID to update

daily_budgetnumberrequired

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

account_idstring

Optional specific account ID

account_namestring

Optional name to select which account when multiple are connected for the same platform

Google Tag Manager

5

List 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_idstring

GTM account ID (optional if the connection pins a container)

container_idstring

GTM 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_idstringrequired

The tag ID to fetch (required)

account_idstring

GTM account ID (optional if the connection pins a container)

container_idstring

GTM 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_idstringrequired

The tag ID to update (required)

htmlstringrequired

The new HTML body for the tag (required)

account_idstring

GTM account ID (optional if the connection pins a container)

container_idstring

GTM 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_idstring

GTM account ID (optional if the connection pins a container)

container_idstring

GTM container ID (optional if the connection pins a container)

version_namestring

Optional name for the published container version

conflict_resolutionstring

Optional merge conflict strategy. Use "keep_workspace" only when the user explicitly approved keeping the workspace version for GTM conflicts.

Analytics & Query

4

Execute a Google Ads Query Language (GAQL) query (2 credits). Use account_name to specify which account when multiple are connected.

Parameters

querystringrequired

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

account_idstring

Optional Google Ads customer ID

account_namestring

Optional account name for disambiguation when multiple accounts are connected.

List your Google Analytics 4 properties (free)

Parameters

account_idstring

Optional 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

metricsstring

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

dimensionsstring

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

daysnumber

Number of days to look back (default: 28)

account_idstring

Optional connection account selector

property_idstring

Optional 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_idstring

Optional connection account selector

property_idstring

Optional numeric GA4 property ID (overrides the connection's pinned GA4_PROPERTY_ID)

Pixel & Conversion Tracking

3

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

urlstringrequired

Landing page URL to inspect.

platformstringrequired

Ad platform

METAGOOGLE_ADSREDDITTIKTOKLINKEDIN
account_idstring

Optional 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_keystring

Optional 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

platformstringrequired

GOOGLE, META, LINKEDIN, REDDIT, TIKTOK, SNAPCHAT, etc.

actionstring

Default: upsert

upsertenabledisable
site_keystring

sp_... site key; uses first active site for the org if omitted.

customer_idstring

Google Ads customer ID (digits only, no dashes).

conversion_action_idstring

Google Ads conversion action resource ID.

pixel_idstring

Meta / Reddit / Snapchat / OpenAI Ads pixel ID.

conversion_rule_idstring

LinkedIn conversion rule ID.

pixel_codestring

TikTok pixel code.

Docs, Sheets & Publishing

5

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

Parameters

titlestringrequired

Document title

contentstring

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

htmlstring

Raw 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

slugstringrequired

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

titlestringrequired

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

markdownstringrequired

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

descriptionstring

Meta description (defaults to the title).

datestring

Publish date YYYY-MM-DD (defaults to today).

categorystring

Content category (e.g. "guides", "comparisons", "product").

tagsstring

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

open_prboolean

Open a PR (default) or push directly to the deploy branch.

content_pathstring

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

base_branchstring

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

Create a Google Sheet from tabular data (5 credits)

Parameters

titlestringrequired

Spreadsheet title

headersstring

Comma-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_datastring

JSON 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_idstring

Spreadsheet ID (or pass `url` instead)

urlstring

Full Google Sheets URL (alternative to spreadsheet_id)

rangestring

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

header_rownumber

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

max_rowsnumber

Maximum 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

rangestringrequired

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

valuesstringrequired

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

spreadsheet_idstring

Spreadsheet ID (or pass `url` instead)

urlstring

Full Google Sheets URL (alternative to spreadsheet_id)

value_input_optionstring

Default: USER_ENTERED

USER_ENTEREDRAW

Landing Pages & Domains

7

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

Parameters

titlestringrequired

Page title / brand name shown in hero and browser tab

promptstringrequired

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

cta_urlstringrequired

URL the CTA button links to (e.g., signup page)

brand_urlstring

Authoritative 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_textstring

CTA button text (default: "Get Started")

stylestring

Design style (default: modern)

modernminimalbold
slugstring

URL slug (auto-generated from title if omitted). Max 128 chars.

lead_formstring

Optional 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

slugstringrequired

The 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

slugstringrequired

The landing page slug to update

google_conversion_labelstring

Google Ads conversion label (the part after AW-.../)

fillout_form_idstring

Fillout form id (the /t/{id} token)

google_pixel_idstring

Google tag id (AW-...)

meta_pixel_idstring

Meta pixel id

linkedin_pixel_idstring

LinkedIn partner id

reddit_pixel_idstring

Reddit pixel id (a2_...)

rotate_webhook_tokenboolean

Issue 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

slugstringrequired

The landing page slug to update

html_contentstringrequired

Full 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_contentstringrequired

Full HTML string (or a fragment — it will be wrapped).

titlestring

Optional page title (defaults to "Uploaded Landing Page").

slugstring

Optional 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

slugstringrequired

The landing page slug

domainstringrequired

Custom 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

slugstringrequired

The landing page slug

Audiences & Targeting

7

Upload 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

platformstringrequired

Target platform - "google", "meta", "linkedin", etc.

audience_namestring

Name for the audience (e.g., "Clay - Q1 Enterprise Leads")

emailsstring

Comma-separated raw email addresses (will be SHA-256 hashed before upload).

hashed_emailsstring

Comma-separated SHA-256 hashed emails (lowercase hex).

phonesstring

Comma-separated raw phone numbers (will be normalized + SHA-256 hashed).

hashed_phonesstring

Comma-separated SHA-256 hashed phones (lowercase hex).

mobile_idsstring

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

hashed_mobile_idsstring

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

company_namesstring

Comma-separated company names (LinkedIn only)

company_domainsstring

Comma-separated company domains (Google B2B targeting, LinkedIn)

csv_pathstring

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

csv_urlstring

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

emails_artifact_idstring

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

hashed_emails_artifact_idstring

Same as above but for SHA-256 hashed emails.

phones_artifact_idstring

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

hashed_phones_artifact_idstring

Artifact id for SHA-256 hashed phones.

mobile_ids_artifact_idstring

Artifact id for raw mobile advertising IDs (IDFA / GAID). Meta only.

audience_typestring

Default: EMAIL. Pre-hashed values are detected automatically from CSV column headers.

EMAILCOMPANYLOOKALIKE
account_idstring

Optional 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).

stagefinalize
batch_keystring

Required with batch_action - stable identifier for the batch (e.g., "q1_leads_feb2026")

customer_file_sourcestring

Meta only. Origin of the audience data. Default: USER_PROVIDED_ONLY.

USER_PROVIDED_ONLYPARTNER_PROVIDED_ONLYBOTH_USER_AND_PARTNER_PROVIDED
i_have_consentboolean

Confirm 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

bodystringrequired

UTF-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_namestring

Name 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_audience
ttl_secondsnumber

How long the artifact lives before being swept (default 1 hour, max 24 hours).

i_have_consentboolean

Confirm 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

platformstringrequired

Only "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_namestringrequired

Name for the campaign

audience_idstringrequired

The audience ID from sync_audience() result

daily_budgetnumber

Daily budget in USD (default: $25)

headlinestring

Ad headline text

descriptionstring

Ad description text

final_urlstring

Landing page URL

image_urlstring

URL of the creative image asset. Required for LinkedIn.

account_idstring

Optional specific ad account ID

List existing audiences on an ad platform (2 credits)

Parameters

platformstringrequired

Ad platform

googlelinkedinmetareddittiktokmicrosofttrade_deskstackadaptamazon_dspx
account_idstring

Optional 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

platformstringrequired

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

redditgoogle
audience_idstringrequired

The platform audience id to delete (e.g. Reddit "ca.123…", Google's numeric user list ID).

account_idstring

Optional 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_idstringrequired

The 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_idstring

The platform's audience/user-list/custom-audience ID to attach (provide this OR segment_urn, linkedin only).

segment_urnstring

adSegment URN to attach (linkedin only, alternative to audience_id).

modestring

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

addremovereplace
facetstring

LinkedIn-only targeting facet. Default: audienceMatchingSegments

audienceMatchingSegmentsdynamicSegments
platformstring

Ad platform.

linkedingooglemetatiktokredditmicrosoftstackadaptx
ad_group_idstring

The 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_audiencestringrequired

Source audience ID or name

platformstringrequired

Target platform (GOOGLE, META, etc.)

expansion_factornumber

How much to expand (1-10x seed size)

Guardrails & Alerts

4

Arm 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_idstringrequired

campaign_idstringrequired

conversion_action_idstringrequired

spend_thresholdnumberrequired

min_age_hoursnumber

platformstring

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_idnumberrequired

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

Parameters

thresholdnumberrequired

Weekly spend threshold in USD (e.g. 10000)

emailstringrequired

Email address for email alerts

phonestring

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

notifystring

Comma-separated channels to use: email, slack, sms, whatsapp (default: all)

platformsstring

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

Autonomous Agents

2

Create 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_idstring

Synter campaign/project UUID to scope the agent to. Optional but recommended.

skill_slugstring

Autonomous-capable skill to run. Defaults to "campaign-health-monitoring".

cron_expressionstring

5-field cron. Defaults to "0 */4 * * *" (every 4h).

namestring

Optional human label for the schedule.

descriptionstring

Optional description.

platformstring

Optional platform scope (e.g. "google", "meta").

approval_modestring

Default "none" for the pacing monitor, "required" otherwise.

requiredoptionalnone
notify_channelsstring

Comma-separated channels: email, slack, whatsapp, in_app. Defaults to "slack".

notify_on_completionboolean

Send a notification when each run finishes.

organization_idnumber

Optional 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_idnumber

Optional workspace id (defaults to the API key's org).

Skills

2

List public Synter execution skills and platform SOPs (free)

No parameters required.

Load a public Synter execution skill or platform SOP (free)

Parameters

skill_slugstringrequired

The slug of the skill to load (e.g., 'customer-facing-product-updates')

Growth & Company Research

12

Discover ICP prospects from RevenueBase (verified B2B contacts for ad audiences) or hiring companies via Sumble (outreach), plus listicle/podcast placements. (5 credits)

Parameters

discover_typestring

What to discover. "icp" (RevenueBase ICP contacts for ad audiences), "jobs" (hiring companies via Sumble), "listicles", "podcasts", or "all".

icpapollojobslisticlespodcastsall
querystring

Comma-separated job-title keywords for "icp", or the job-title search query for "jobs".

limitnumber

Max results (icp capped at 100000).

min_employeesnumber

Min company size for "icp" (default: 50).

max_employeesnumber

Max company size for "icp" (default: 2000).

industriesstring

Optional comma-separated industry keywords for "icp".

geosstring

Optional comma-separated country/region names for "icp".

job_levelsstring

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

decision_makers_onlyboolean

For "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

domainstringrequired

Domain to enrich (e.g., "acme.com")

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

Parameters

modestring

Pipeline mode

discoverfollowupsx-scanx-postlisticle-discover
querystring

Job title search query

limitnumber

Max leads per run

channelstring

Outreach channel

emailboth

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

domainstringrequired

live_onlyboolean

include_trustboolean

include_rawboolean

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

Parameters

domainsstring[]required

sincestring

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

Parameters

domainstringrequired

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

Parameters

techstring

querystring

keywordstring

countriesstring[]

other_techsstring[]

limitnumber

offsetstring

include_metaboolean

commitboolean

spendstring

revenuestring

employeesstring

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

Parameters

querystringrequired

limitnumber

pagenumber

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

Parameters

companystringrequired

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

Parameters

domainstringrequired

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

querystringrequired

max_resultsnumber

entity_typestring

personbusiness

Forecasting & Measurement

5

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

Parameters

metricstring

KPI to forecast

spendcparoasclicksconversionsctrcpc
horizonnumber

Forecast horizon in days (7, 14, or 30)

campaign_idstring

Optional specific campaign ID (forecasts all if omitted)

platformstring

Optional platform filter (GOOGLE, META, LINKEDIN, etc.)

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

Parameters

total_budgetnumberrequired

Total daily budget in USD

targetstring

Optimization target - conversions or roas

constraintsstring

Optional 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_idstringrequired

Campaign ID to run the experiment on

platformstringrequired

Ad platform (GOOGLE, META, etc.)

actionstring

start, status, or stop

startstatusstop
reward_metricstring

Metric to optimize - ctr, conversion_rate, or roas

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

Parameters

date_rangestring

last_7_dayslast_30_dayslast_90_days
conversion_typestring

Optional filter for specific conversion type

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

Parameters

platformstringrequired

Ad platform (GOOGLE, META, etc.)

methodstring

geo_lift or synthetic_control

geo_liftsynthetic_control
test_regionsstring

Comma-separated test region codes

control_regionsstring

Comma-separated control region codes

Creative Generation

9

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

Parameters

promptstringrequired

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

sizestring

Image dimensions. Defaults to 1200x628 when omitted.

providerstring

Image model — imagen (default), flux, sdxl.

namestring

Optional asset name for the artifact library.

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

Parameters

product_namestringrequired

Product or brand name.

key_benefitstringrequired

Main value proposition.

conceptstring

Generic video framework name from the Node MCP contract.

target_audiencestring

Optional audience persona.

durationnumber

Optional video duration in seconds.

providerstring

Optional 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

promptstringrequired

Image description (ai mode) or thematic context hint (system-graphic mode).

platformstring

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

googlemetalinkedinreddittiktokxmicrosoftspotify
namestring

Asset name for the artifact library.

providerstring

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

sizesstring

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

negative_promptstring

What to avoid in the image (ai mode only).

headlinestring

Required for system-graphic mode. Strongly recommended for all LinkedIn/social ads.

ctastring

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

subheadlinestring

Optional body text below the headline.

modestring

Default: "ai". Use system-graphic for copy-led creatives.

aisystem-graphic
eyebrowstring

Optional short uppercase label rendered above the headline (system-graphic only).

statstring

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

creative_briefstring

Creative 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

conceptstringrequired

Creative concept.

ugc-testimonialpasvs-alternativemade-easybefore-afterhook-demo-ctaproduct-demosocial-proof
productstringrequired

Product or brand name (e.g. "Synter - AI Ad Platform").

platformstring

Target platform for sizing. Default: tiktok.

tiktokinstagram_reelsyoutube_shortsyoutubelinkedinmeta_feedtwitterreddit
providerstring

Video model. Veo is the default recommended provider.

veolumarunwayheygen
pain_pointstring

The viewer's pain point (for ugc-testimonial and pas concepts).

benefitstring

Key benefit your product delivers.

ctastring

Call-to-action text.

namestring

Asset name for the artifact library.

target_audiencestring

Who the ad is targeting (for persona/hook customization).

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

Parameters

productstringrequired

Product or brand name (e.g. "Synter").

personastring

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

b2bagencyperformanceecommerce
scriptstring

Custom script for the avatar to speak. If omitted, a persona script is generated.

avatarstring

Avatar name (default: asha).

ashacartertrevin
aspect_ratiostring

Output format. Default: 9:16 (vertical).

9:161:116:9
namestring

Asset name for the artifact library.

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

Parameters

platformstringrequired

Target platform.

googlemetalinkedinredditmicrosofttiktokxspotify
productstringrequired

Product name and brief description (e.g. "Synter - AI agent operator for ads").

landing_page_urlstring

Destination URL for context on value props.

tonestring

Writing tone. Default: professional.

professionalconversationalurgentplayfultechnicaleducational
headlines_countnumber

Override the platform default headline count.

descriptions_countnumber

Override the platform default description count.

keywordsstring

Comma-separated keywords to weave into the copy.

ctastring

Preferred 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

scriptstringrequired

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

productstringrequired

Product name (used for persona context if the script is short).

personastring

Avatar tone context. Default: b2b.

b2bagencyperformanceecommerce
avatarstring

Avatar name. Default: asha.

ashacartertrevin
namestring

Asset 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_typestring

Filter by type. Omit for all types.

IMAGEVIDEO
limitnumber

Maximum number of results per page (default 20, max 100).

offsetnumber

Number 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_urlstringrequired

URL of the asset to upload (from create_image_asset / create_video_ad).

platformstringrequired

Target platform.

googlemetalinkedintiktokreddit
campaign_idstringrequired

Campaign ID to attach the creative to.

asset_typestring

Default: IMAGE.

IMAGEVIDEO
ad_group_idstring

Ad group / ad set ID (required for most platforms).

namestring

Name for the uploaded creative asset.

headlinestring

Ad headline text (required for LinkedIn).

descriptionstring

Ad body / description text.

landing_urlstring

Destination URL for WEBSITE_VISIT LinkedIn campaigns.

form_idstring

LinkedIn Lead Gen Form ID — when provided, routes to the LeadGen creative script.

account_idstring

Specific ad-account ID to target. Required when the campaign lives in a non-primary account.

Campaign Plans

7

Create or update a campaign launch plan (5 credits). Use plan_key for idempotency.

Parameters

plan_keystringrequired

Unique idempotency key (e.g. "zeroclick-q2-2026")

titlestringrequired

Human-readable plan title

brief_jsonstring

Optional 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_idstringrequired

The plan ID (from create_campaign_plan)

logical_keystringrequired

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

platformstringrequired

Platform identifier (x, reddit, meta, google, linkedin, gtm, synter)

entity_typestringrequired

Type of entity (campaign, ad_group, ad, tweet, promoted_tweet, website_card, post, pixel_tag, go_link)

remote_idstring

Platform-specific entity ID (after creation)

remote_ref_jsonstring

JSON with additional platform references

metadata_jsonstring

JSON with entity-specific metadata (activate_script, activate_args, pause_script, etc.)

desired_statestring

Target state for launch

pausedactive
parent_logical_keystring

Logical key of parent entity (for dependency ordering)

provider_account_idstring

Platform 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_idstringrequired

The plan ID to publish

expected_versioninteger

The 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_idstringrequired

The plan ID to execute

execute_tokenstringrequired

The execute token (from create_campaign_plan response)

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

Parameters

plan_idstringrequired

The plan ID to check

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

Parameters

plan_idstringrequired

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_urlstringrequired

Synter LP URL (e.g. "https://syntermedia.ai/lp/my-saas")

business_namestringrequired

Brand name shown in ads (max 25 chars)

trial_daysnumber

Length of free trial to promote in ad copy (default: 30)

total_daily_budgetnumber

Total daily budget across all campaigns in USD (default: $50)

month_labelstring

Label for campaign names e.g. "Apr 2026" (defaults to current month)

Documents & Notifications

3

Create a document in the Campaign IDE editor (free). Perfect for reports, audits, strategy docs, and plans that can be collaboratively edited.

Parameters

titlestringrequired

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

contentstringrequired

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

organization_idnumber

Optional 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_idnumber

uuidstring

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

channelstringrequired

textstringrequired

LLM & Brand Visibility (GEO)

13

Get workspace LLM visibility overview — Share of Voice (SOV), citations, brand mentions, and top opportunities across ChatGPT, Claude, Perplexity, and AI Overviews.

Parameters

project_idstring

Optional project ID filter

daysnumber

Lookback window in days (default: 30)

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

Parameters

project_idstring

Optional project ID filter

searchstring

Optional prompt search filter

active_onlyboolean

Filter for active prompts only (default: true)

limitnumber

Max items to return (default: 50)

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

Parameters

project_idstring

Optional project ID filter

sighting_typestring

Optional filter by sighting type (e.g., 'chatgpt_ad')

limitnumber

Max items to return (default: 50)

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

Parameters

project_idstring

Optional project ID filter

statusstring

Filter by status (e.g. 'open', 'completed')

limitnumber

Max items to return (default: 50)

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

Parameters

project_idstring

Optional project ID filter

prompt_idstring

Optional prompt ID filter

focus_areastring

Strategy focus area (e.g. 'all', 'wikipedia', 'listicles')

limitnumber

Max recommendations to return (default: 10)

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

Parameters

project_idstring

Optional project ID filter

domainstring

Target domain to discover prompts for

competitorsstring[]

List of competitor domains

icp_personastring

Target ICP persona

auto_seedboolean

Automatically 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

domainstringrequired

Target domain to audit (e.g. 'example.com')

check_llms_txtboolean

Check llms.txt availability (default: true)

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

Parameters

project_idstring

Optional project ID

idempotency_keystring

Optional idempotency key to prevent duplicate scans

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

Parameters

brand_namestringrequired

Brand name

domainstringrequired

Official domain

descriptionstring

Company overview and history

founding_yearnumber

Founding year

headquartersstring

Headquarters location

citationsstring[]

List of independent secondary source URLs

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

Parameters

brand_namestringrequired

Brand name

domainstringrequired

Official domain

founding_yearnumber

Founding year

headquartersstring

Headquarters location

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

Parameters

brand_namestringrequired

Brand name

domainstringrequired

Official domain

descriptionstring

Brand description

pricing_summarystring

Pricing 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_promptstringrequired

Target commercial buying prompt

brand_namestringrequired

Your brand name

domainstring

Your official domain

competitorsstring[]

Competitor brand names or domains

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

Parameters

brand_namestringrequired

Brand name

domainstringrequired

Official domain

review_platformsstring[]

List of review platforms to audit (e.g. ['g2', 'capterra'])

Account Structure Hygiene

2

Audit 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

platformstring

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

redditgoogle
account_idstring

Optional ad account ID; falls back to the connected account.

account_namestring

Optional 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

platformstring

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

redditgoogle
account_idstring

Optional ad account ID; falls back to the connected account.

account_namestring

Optional friendly account name selector when multiple are connected.

applyboolean

False (default) = dry run, writes nothing. True = archive the duplicate clutter listed in the plan. Requires customer approval.

Advanced (Script Library)

3

Execute 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

actionstringrequired

The 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.

platformstring

Target 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_idstring

Optional specific ad account ID to use

dry_runboolean

Optional validation-only mode. Defaults to false so approved actions execute once.

customer_idstring

Alias for account_id (the native run_ppc_script spelling); ignored when account_id is set.

expected_namesobject

Confirm-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_namestringrequired

Example usage

Just ask naturally — your AI assistant picks the right tool:

You sayTool used
What's my Google Ads spend this week?pull_google_ads_performance
Show all my active campaignslist_campaigns
Pause the Brand Search campaignpause_campaign
Create a Search campaign for our new productexecute
Generate a hero image for my landing pagecreate_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 customersbuild_lookalike_audience
Was this page helpful?