Reference · Tools
Gemini Thinking
Solve complex problems with Google Gemini's thinking mode, revealing a step-by-step chain of thought for transparent deliberation.
Gemini Thinking runs a Gemini 2.5 model in thinking mode, letting the model deliberate before responding and surfacing that reasoning trace as part of the output. You can use it to build workflows that verify their own logic — for example, a code-review pipeline that shows exactly why a bug was flagged. The thinking depth is configurable, so you can dial reasoning up, off, or leave it to the model.
- Works as
- Action
- Tool name
gemini_thinking- Parameters
- 9
- Outputs
- Output, Error
- Credentials
- Google AI
- Official docs
- Google Gemini docs ai.google.dev
What you can build with Gemini Thinking
- Solve a complex math problem step by step.
- Analyze code and explain the reasoning.
- Break down a multi-step logic puzzle.
- Generate a detailed analysis with visible reasoning.
- Answer a complex question with chain-of-thought.
Each of these runs as a step in a BusyBot workflow or inside an agent, so the result can be routed, filtered and sent on with the core nodes and any of the communication integrations.
Overview
Gemini Thinking runs a Gemini model in thinking mode, so the model deliberates before it answers and the reasoning trace can be kept alongside the final response. It suits math, logic, code analysis, multi-step planning and any task where transparent deliberation improves accuracy. The thinking budget is configurable: set it to 0 to turn thinking off entirely, or -1 to let the model decide how much to spend. Optional file references can be sent as multimodal context alongside the message.
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Google AI credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Model | options | No | (current default) | The Gemini model to use for thinking. Pick a specific version — labels are pinned, not aliased to “latest”. |
| Options: the model choices available to your workspace — pick one from the dropdown. | ||||
| System Prompt | string | No | You are a helpful assistant. | System instruction that sets the behavior and persona of the model. Defaults to a generic helpful-assistant prompt — override per workflow as needed. |
| User Message | string | Yes | — | The message or question for Gemini to think about and answer. Supports expressions like {{ $json.prompt }}. |
| File URIs | string | No | — | Optional. fileUri value(s) from the Gemini File Upload tool. Pass a single URI or a JSON array for multiple files. Files are sent as multimodal context alongside the message. Falls back to item.fileUris if empty. Gemini File API retains uploads for 48 hours. |
| Thinking Budget | number | No | 8192 | Token budget for the thinking phase. Set 0 to disable thinking, -1 for dynamic budget (model decides). |
| Options | collection | No | {} | |
| — Max Output Tokens | number | No | 16384 | Maximum number of output tokens for the response. |
| — Temperature | number | No | 1 | Sampling temperature (0-2). Lower values are more deterministic. |
| — Response Field Name | string | No | response | The key name under which the response text will be stored in the output item. |
| — Include Thinking | boolean | No | true | Whether to include the thinking trace text in the output item. |
| Include Input | boolean | No | false | Whether to merge the input item’s JSON fields into the output item. |
| Web Search | boolean | No | false | Enable Google Search grounding. When on, Gemini may search the web before answering and returns grounded sources in the “sources” output field. Works alongside File URIs and thinking. |
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item per input item. Binary data arriving from upstream is forwarded untouched.
The output item’s JSON contains only the fields below. The input item’s JSON is merged in only when Include Input is on:
| Field | Description |
|---|---|
response | The model’s final answer, with the thinking parts stripped out. Renamed by Response Field Name. |
thinking | The reasoning trace, joined into one string. Present only when Include Thinking is on and the model actually returned thoughts — a Thinking Budget of 0 produces no trace. |
model | The model that produced the response. |
finishReason | Why generation stopped. |
usage | Token usage metadata reported by the model. Thinking tokens are billed like any other. |
sources | Grounded citations when Web Search is on — url, title, and snippet where Google supplies the excerpt. Always present; an empty array when search is off. |
searchEntryPoint | Google’s Search Suggestions block, present only when returned. Their terms require displaying it wherever grounded results are shown. |
Reference the result downstream by expression, e.g. {{ $json.response }}.
Example Configuration
Ask one question with the defaults:
{
"type": "gemini_thinking",
"parameters": {
"userMessage": "What are the key differences between TCP and UDP? When would you choose each?"
}
}
Deep architectural reasoning with a large budget and the trace retained for review:
{
"type": "gemini_thinking",
"parameters": {
"systemPrompt": "You are a senior distributed systems architect. Think through all failure modes and trade-offs before giving your recommendation.",
"userMessage": "Design a fault-tolerant event sourcing system that must handle 100k events/sec with exactly-once delivery guarantees.",
"thinkingBudget": 20000,
"maxConcurrency": 2,
"options": {
"maxOutputTokens": 16384,
"temperature": 0.4,
"responseFieldName": "architectureRecommendation",
"includeThinking": true
}
}
}
High-volume Q&A with thinking switched off and short answers:
{
"type": "gemini_thinking",
"parameters": {
"userMessage": "{{ $json.faqQuestion }}",
"thinkingBudget": 0,
"includeInput": true,
"maxConcurrency": 20,
"options": {
"maxOutputTokens": 256,
"temperature": 0.5,
"responseFieldName": "answer",
"includeThinking": false
}
}
}
Let the model choose its own depth when item complexity varies across a batch:
{
"type": "gemini_thinking",
"parameters": {
"systemPrompt": "Answer concisely and accurately.",
"userMessage": "{{ $json.prompt }}",
"thinkingBudget": -1,
"includeInput": true,
"maxConcurrency": 8,
"options": {
"temperature": 0.5,
"responseFieldName": "geminiAnswer",
"includeThinking": false
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Gemini Thinking solves complex problems using a visible chain-of-thought process. It is the right tool when math, logic, code analysis, or multi-step reasoning tasks require transparent deliberation to improve accuracy. It produces sequenced thought parts followed by final response parts.
Frequently asked questions
What credentials do I need to use this node?
You need a Google AI credential (type: googleAi) configured in BusyBot. This is a single credential type — there is no separate API key setup for thinking mode specifically. If you already use other Google AI nodes in your workspace, you can reuse the same credential.
What does the thinking budget parameter actually control, and what do the special values 0 and -1 mean?
The thinking budget controls how much reasoning the model is allowed to do before producing its answer. Setting it to 0 disables thinking mode entirely, making the node behave like a standard single-pass generation. Setting it to -1 lets the model decide how much deliberation the task warrants. Any positive integer sets an explicit cap on reasoning depth.
What does the output actually look like — how do I tell the reasoning apart from the final answer?
The node produces sequenced output parts where each part is flagged to indicate whether it is a thinking segment or a final response segment. Thought parts carry a thinking flag set to true; the concluding answer parts do not. Your downstream nodes can filter on this flag to consume just the final answer, just the trace, or both together.
When should I use Gemini Thinking instead of a standard LLM node?
Use it when a task genuinely benefits from visible deliberation: math problems, logic puzzles, code analysis, or multi-step planning where a single-pass answer is likely to skip steps or make silent errors. If you only need a quick text completion or summarisation, the thinking overhead adds latency without much benefit — set the budget to 0 or use a non-thinking node instead.
Can I send files or images alongside my prompt?
Yes. The node supports optional file references that are passed as multimodal context with your message, so you can include documents, images, or other supported file types that the model reasons over alongside the text prompt. File references are optional — the node works fine with text-only inputs.
Build with the Gemini Thinking node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Google AI credentials first.
Open BusyBotLast reviewed . Spotted something wrong? Tell us.