Botsheets
MessagingTalk to Botsheets chatbots from a flow. Botsheets bots answer from a Google Sheet and write collected data back into it, so agents can drive a sheet-backed conversation without a separate database.
What This Integration Enables
Botsheets is a strange and useful thing to hand an agent. Most chatbot platforms make you administer a bot: entities, flows, attributes, publishing environments. Botsheets replaces all of that with a Google Sheet. The bot answers from the sheet it was trained on, and it writes whatever it collects back into that same sheet. The person who owns the answers is the person who owns the spreadsheet, which in most companies is an operator rather than an engineer.
That shape is why the FlowRunner connector is only three operations wide, and why the narrowness is the point. Send Message posts a visitor's message and returns the bot's reply. Get Conversation History returns the stored transcript as an ordered list of user and assistant turns. Get Conversation Datapoints returns the fields the conversation captured, keyed by the sheet's own column names. Botsheets keeps conversation state on its side, so a FlowRunner agent holds a multi-turn conversation simply by reusing one Conversation ID across calls. The result is a sheet-backed answering step you can drop into the middle of a wider flow, including on channels Botsheets does not support natively, because FlowRunner supplies the channel and Botsheets supplies the answer.
Without FlowRunner
With FlowRunner
Use Case Scenarios
An Answering Step Inside a Larger Flow
An inbound question arrives by email. The agent generates a Conversation ID, sends the question body to Botsheets with Send Message, and gets back an answer sourced from the pricing and policy sheet the operations team already maintains. The agent replies on the original channel. If the visitor writes back, the agent reuses the same Conversation ID and Botsheets supplies the earlier context without the flow storing any state. The chatbot never needs to be embedded anywhere. It is a function call that happens to be backed by a spreadsheet.
Captured Lead Into the System of Record
A conversation on the website collects a name, an email, and a rough budget, because those are the columns the bot's sheet defines. The agent calls Get Conversation Datapoints, gets the flat column-to-value object back, and maps it onto a HubSpot contact or a Salesforce lead. Because the datapoint keys mirror the sheet's headers, the mapping is legible to the person who set up the columns, and changing what the bot asks for means editing a spreadsheet rather than filing a ticket.
Transcript Attached to a Support Ticket
A conversation that the bot cannot resolve gets escalated. The agent calls Get Conversation History, receives the ordered user and assistant turns, and opens a Zendesk ticket with the full exchange in the body plus a summary at the top. The support agent who picks it up reads what was already asked and answered instead of starting the customer over. Nothing about the transcript had to be recorded on the FlowRunner side, because Botsheets retains it against the Conversation ID.
Human-in-Loop Highlight
Botsheets documents a specific hazard that shapes how this connector has to be wired: datapoints read mid-conversation may be incomplete or inaccurate, and they settle only after roughly ten minutes of inactivity. So a captured lead read at the wrong moment looks exactly like a finished one, and it lands in the Google Sheet that somebody on the team is using as their live source of truth. FlowRunner treats that commit as a human-in-the-loop moment rather than a race against a timer. The agent calls Get Conversation Datapoints, calls Get Conversation History, and puts them side by side in Slack: "Conversation 8f2c captured name and email but no budget. Transcript shows the visitor left after the second question. Commit this row to the leads sheet now, wait for it to settle, or discard?" A person answers. Finished conversations flow through on their own. The ambiguous ones do not quietly become rows in somebody's spreadsheet.
Agent Capabilities
3 actionsConversation
3- Send Message Sends a visitor message to a Botsheets chatbot and returns the bot's reply, answered from the Google Sheet the bot was trained on. Pass the same Conversation ID on every turn to continue one conversation with full context, or a new unique ID to start a fresh one. Data the bot collects during the exchange is written back into the sheet.
- Get Conversation History Retrieves the full stored message history for a conversation as an ordered list, with each entry keyed as a user message or an assistant reply. Used to build a transcript for a support ticket, feed a summarizing step, or hand a person the context before they take the thread over.
- Get Conversation Datapoints Returns the fields a conversation captured as a flat object of column name to value, mirroring the columns configured on the bot's sheet. Used to pull a captured lead into the rest of an automation. Botsheets refreshes these after roughly ten minutes of inactivity, so a mid-conversation read can be incomplete.
Frequently Asked Questions
What can FlowRunner do with Botsheets?
FlowRunner agents can run Send Message, Get Conversation History, and Get Conversation Datapoints in Botsheets.
Does connecting Botsheets to FlowRunner require OAuth?
No. Botsheets connects to FlowRunner with an API key, no OAuth flow required.
Can Botsheets trigger a FlowRunner workflow automatically?
Botsheets doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Botsheets
$100 in credits. No card required. Connect in minutes.