Connector · Business and support
A Google Ads AI agent in Slack, bound to the client accounts an Admin picked.
Chickpea gives a channel a named AI teammate that holds its own Google Ads connection. You sign in with Google on a page Chickpea serves, then an Admin picks the client accounts it may reach. Ask what a campaign spent last week, or ask it to pause one that is not working, and it answers in the thread. Most of what people call a Google Ads Slack integration pushes a report out on a timer. This one waits to be asked, and it asks you back before it touches a budget.
What people ask it.
The teammate is @growth, in #growth. Pick a scenario to watch it play.
| Campaign | Cost | Clicks | Conv. | Cost / conv. |
|---|---|---|---|---|
| Brand / Search / US | $4,182 | 3,140 | 96 | $43.56 |
| Nonbrand / Search / US | $9,904 | 5,612 | 71 | $139.49 |
| Shopping / Retail / US | $2,455 | 1,988 | 34 | $72.21 |
| Nonbrand / Search / CA | $1,120 | 702 | 9 | $124.44 |
Spend and conversions over a period Read only
@growth what did Brand Search spend last week, and what did it get us
@growth cost, clicks, and conversions by campaign for September on the retail account
Reads never need confirmation, and a long answer comes back as a table in the thread. One report covers a date range of at most 366 days, returns at most 500 rows, and carries up to eight metrics from a fixed list: impressions, clicks, cost, conversions, conversion value, CTR, average CPC, and average CPM.
Which campaigns, keywords, or ads moved Read only
@growth which keywords took more of the spend this month than last
@growth which campaigns are over $100 a conversion since the first, and by how much
There are four report families, one each for campaigns, ad groups, ads, and keywords, and each can filter to enabled or paused and sort by one metric. Each period is its own report, so the arithmetic happens in the thread where you can see both rows. The teammate can read a client account's currency and time zone first, so a figure means what it says.
Pause a campaign, ad group, keyword, or ad Applies at once
@growth pause Nonbrand Search CA on the retail account
@growth pause the waterproof boots keyword in the Winter Gear ad group
Pausing one thing is reversible, so it applies at once and the reply names what stopped. There is no bulk capability, so two campaigns are two writes. Your message still has to name the action, because a managed capability that is not a read is refused unless the request itself asks for it. Turning something back on is publishing, so that direction asks first.
Change a daily budget Asks first
@growth put the brand search budget up to $700 a day for the holiday push
@growth create a $250 a day budget on the outdoor account
Budgets are the spend lane, so the teammate proposes and waits. The confirmation names the client account, the currency, and the amount before anything changes. Google calls this number the average daily budget, "the average amount that you set for each ad campaign on a per-day basis". Creating a budget asks first for the same reason.
On a schedule Applies at once
@growth every weekday at 8am Pacific, post yesterday's spend by campaign here
@growth every Monday at 9am Eastern, list the campaigns over $100 a conversion
A schedule saves on the spot. It needs an explicit time zone and runs under the Google Ads connection of the person who asked. Before each run Chickpea re-reads the teammate, the channel grant, and that connection, and a missing one fails the run with a named reason rather than running it. Ask for a read, not a change.
Connect it
Five steps, from Admin or from Slack.
You sign in through a page Chickpea serves, never in Slack. The link the teammate posts is good for one action, for one teammate, for 24 hours.
- In Chickpea Admin, open the teammate, then Connections, find Google Ads, and choose Connect. Or ask in Slack,
@growth connect Google Ads, and follow the link it posts. That link is good for one action, for one teammate, for 24 hours. - Choose who uses it. Team is one shared Google account that everyone who can use the teammate acts through, and it needs the Owner or Admin role. Personal means each member signs in as themselves, and the teammate uses your account only for your requests.
- Choose Continue to sign in. A hosted sign-in opens in a second tab and Google asks you to approve the account. There is no token to paste anywhere in this connector, and nothing goes into Slack. Read the permissions on that screen, because the grant you approve there can be wider than the capability list the teammate is handed. The attempt stays open for 30 minutes.
- An Admin selects the client accounts. Until that is saved the connection stays pending and the teammate is given no Google Ads tools at all. Select Choose, tick the accounts, then Save access. Manager accounts are never offered, so pick the client accounts sitting under one.
- Ask something.
@growth what did Brand Search spend last weekis a good first question, because it reads and cannot change a thing.
A connection belongs to one teammate. Giving a second teammate Google Ads means a second sign-in, with its own consent and its own account selection. Chickpea stores an opaque local handle and a display label for each client account, so the Google Ads customer ID never reaches the teammate.
A managed connector has no discovered tool list. The teammate is handed a fixed list of capabilities that Chickpea curates, not Google's whole Ads API. Twenty-three cover Google Ads. Seven read: a client account's identity, currency, time zone, and status, one campaign by its ID, bounded reports over campaigns, ad groups, ads, and keywords, and the state of the account's budgets. Sixteen write, one record at a time: pause, enable, or rename a campaign, ad group, keyword, or ad, create any of those paused, and create or change a daily budget. Billing, access administration, conversion upload, deletion, bulk edits, raw mutations, and free-form queries are absent. The capability list is in the product source.

Beside Google Ads
What the same teammate usually holds too.
Each is its own connection, granted to the teammate alone. All 37 connectors.
Spend on one side, sessions and signups on the other, answered in one question
Meta AdsBoth ad accounts read by one teammate, in the channel that argues about them
What you pay for a query, beside what you already rank for
HubSpotThe click on one side, the deal it turned into on the other
Questions people ask
Is there an MCP for Google Ads?
Yes, and Google publishes it. The googleads/google-ads-mcp repository describes a server that "provides a standardized bridge to the Google Ads API, which lets AI agents analyze and retrieve campaign data using natural language". Google's own page for it says the implementation is "strictly read-only. It cannot modify bids, pause campaigns, or create new assets." You run it with pipx or on Cloud Run and point a coding client at it, such as Claude Code, Cursor, or VS Code. That puts Google Ads on one person's machine.
Does it use Google's MCP server?
No. Google Ads is a managed connector here. The teammate calls a fixed, curated list of Google Ads capabilities, and no MCP server is involved anywhere in it. The practical difference is that Google's server is read-only by design, while this one can pause a campaign, rename it, or change a budget after you say yes.
Is there any AI for Google Ads already?
Google has its own. Ask Advisor is described by Google as "an agentic conversational experience built within Gemini capabilities, designed to help maximize performance based on your unique business goals". You reach it from an icon in the top-right navigation of a Google Ads account, it is in beta, and Google says it is not available in MCC accounts. It lives inside Google Ads. A Chickpea teammate lives in a Slack channel, holds other accounts beside Google Ads, and answers where the argument about spend already happens.
Can an AI agent pause a Google Ads campaign from Slack?
Yes. Mention the teammate, name the campaign and the client account, and it pauses that one campaign and replies with what stopped. Your message has to name the action, because a write is refused when the request itself does not ask for it. There is no bulk capability, so several campaigns are several writes, and a broad change is proposed first and applied after someone says yes.
Will it change a budget on its own?
No. Budget changes are the spend lane on this connector, so the teammate proposes the change and waits in the thread. The confirmation names the client account, the currency, and the amount. Creating a new daily budget works the same way. Saved teammate instructions are the only thing that can pre-authorize a class of action, and they are stored state, not something anyone can write by talking to the teammate.
Can it delete a campaign, an ad, or a keyword?
No. Nothing in the capability list deletes anything, runs a bulk edit, uploads conversions, touches billing, or administers account access. Those are absent rather than blocked, so the teammate has nothing to call however it is asked. Everything it creates is created paused: campaigns, ad groups, keywords, and responsive search ads all arrive switched off, and turning one on is a separate request that asks first.
Can it use my Google Ads manager account?
No. Manager accounts are never offered in the selection list, so pick the client accounts sitting under one instead. Google describes a manager account as "a Google Ads account that lets you easily view and manage multiple Google Ads accounts ... from a single location". Selecting six client accounts is six explicit choices, and the teammate sees no others.
Why is the connection still pending?
Because nobody has picked the client accounts yet. Signing in with Google is not enough on this connector. An Admin has to select one or more client accounts before the teammate receives any Google Ads tools. Open the connection row, select Choose, tick the accounts, and select Save access.
Is there an official Google Ads app for Slack?
Nothing checked on this page's date showed one built by Google. What Google documents is a Google Ads Scripts example: "You can send messages to a user or group in Slack using a webhook URL", with the sample retrieving a report and posting it. The Slack Marketplace listings for Google Ads are third party, such as AdHelp, which says it "helps you to link your Google Ads account with Slack". Keep one of those if you want alerts, because a Chickpea teammate posts nothing unprompted.
Can it post a morning spend digest?
Yes. Ask for it in the channel and name a time zone. The schedule saves on the spot and runs under the Google Ads connection of whoever asked for it. Every run re-reads the teammate, the destination grant, and that connection, so a disconnected account stops the digest with a named reason instead of posting something stale.
Try it
Give a channel a Google Ads teammate.
One deploy into your own Cloudflare account, connect Slack, sign in to Google Ads, ask. Apache 2.0, no seats, no metering.
Or run it on Node. The setup guide covers both.
Last checked
Facts on this page were checked against the product and Google Ads's own pages on September 17, 2026. This page is also available as markdown at /connectors/google-ads.md.
