n8n connects to OpenAI via the native OpenAI Chat Model node—a
LangChain sub‑node that authenticates with your API key and sends prompts to
GPT‑4o, GPT‑4o‑mini, or any model available to your account. A prompt chain
uses multiple OpenAI calls in sequence, where each call’s output feeds the
next, enabling multi‑step reasoning that a single prompt cannot achieve. This
tutorial walks through credential setup, node parameters, dynamic prompt
construction, and a complete multi‑node chain for generating, evaluating, and
publishing content.
How do you set up OpenAI credentials and choose the right model in n8n?
Go to Settings → Credentials → New Credential, select
OpenAI API, and paste your key from
platform.openai.com/api-keys. n8n encrypts the key with
AES‑256. Then add an AI Agent or Basic LLM Chain
root node to the canvas, drop an OpenAI Chat Model sub‑node
inside it, and select gpt-4o from the Model dropdown.
[1]
The model list is dynamically loaded from OpenAI, so you will only see models
available to your account. For high‑volume content generation, start with
GPT‑4o‑mini at $0.15 per 1 M input tokens; switch to full
GPT‑4o only for complex multi‑step reasoning tasks where simple
models produce unacceptable output
[2].
For a broader view of how OpenAI fits into n8n’s AI ecosystem, see the
AI Agents & LLM Orchestration guide.
How do temperature, max tokens, and system prompts control GPT‑4o output in n8n?
The OpenAI Chat Model node exposes four key parameters. Temperature
(0–2, default 1) controls randomness: 0 produces deterministic output for
fact‑based tasks, 0.7–1.0 suits creative writing, and 2 generates maximum
variability. Max Tokens (1–32,768) caps the response length.
The System Prompt sets assistant behavior and persists across
all messages in the conversation.
[1]
The Response Format option toggles between Text and JSON.
JSON mode forces the model to return valid, parseable JSON—ideal for
Structured Output Parsers downstream. Additional controls include
Frequency Penalty (−2.0 to 2.0) to reduce repetition, and
Presence Penalty (−2.0 to 2.0) to encourage new topics.
For a complete reference of all node parameters, consult the
Code node transformation guide
for custom post‑processing of AI outputs.
| Parameter | Range | Use When | Example Value |
|---|---|---|---|
| Temperature | 0–2 (default 1) | Creative tasks need higher; factual needs lower | 0.3 for extraction, 0.8 for brainstorming |
| Max Tokens | 1–32,768 | Long‑form content needs higher values | 256 for labels, 4096 for blog posts |
| System Prompt | Unlimited string | Every workflow; defines assistant persona | “You are a senior SEO content strategist…” |
| Response Format | Text / JSON | JSON when output feeds automated parsers | JSON for structured data extraction |
How do you build dynamic prompts using a Set node before the OpenAI call?
A Set node placed between the trigger and the AI Agent node constructs the
prompt dynamically. You map incoming fields—topic, keywords, or customer
name—into a combined prompt string. For example:
topic = {{ "Write a blog about " + $json.topic + " targeting " + $json.audience }}.
The downstream OpenAI node then receives a complete, context‑rich prompt
without any hardcoding.
[2]
For more advanced prompt assembly, use a Code node to inject
conditional logic—for example, appending different instructions based on
content type, or merging data from multiple upstream nodes into a single
structured prompt. The Code node also supports JavaScript template literals
for complex multi‑line prompts with embedded variables. For detailed Code
node examples, see the
Code node transformation guide.
How do you build a working OpenAI‑powered content generator in 25 minutes?
Create a five‑node workflow: Manual Trigger → Set node (build the prompt) →
AI Agent with OpenAI Chat Model sub‑node (GPT‑4o, temperature 0.7, max
tokens 2048) → Parse Output node (extract the text) → Google Sheets or
Notion node (store the result). Test with a specific topic; the entire
chain runs in 2–5 seconds and costs approximately $0.03 per generation
with GPT‑4o.
[2]
template from n8n.io/workflows—it generates blog outlines, evaluates
them, and writes full posts into Google Sheets in a single automated
pipeline. Import it, add your OpenAI key, and run within 5 minutes.
[3]
How do you chain multiple OpenAI calls so each output feeds the next prompt?
A prompt chain connects multiple AI Agent (or Basic LLM Chain) nodes in
sequence. The first node generates a blog outline; a Set node extracts
that outline and feeds it into a second AI Agent node that writes the
full article; a third evaluates the draft against SEO criteria. Each
node’s system prompt specialises the model for that specific sub‑task.
[3]
For branching chains, insert an IF node after the first AI call to check
output quality—for example, verifying that a generated outline contains at
least five sections. If the check fails, route back to the same AI Agent
node with a revised prompt; if it passes, continue to the writing stage.
This self‑correcting loop dramatically improves output consistency. For
more on conditional logic, refer to the
IF & Switch branching logic guide.
| Chain Stage | Node(s) Used | System Prompt Example | Output Feeds |
|---|---|---|---|
| 1. Outline | AI Agent → OpenAI Chat Model | “You are a senior blog strategist. Create a 5‑section outline…” | Stage 2 |
| 2. Write | AI Agent → OpenAI Chat Model | “You are a professional copywriter. Write the full article…” | Stage 3 |
| 3. Evaluate | AI Agent → OpenAI Chat Model | “You are an SEO editor. Score this draft on readability…” | Destination |
| 4. Publish | Google Sheets / WordPress / Notion | N/A | Final output |
How do you add retry logic and rate‑limit handling for production OpenAI workflows?
Wrap the OpenAI call in an error workflow: if the OpenAI node returns a 429
(rate limit) or 5xx error, the error workflow waits using exponential
backoff—1 s, 2 s, 4 s, up to 60 s—then retries. For batch processing of
100+ items, place a SplitInBatches node before the AI Agent to process 5–10
items at a time, preventing quota exhaustion mid‑workflow.
[2]
Track costs by logging token usage from the OpenAI node’s output metadata
to Google Sheets or Data Tables. The response includes
completion_tokens, prompt_tokens, and
total_tokens—multiply by your model’s per‑token price to
calculate exact cost per execution. Set a daily budget alert via a
Schedule Trigger that sums the logs and notifies Slack if the total
exceeds a threshold. For comprehensive error handling architecture, see
n8n Error Workflow: Catch, Retry & Alert.
References
- n8n Documentation — OpenAI Chat Model node: parameters, credentials, and usage
- Markaicode — n8n with OpenAI API: Automate Content Generation at Scale (Mar 2026)
- n8n Workflow Template — Generate Blogs with GPT‑4o Prompt Chaining: Outline, Evaluate & Publish to Sheets
- n8n.blog — Build a Smart AI Chat Assistant with GPT‑4o Multimodal (Nov 2025)
- n8n.blog — Using OpenAI Models in n8n Workflows: Examples & Best Practices (Nov 2025)
- n8n.blog — n8n AI Agent Tutorial: Multi‑Level Workflow (Sep 2025)
- n8n Workflow Template — Beginner AI Dataset Generator using OpenAI + LangChain in n8n
- n8n Documentation — Advanced AI: LangChain integration, AI Agent node, and tools
always refer to the official n8n website (n8n.io),
the n8n documentation, and the
OpenAI API documentation.
Product details, pricing, and features may change over time.
