Every Camberstack tool
These are the 13 tools your AI assistant gets when you connect Camberstack. This page is built from the same definitions the server uses, so it always matches what's live, and the descriptions are the ones your AI reads. The code is open source: read it on GitHub.
Read-only tools never change anything. Changes nothing in Google Ads
tools prepare or manage proposals. Only apply_changes edits your ads, and only after you approve a specific proposal.
disconnect asks you to confirm before it revokes access.
list_accounts List Google Ads accounts
Read-onlyLists every Google Ads account this login can reach, including client accounts under a manager (MCC). Start here.
account_overview Account overview
Read-onlySpend, clicks, conversions and cost per conversion per campaign over a window.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
days | Look-back window in days, ending yesterday Default 30. |
find_wasted_spend Find wasted spend
Read-onlyDiagnoses spend that isn't converting: checks conversion tracking first, then search terms that spent a conversion's worth with none, low-intent patterns (free, jobs, how-to, login) that never converted, and keywords to review. Returns suggested negative keywords ready to pass to propose_changes.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
days | Look-back window in days, ending yesterday Default 30. |
campaign_id | Limit to one campaign Optional. |
run_gaql Run a read-only GAQL query
Read-onlyRuns any read-only Google Ads Query Language SELECT for questions the other tools don't cover. Returns up to 500 rows.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
query | A GAQL SELECT statement Required. |
keyword_ideas Keyword ideas (Keyword Planner)
Read-onlyGoogle Keyword Planner ideas from seed keywords and/or a landing-page URL: average monthly searches, competition and the top-of-page bid range in the account's currency, biggest first. Ideas the account already targets, or already blocks as negatives, are marked in_account. Changes nothing.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
keywords | Up to 20 seed keywords Optional. |
url | A page to pull ideas from, such as the ad's landing page Optional. |
location_ids | Google geo target IDs. 2840 United States, 2826 United Kingdom, 2124 Canada, 2036 Australia, 2356 India. For a state, city or other country, look the ID up with run_gaql: SELECT geo_target_constant.id, geo_target_constant.canonical_name FROM geo_target_constant WHERE geo_target_constant.name = 'Denver' Default ["2840"]. |
language_id | Google language ID. 1000 English, 1003 Spanish, 1002 French, 1001 German, 1014 Portuguese Default "1000". |
min_searches | Drop ideas below this many average monthly searches Default 0. |
limit | Most ideas to return Default 50. |
keyword_metrics Keyword volume and bids (Keyword Planner)
Read-onlyGoogle Keyword Planner numbers for an exact list of keywords: average monthly searches, the last 12 months, competition and the top-of-page bid range in the account's currency. Use it to size keywords before adding them or to check a trend. Changes nothing.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
keywords | Keywords to look up Required. |
location_ids | Google geo target IDs. 2840 United States, 2826 United Kingdom, 2124 Canada, 2036 Australia, 2356 India. For a state, city or other country, look the ID up with run_gaql: SELECT geo_target_constant.id, geo_target_constant.canonical_name FROM geo_target_constant WHERE geo_target_constant.name = 'Denver' Default ["2840"]. |
language_id | Google language ID. 1000 English, 1003 Spanish, 1002 French, 1001 German, 1014 Portuguese Default "1000". |
propose_changes Propose changes (writes nothing)
Changes nothing in Google AdsChecks a set of changes against the live account and dry-runs them with Google, then stores them as a proposal and returns a plain-English summary. Nothing is changed. Show the summary to the user and apply only after they approve. Supported: add_negative_keywords, pause_campaign, enable_campaign, pause_keyword, enable_keyword, pause_ad_group, enable_ad_group, set_daily_budget. Point out any ⚠ line in the summary to the user before they approve.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Required. |
changes | Changes to propose; several can go in one proposal Required. |
apply_changes Apply an approved proposal
Needs your go-aheadApplies a proposal from propose_changes to the Google Ads account. Only call this after the user has explicitly approved that proposal. Each change is logged and can be reversed with undo_changes.
| Parameter | What it is |
|---|---|
proposal_id | The id returned by propose_changes Required. |
undo_changes Undo an applied proposal
Changes nothing in Google AdsBuilds a new proposal that reverses an applied one (removes the negatives it added, restores statuses and budgets). Like any proposal, it must be approved and applied.
| Parameter | What it is |
|---|---|
proposal_id | The id of an applied proposal, from change_history or apply_changes Required. |
discard_proposal Discard a proposal
Changes nothing in Google AdsMarks an open proposal as discarded so it cannot be applied.
| Parameter | What it is |
|---|---|
proposal_id | The id returned by propose_changes Required. |
change_history Change history
Read-onlyEvery proposal made through Camberstack, with what was applied, what failed, and what was undone.
| Parameter | What it is |
|---|---|
customer_id | Google Ads customer ID, with or without dashes (from list_accounts) Optional. |
limit | Most proposals to return, newest first Default 20. |
billing Plan and billing
Read-onlyShows the user's Camberstack plan: free applied changes left, or Pro. Returns a personal link to upgrade (free) or to change card and cancel (Pro). Diagnosis, proposals, history and undo are always free.
disconnect Disconnect Google Ads
Needs your go-aheadRevokes Camberstack's Google access and deletes the stored credentials. The user must confirm.
| Parameter | What it is |
|---|---|
confirm | Must be true; ask the user first Required. |
You don't call these yourself: ask your AI in plain English and it picks the tools. Connect Camberstack.