Use cases
What you can ask,once the accounts are connected.
Not a list of features. The questions people put to their advertising accounts on a normal Tuesday, and the work that used to take four exports and a pivot table.
- 22
- Questions
- 9
- Playbooks
- 6
- Platforms
- 185
- Tools behind them
Diagnose
The questions that normally cost an afternoon of exports and a pivot table.
9 questions
Which TikTok creatives are fatiguing, and what should we swap them for?
Reads ad-level daily reporting, spots the frequency and CTR decay pattern, and returns the refresh recipes TikTok's own diagnostics imply.
tiktok_get_creative_fatigue_recipestiktok_get_insightstiktok_get_creativesShow me search terms we paid for last month that we would never have bid on.
Pulls the search term report, joins it to keyword performance, and lists spend against terms with no conversion and no match to your keyword set.
google_ads_get_search_termsgoogle_ads_get_keyword_performancegoogle_ads_get_budgetsIs any Performance Max campaign spending without the ad strength to justify it?
Reads asset group diagnostics, ad strength, coverage action items and placement types, then ranks campaigns by spend over asset health.
google_ads_get_pmax_asset_diagnosticsgoogle_ads_get_pmax_placementsgoogle_ads_get_pmax_assetsWhich of our pages are competing against each other in Search?
Runs the query-page cannibalisation detector over Search Analytics and clusters what is left by brand, question and category intent.
gsc_detect_cannibalizationgsc_cluster_queriesgsc_query_search_analyticsAre two of our TikTok ad groups bidding against each other?
Compares targeting fields, custom audiences and saved audiences across ad groups and reports where the overlap is large enough to matter.
tiktok_get_audience_overlaptiktok_get_adgroupstiktok_get_audience_detailsWhy has this Meta ad set stopped spending its budget?
Reads Meta's own delivery diagnostics for the ad set, then the audience size, the schedule and the recent insights, and names the constraint rather than guessing at it.
meta_get_delivery_diagnosticsmeta_get_adsetsmeta_get_insightsDid our brand lift study actually prove anything?
Pulls the study, its results and the confidence intervals, then reads them back in plain language, including when the answer is that the test was underpowered.
meta_get_ad_studiesmeta_get_study_resultsmeta_interpret_experiment_resultsIs our GA4 property measuring what we think it is?
Runs the ecommerce, server-side tagging and key event diagnostics in one pass, and lists the events that are declared but never fire, or fire without the parameters the reports expect.
ga4_get_ecommerce_diagnosticsga4_get_server_side_tagging_diagnosticsga4_get_key_eventsWho changed what in this Google Ads account in the last two weeks?
Reads the change event log inside the 30-day window Google allows, with the actor, the resource and the field that moved.
google_ads_get_change_eventsgoogle_ads_get_campaignsReport
The Monday morning numbers, without four exports and a spreadsheet.
9 questions
Spend, CPA and ROAS by campaign across all four platforms, last 7 days against the 7 before.
One request, four APIs. Each platform's insights tool plans its own query, then the assistant lines the rows up in a single table.
meta_get_insightsgoogle_ads_get_insightstiktok_get_insightspinterest_run_reportWhich Shopping products take spend and return nothing?
Joins Shopping performance to the Merchant Center catalogue by item ID, brand and custom label, so the answer names products rather than IDs.
google_ads_get_shopping_performancegoogle_ads_get_shopping_productsDid the checkout funnel move after Tuesday's release?
Runs the GA4 funnel report step by step over both windows and flags the step where the drop-off changed, not just the total.
ga4_run_advanced_funnel_reportga4_get_ecommerce_diagnosticsga4_run_reportWhich Meta creatives carried last week, and which ones should we retire?
Reads ad-level insights against the creative behind each ad, so the table names the asset and the hook rather than an ad ID.
meta_get_creativesmeta_get_insightsmeta_get_adsWhich catalogue products are our Meta ads actually selling?
Joins product-level insights to the catalogue, so the report names the product, its brand and its custom labels instead of returning item IDs.
meta_join_product_insightsmeta_get_catalog_productsmeta_get_insightsWhere did last week's sessions and revenue come from, by channel?
Reads the property's own channel grouping rather than a default one, then reports sessions, key events and revenue per channel against the week before.
ga4_get_channel_groupsga4_run_reportga4_get_key_eventsCompare Web, Image and Discover in Search Console for this property.
Queries every search type in one pass and returns clicks, impressions, CTR and position side by side, with the data freshness date attached.
gsc_compare_search_typesgsc_get_data_freshnessgsc_list_sitesWhere did we lose clicks between this month and last?
Runs the losses-and-gains comparison on queries and pages and returns the deltas ranked by absolute click loss.
gsc_find_losses_gainsgsc_analyze_search_appearance_trendsBreak Pinterest performance down by product group and by SKU.
Routes the catalogue report through Pinterest's async reporting when the window is too wide for the sync endpoint, then returns the rows.
pinterest_run_catalog_reportpinterest_run_conversion_product_reportAct
Changes are described before they are applied. Nothing moves without a second call.
4 questions
Nothing moves on a single call. Every write tool returns a description of the change and stops. Applying it takes a second, explicit call, which is the moment you read what it is about to do. How previews work.
Pause every Meta ad set above 60 EUR CPA over the last 14 days.
Reads the insights first, then returns the exact list of ad sets it would pause and stops. It only applies the change when you confirm.
meta_get_insightsmeta_get_adsetsmeta_update_adset_statusCut the daily budget on the three worst Google campaigns by 30 percent.
Resolves the campaign budget IDs, computes the new amounts in the account currency, and shows them to you before writing anything.
google_ads_get_budgetsgoogle_ads_get_campaignsgoogle_ads_update_campaign_budgetPut the whole Pinterest account on hold until Monday.
Lists the active campaigns, then pauses them one by one after the preview. Archived campaigns are left alone.
pinterest_get_account_entitiespinterest_update_campaign_statusRelaunch the TikTok campaigns we paused during the stock shortage.
Finds the campaigns by delivery status and previous status, then resumes them and confirms the new budget on each.
tiktok_get_delivery_statustiktok_update_campaign_statustiktok_update_campaign_budgetThe jobs that come back every week.
A question is one turn. These are the pieces of work behind them: the account audit, the Monday report across every platform, the Shopping products that take spend and return nothing. Each one names the tools it calls and what it will refuse to do.
9 playbooks
Find wasted search spend
Search terms nobody would have bid on, with the spend beside them.
Audit an ad account
Spend, delivery and recent changes, read in one turn instead of four exports.
One table, every platform
Four ad platforms and two analytics sources, lined up in one answer.
Move budget safely
Budget changes that preview first and need a second, explicit call.
Let an assistant make changes
Preview, confirm, always paused on creation, and no deletion at all.
Run an agent unattended
For OpenClaw, Hermes, or anything on a schedule. Bound it before you start it.
Spot creative fatigue
Frequency, CTR decay and the refresh recipes TikTok's own diagnostics imply.
Ask GA4 directly
Reports, funnels and custom channel groups, without the report builder.
Read Search Console
Cannibalisation, lost clicks and query clusters, past the 1,000 row screen.
Where the answers come from.
Every question above resolves to tools on one or more of these servers. Each has its own page, its own endpoint, and its own list of what it can and cannot change.
None of this needs installing.
Connect a platform, tick the accounts you want reachable, paste one URL into your assistant. It discovers the rest on its own.