Google Ads MCP Server for Cloudflare Workers
47 tools available in the Google Ads MCP server. Each tool can be called by AI assistants to perform specific actions.
googleads_list_adsList ads for a Google Ads customer account.
Args:
Returns: Paginated list of ads with type, status, and URLs.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"adGroupId": {
"type": "string",
"description": "Filter by ad group ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_list_ad_groupsList ad groups for a Google Ads customer account.
Args:
Returns: Paginated list of ad groups with status, type, and bids.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_ad_groupGet details for a specific ad group.
Args:
Returns: Ad group details including status, type, campaign, and bids.
{
"type": "object",
"required": [
"customerId",
"adGroupId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_create_ad_groupCreate a new ad group.
Args:
Returns: The created ad group.
{
"type": "object",
"required": [
"customerId",
"campaignResourceName",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Ad group name"
},
"status": {
"enum": [
"ENABLED",
"PAUSED"
],
"type": "string",
"default": "ENABLED",
"description": "Initial status"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"cpcBidDollars": {
"type": "number",
"description": "Default CPC bid in dollars"
},
"cpmBidDollars": {
"type": "number",
"description": "Default CPM bid in dollars"
},
"targetCpaDollars": {
"type": "number",
"description": "Target CPA in dollars"
},
"campaignResourceName": {
"type": "string",
"description": "Campaign resource name"
}
}
}googleads_update_ad_groupUpdate an existing ad group.
Args:
Returns: The updated ad group.
{
"type": "object",
"required": [
"customerId",
"adGroupId"
],
"properties": {
"name": {
"type": "string",
"description": "New ad group name"
},
"status": {
"enum": [
"ENABLED",
"PAUSED",
"REMOVED"
],
"type": "string",
"description": "New status"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"cpcBidDollars": {
"type": "number",
"description": "New CPC bid in dollars"
},
"cpmBidDollars": {
"type": "number",
"description": "New CPM bid in dollars"
},
"targetCpaDollars": {
"type": "number",
"description": "New target CPA in dollars"
}
}
}googleads_pause_ad_groupPause an ad group.
Args:
Returns: The paused ad group.
{
"type": "object",
"required": [
"customerId",
"adGroupId"
],
"properties": {
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_enable_ad_groupEnable (unpause) an ad group.
Args:
Returns: The enabled ad group.
{
"type": "object",
"required": [
"customerId",
"adGroupId"
],
"properties": {
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_adGet details for a specific ad.
Args:
Returns: Ad details including type, status, and creative content.
{
"type": "object",
"required": [
"customerId",
"adGroupId",
"adId"
],
"properties": {
"adId": {
"type": "string",
"description": "Ad ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_create_responsive_search_adCreate a new responsive search ad.
Responsive Search Ads automatically test different headline and description combinations to find the best performing combinations for each search query.
Args:
Returns: The created responsive search ad.
{
"type": "object",
"required": [
"customerId",
"adGroupResourceName",
"finalUrls"
],
"properties": {
"path1": {
"type": "string",
"description": "Display URL path 1"
},
"path2": {
"type": "string",
"description": "Display URL path 2"
},
"finalUrls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Landing page URLs"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"adGroupResourceName": {
"type": "string",
"description": "Ad group resource name"
}
}
}googleads_pause_adPause an ad.
Args:
Returns: The paused ad.
{
"type": "object",
"required": [
"customerId",
"adGroupId",
"adId"
],
"properties": {
"adId": {
"type": "string",
"description": "Ad ID"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_enable_adEnable (unpause) an ad.
Args:
Returns: The enabled ad.
{
"type": "object",
"required": [
"customerId",
"adGroupId",
"adId"
],
"properties": {
"adId": {
"type": "string",
"description": "Ad ID"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_list_assetsList assets for a Google Ads customer account.
Assets are reusable creative elements like text, images, and videos that can be used across multiple ads and campaigns.
Args:
Returns: Paginated list of assets with type and name.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_assetGet details for a specific asset.
Args:
Returns: Asset details including type, name, and content.
{
"type": "object",
"required": [
"customerId",
"assetId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"assetId": {
"type": "string",
"description": "Asset ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_list_audiencesList audiences for a Google Ads customer account.
Audiences are groups of users defined by their interests, behaviors, or demographics that can be targeted in campaigns.
Args:
Returns: Paginated list of audiences with name, description, and status.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_audienceGet details for a specific audience.
Args:
Returns: Audience details including name, description, and status.
{
"type": "object",
"required": [
"customerId",
"audienceId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"audienceId": {
"type": "string",
"description": "Audience ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_list_user_listsList user lists (remarketing lists) for a Google Ads customer account.
User lists are collections of users who have interacted with your business, such as website visitors or customer email lists.
Args:
Returns: Paginated list of user lists with type, size, and status.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_user_listGet details for a specific user list.
Args:
Returns: User list details including type, size, membership life span, and status.
{
"type": "object",
"required": [
"customerId",
"userListId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"userListId": {
"type": "string",
"description": "User list ID"
}
}
}googleads_add_keywords_bulkAdd multiple keywords to an ad group in a single operation.
Args:
Returns: Array of created keywords.
{
"type": "object",
"required": [
"customerId",
"adGroupResourceName"
],
"properties": {
"customerId": {
"type": "string",
"description": "Customer ID"
},
"adGroupResourceName": {
"type": "string",
"description": "Ad group resource name"
}
}
}googleads_list_bidding_strategiesList portfolio bidding strategies for a Google Ads customer account.
Portfolio bidding strategies are shared strategies that can be applied to multiple campaigns.
Args:
Returns: Paginated list of bidding strategies with type, status, and campaign count.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_bidding_strategyGet details for a specific portfolio bidding strategy.
Args:
Returns: Bidding strategy details including type, targets, and campaign count.
{
"type": "object",
"required": [
"customerId",
"biddingStrategyId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"biddingStrategyId": {
"type": "string",
"description": "Bidding strategy ID"
}
}
}googleads_list_budgetsList all campaign budgets for a Google Ads customer account.
Args:
Returns: Paginated list of campaign budgets with amount and delivery method.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_budgetGet details for a specific campaign budget.
Args:
Returns: Budget details including amount, delivery method, and status.
{
"type": "object",
"required": [
"customerId",
"budgetId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"budgetId": {
"type": "string",
"description": "Budget ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_create_budgetCreate a new campaign budget.
Args:
Returns: The created budget with its resource name for use in campaign creation.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"name": {
"type": "string",
"description": "Budget name"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"amountDollars": {
"type": "number",
"default": "STANDARD') .describe('Budget delivery method",
"description": "Daily budget in dollars"
},
"explicitlyShared": {
"type": "boolean",
"default": true,
"description": "Whether budget is shared"
}
}
}googleads_update_budgetUpdate a campaign budget amount.
Args:
Returns: The updated budget.
{
"type": "object",
"required": [
"customerId",
"budgetId",
"amountDollars"
],
"properties": {
"budgetId": {
"type": "string",
"description": "Budget ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"amountDollars": {
"type": "number",
"description": "New daily budget in dollars"
}
}
}googleads_list_campaignsList all campaigns for a Google Ads customer account.
Args:
Returns: Paginated list of campaigns with status, channel type, and bidding strategy.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_campaignGet details for a specific campaign.
Args:
Returns: Full campaign details including budget, dates, and bidding configuration.
{
"type": "object",
"required": [
"customerId",
"campaignId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"campaignId": {
"type": "string",
"description": "Campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_create_campaignCreate a new campaign.
Args:
Returns: The created campaign.
{
"type": "object",
"required": [
"customerId",
"name",
"budgetResourceName"
],
"properties": {
"name": {
"type": "string",
"description": "Campaign name"
},
"status": {
"enum": [
"ENABLED",
"PAUSED"
],
"type": "string",
"default": "PAUSED",
"description": "Initial status"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"targetCpa": {
"type": "number",
"description": "Target CPA in dollars"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"targetRoas": {
"type": "number",
"description": "Target ROAS (e.g., 2.0 for 200%)"
},
"budgetResourceName": {
"type": "string",
"description": "Campaign budget resource name"
}
}
}googleads_remove_keywordRemove a keyword from an ad group.
Args:
Returns: Confirmation of removal.
{
"type": "object",
"required": [
"customerId",
"adGroupId",
"criterionId"
],
"properties": {
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"criterionId": {
"type": "string",
"description": "Keyword criterion ID"
}
}
}googleads_update_campaignUpdate an existing campaign.
Args:
Returns: The updated campaign.
{
"type": "object",
"required": [
"customerId",
"campaignId"
],
"properties": {
"name": {
"type": "string",
"description": "New campaign name"
},
"status": {
"enum": [
"ENABLED",
"PAUSED",
"REMOVED"
],
"type": "string",
"description": "New status"
},
"endDate": {
"type": "string",
"description": "New end date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "New start date (YYYY-MM-DD)"
},
"targetCpa": {
"type": "number",
"description": "New target CPA in dollars"
},
"campaignId": {
"type": "string",
"description": "Campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"targetRoas": {
"type": "number",
"description": "New target ROAS"
}
}
}googleads_pause_campaignPause a campaign.
Args:
Returns: The paused campaign.
{
"type": "object",
"required": [
"customerId",
"campaignId"
],
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_enable_campaignEnable (unpause) a campaign.
Args:
Returns: The enabled campaign.
{
"type": "object",
"required": [
"customerId",
"campaignId"
],
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_remove_campaignRemove (delete) a campaign.
Args:
Returns: Confirmation of removal.
{
"type": "object",
"required": [
"customerId",
"campaignId"
],
"properties": {
"campaignId": {
"type": "string",
"description": "Campaign ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_list_conversion_actionsList conversion actions for a Google Ads customer account.
Conversion actions track valuable customer activities like purchases, sign-ups, phone calls, and app installs.
Args:
Returns: Paginated list of conversion actions with type, category, and status.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_conversion_actionGet details for a specific conversion action.
Args:
Returns: Conversion action details including type, category, value settings, and attribution model.
{
"type": "object",
"required": [
"customerId",
"conversionActionId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"conversionActionId": {
"type": "string",
"description": "Conversion action ID"
}
}
}googleads_list_accessible_customersList all Google Ads customer accounts accessible with the current credentials.
Returns a list of customer resource names that can be managed with the provided credentials. These are the accounts you can operate on.
Returns: List of customer resource names (e.g., "customers/1234567890")
{
"type": "object",
"properties": {}
}googleads_get_customerGet details for a specific Google Ads customer account.
Args:
Returns: Customer details including name, currency, timezone, and status.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"customerId": {
"type": "string",
"description": "Customer ID (e.g., \"1234567890"
}
}
}googleads_list_keywordsList keywords for a Google Ads customer account.
Args:
Returns: Paginated list of keywords with match type, status, bid, and quality score.
{
"type": "object",
"required": [
"customerId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Number of results"
},
"adGroupId": {
"type": "string",
"description": "Filter by ad group ID"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_get_keywordGet details for a specific keyword.
Args:
Returns: Keyword details including text, match type, status, bid, and quality info.
{
"type": "object",
"required": [
"customerId",
"adGroupId",
"criterionId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"adGroupId": {
"type": "string",
"description": "Ad group ID"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"criterionId": {
"type": "string",
"description": "Keyword criterion ID"
}
}
}googleads_add_keywordAdd a keyword to an ad group.
Args:
Returns: The created keyword.
{
"type": "object",
"required": [
"customerId",
"adGroupResourceName",
"text",
"matchType"
],
"properties": {
"text": {
"type": "string",
"description": "Keyword text"
},
"status": {
"enum": [
"ENABLED",
"PAUSED"
],
"type": "string",
"default": "ENABLED",
"description": "Initial status"
},
"matchType": {
"enum": [
"EXACT",
"PHRASE",
"BROAD"
],
"type": "string",
"description": "Match type"
},
"customerId": {
"type": "string",
"description": "Customer ID"
},
"cpcBidDollars": {
"type": "number",
"description": "CPC bid in dollars"
},
"adGroupResourceName": {
"type": "string",
"description": "Ad group resource name"
}
}
}googleads_queryExecute a GAQL (Google Ads Query Language) query for custom reporting.
GAQL allows you to query any Google Ads data including campaigns, ad groups, ads, keywords, and their performance metrics.
Example queries:
Campaign performance: SELECT campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS
Keyword performance: SELECT ad_group_criterion.keyword.text, metrics.impressions, metrics.conversions FROM keyword_view WHERE campaign.id = 123456
Ad group daily metrics: SELECT ad_group.name, segments.date, metrics.clicks FROM ad_group WHERE segments.date DURING LAST_7_DAYS
Args:
Returns: Query results with requested fields and metrics.
{
"type": "object",
"required": [
"customerId",
"query"
],
"properties": {
"query": {
"type": "string",
"description": "GAQL query string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pageSize": {
"type": "integer",
"default": 1000,
"maximum": 10000,
"minimum": 1,
"description": "Results per page"
},
"pageToken": {
"type": "string",
"description": "Pagination token"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_query_streamExecute a GAQL query using streaming for large result sets.
Use this for queries that may return more than 10,000 rows. The streaming endpoint returns all results without pagination.
Args:
Returns: All query results (may be large).
{
"type": "object",
"required": [
"customerId",
"query"
],
"properties": {
"query": {
"type": "string",
"description": "GAQL query string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"customerId": {
"type": "string",
"description": "Customer ID"
}
}
}googleads_campaign_performanceGet campaign performance metrics for a date range.
A convenience method that runs a pre-built GAQL query for campaign performance.
Args:
Returns: Campaign performance data with impressions, clicks, cost, and conversions.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
},
"campaignIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by campaign IDs"
},
"includeRemoved": {
"type": "boolean",
"default": false,
"description": "Include removed campaigns"
}
}
}googleads_adgroup_performanceGet ad group performance metrics for a date range.
Args:
Returns: Ad group performance data with impressions, clicks, cost, and conversions.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
}
}
}googleads_keyword_performanceGet keyword performance metrics for a date range.
Args:
Returns: Keyword performance data with impressions, clicks, cost, quality score, and conversions.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"adGroupId": {
"type": "string",
"description": "Filter by ad group ID"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
}
}
}googleads_search_terms_reportGet search terms report showing actual search queries that triggered ads.
Args:
Returns: Search terms with performance metrics.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
}
}
}googleads_geographic_performanceGet performance metrics by geographic location.
Args:
Returns: Performance data segmented by country and region.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
}
}
}googleads_device_performanceGet performance metrics by device type.
Args:
Returns: Performance data segmented by device (mobile, desktop, tablet).
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"campaignId": {
"type": "string",
"description": "Filter by campaign ID"
},
"customerId": {
"type": "string",
"default": "LAST_30_DAYS') .describe('Date range",
"description": "Customer ID"
}
}
}