Connector · Docs and files
A Google Sheets teammate in Slack that reads a range and writes only the cells you name.
Chickpea gives a channel a named AI teammate that holds its own Google Sheets connection. It signs in with Google, then works from a fixed list of nine capabilities: find a spreadsheet, read an A1 range, append rows, replace the cells you name. Most of what people call a Google Sheets Slack integration writes a row into a sheet when something happens in a channel. This one goes the other way. Ask what the tracker says and the rows come back in the thread.
What people ask it.
The teammate is @revops, in #growth. Pick a scenario to watch it play.
| Region | Open | Amount | Close date |
|---|---|---|---|
| EMEA | 11 | $462,000 | Sep 30 |
| West | 9 | $388,000 | Sep 26 |
| Northeast | 7 | $271,000 | Sep 30 |
| Central | 5 | $186,000 | none |
| APAC | 4 | $113,000 | none |
Ask what a range says Read only
@revops what does the pipeline tracker say for September, by region
@revops read Forecast!A1:F40 and tell me which rows are behind plan
Reads never need confirmation. Name the spreadsheet and the range, and the teammate reads that range and nothing around it. A long answer comes back as a table in the thread. It can read values as they are formatted, raw, or as the formula behind them, and by row or by column.
Find the spreadsheet, or a row inside one Read only
@revops find the sheet called Q3 pipeline tracker and tell me what tabs it has
@revops which row in the vendor sheet has Northwind Freight in it
Search returns at most 100 spreadsheets the signed-in account can already open. Metadata gives the tabs and their grid sizes, so the teammate knows where a range ends before it reads one. A lookup finds the first row holding an exact cell value, inside a range you name or across the sheet.
Append a row from a thread Applies at once
@revops add this request to the intake sheet, owner Priya, status Triage
@revops log today's numbers at the bottom of the Weekly Metrics tab
One appended row is a small reversible write, so it applies at once and the reply says which sheet and which cells it filled. The message you send has to name the write; thread history and memory cannot authorize one. An append carries at most 500 rows of at most 100 cells.
Update many cells or a whole column Asks first
@revops set Status to Closed for every row that shipped in August
@revops replace Forecast!C2:C60 with the numbers from the new model
A broad change comes back as a list of what would move, and it waits for a yes. An update replaces one explicit A1 range, and an upsert matches rows on one named key column instead of guessing. Nothing in the list deletes a row, a tab, or a file.
On a schedule Applies at once
@revops every Monday at 9am Pacific, post what the tracker sheet says for last week
@revops every weekday at 8am Eastern, read the rota tab and post who is on call
A schedule saves on the spot. It needs an explicit time zone and runs under the Google Sheets 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.
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 Sheets, and choose Connect. Or ask in Slack,
@revops connect Google Sheets, and follow the link it posts. - Choose who uses it. Team is one shared Google account that everyone who can use the teammate works through. Personal means each member signs in as themselves and reaches the spreadsheets their own account can open.
- Choose Continue to sign in. A hosted Google sign-in opens in a second tab. There is no token to paste anywhere in this connector, nothing goes into Slack, and the attempt stays open for 30 minutes.
- Read what Google asks for on its consent screen. The grant there can be wider than the nine capabilities Chickpea exposes, and a connection that only reads does not narrow what you approved with Google.
- Ask something. Sheets has nothing to pick after sign-in, unlike Analytics or Search Console, so the teammate is usable straight away.
@revops find the sheet called Q3 pipeline trackeris a good first question, because it reads and changes nothing.
A connection belongs to one teammate. Giving a second teammate Google Sheets means a second sign-in with its own consent. Each Google service is its own connection and its own consent screen too, so Sheets and Drive are connected separately even when the same person signs in for both.
A managed connector has no discovered tool list. The teammate is handed a fixed list of capabilities that Chickpea curates, not the whole Sheets API. Nine cover Google Sheets. Four read: search the spreadsheets the account can open, read a spreadsheet and its sheets, read one bounded A1 range, and find the first row holding an exact value. Five write, and every one of them is reversible: create a spreadsheet, replace the values in one explicit range, append rows to one sheet-qualified range, update or append rows against one named key column, and add a sheet. Deleting, sharing, changing permissions, and arbitrary Sheets API requests are all absent. The capability list is in the product source.

Beside Google Sheets
What the same teammate usually holds too.
Each is its own connection, granted to the teammate alone. All 37 connectors.
A base for the work that repeats, a sheet for the numbers that do not
Google DriveDrive finds the file and reads what is around it, Sheets reads the cells
HubSpotDeals on the CRM side, the forecast tab on the sheet side, one teammate reading both
Last week from GA4, written into the tracker the team already looks at
Questions people ask
Does it use Google's Sheets MCP server?
No. Google Sheets is a managed connector here. The teammate calls a fixed, curated list of nine capabilities, and no MCP server is involved anywhere in it. Google does run one: a remote server at sheetsmcp.googleapis.com/mcp/v1 over streamable HTTP, which Google says lets an agent read cell values and metadata and take action such as updating cells, setting formulas, and inserting rows. Using it takes a Google Cloud project, an OAuth client you create yourself, and an MCP host such as Antigravity or Claude. That puts Sheets in one person's client. This puts it in a channel.
Is this Gemini in Sheets?
No, and they do different jobs. Google describes Gemini in Sheets as a way to create tables and formulas, generate analysis and insights, and build charts, and says it needs an eligible Google Workspace or Google AI plan. Google also ships an AI function you type into a cell as =AI() or =Gemini(), which Google says cannot see your other files in Drive. Both of those live inside the spreadsheet. A teammate lives in a Slack channel, holds other accounts beside Sheets, and answers where the conversation already is.
Does Slack integrate with Google?
In several ways, and they do not overlap much. The Google Drive app for Slack creates Docs, Slides, and Sheets files, posts updates when someone comments or asks for access, and lets you reply to a comment from Slack. Workflow Builder has Google Sheets steps that write a row when a workflow runs. A Chickpea teammate is the third way: it holds a Google Sheets connection of its own and answers questions about a sheet in the channel.
Do I still need the Google Drive app for Slack?
Keep it. Sheets files ride on that app, and it does things a teammate does not. Slack lists creating new Docs, Slides, and Sheets files, importing files into a channel or a DM, searching inside Drive files shared in Slack, granting access to the right people, updates on comments, access requests, and new files, and replying to a comment notification so the reply lands on the file. All of that is Slack reacting to Drive. A Chickpea teammate hears nothing from Google and posts nothing unprompted. It waits to be asked, reads the range, and answers in the thread.
What about Slack's Google Sheets step in Workflow Builder?
It is a good fit for a fixed form, and Slack names its limits on the help page. It is available on paid plans, Slack can only add workflow data to an empty row, and the timezone cannot be adjusted, so dates and times land in UTC+0. A workflow also runs on a trigger with the fields you set when you built it. A teammate is asked in words, picks the range itself, and can read a sheet as easily as write to one. Teams run both.
Can it delete a row, a tab, or a spreadsheet?
No. Nothing in the nine capabilities deletes anything, and there is no sharing or permissions capability either. The widest change one ask can make is replacing the values in a range you named. Under that judgment sits a gate that does not consult the model: during a Slack turn Chickpea refuses any managed capability whose effect is not read unless the message you just sent names that action.
What does bounded mean on this connector?
Limits written into the input schema rather than left to the model. A write carries at most 500 rows of at most 100 cells each, no single cell longer than 10,000 characters, and the whole batch under 100,000 characters. A read takes one A1 range and an optional row window between 1 and 1,000,000. A search returns at most 100 spreadsheets. A new sheet is capped at 100,000 rows and 18,278 columns. Every result is capped at 256 KB before it goes back to the model.
Which spreadsheets can it see?
The ones the account it signed in as can already open. Sheets asks for no selection after sign-in, unlike Google Analytics and Search Console, where an Admin picks properties or sites before the teammate gets any tools. A personal connection is used only for your own requests and a team connection is one shared sign-in that everyone with access to the teammate works through. In Chickpea the binding is a ceiling: it can be narrowed to fewer capabilities but never widened by talking to the teammate.
Does it change a sheet without asking?
A small reversible write goes through, such as appending one row you asked for in the message. A broad or consequential change is written down first and waits for a yes. Saved instructions on the teammate are the only text that can pre-authorize a class of write, and a conversation cannot edit them. Nothing retrieved during the turn counts as permission, including a pasted document or the sheet the teammate just read.
Can it post a Monday digest from a tracker sheet?
Yes. Ask for it in the channel and name a time zone. The schedule saves on the spot and runs under the Google Sheets 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 Sheets teammate.
One deploy into your own Cloudflare account, connect Slack, sign in to Google Sheets, 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 Sheets's own pages on September 17, 2026. This page is also available as markdown at /connectors/google-sheets.md.
