New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksAI & Reasoning
Block

Thinking Block

Forces model to outline its thought process.

The Thinking block adds an explicit reasoning step to your workflow where the model outlines its thought process before proceeding. This can improve reasoning quality by encouraging step-by-step analysis on complex tasks.

Overview

PropertyValue
Typethinking
Categorytools
Color#181C1E

When to Use

  • Improve reasoning quality on complex analysis or multi-step tasks before passing results to an Agent block
  • Make an AI's reasoning chain transparent and auditable in downstream blocks
  • Inject structured thinking instructions so a model approaches a problem in a specific way
  • Break ambiguous prompts into explicit thought steps before generating a final response
  • Add a reasoning gate in a workflow that routes or evaluates output based on what was concluded

Configuration

Thought Process / Instruction

The full text describing the step-by-step thinking process the model should follow. This is a required long-text field. Write it as a natural-language instruction — for example, "List each assumption, evaluate it, then state a conclusion."

Use {{blockName.field}} syntax to inject dynamic content from upstream blocks into this field.

Field id: thought Type: long-input Required: yes

Inputs & Outputs

  • Inputs: thought (string) — Thinking process instructions passed to the tool

  • Outputs: acknowledgedThought (string) — The thought that was processed and acknowledged by the tool

Tools

Thinking Tool (thinking_tool) — Processes a provided thought or instruction, making the acknowledged content available for subsequent steps in the workflow. POSTs the thought string to /api/tools/thinking and returns acknowledgedThought.

YAML Example

thinking_1:
  type: thinking
  name: "Thinking"
  inputs:
    thought: "Break the following request into clear sub-tasks, evaluate each one independently, then summarize the overall approach: {{starter.input}}"
  connections:
    outgoing:
      - target: agent_1