Skip to content
MoveWorkflows

Pipedream OpenAI steps in n8n

Updated 2026-10-21 · 3 min read · n8n: OpenAI (Native n8n node)

OpenAI is the most common app in Pipedream workflows that call an LLM: a trigger brings in text, a Chat step answers or classifies it, and the result goes to Slack, a sheet or a database. In n8n the same job is done by the native OpenAI node (n8n-nodes-langchain.openai). This page shows what maps directly, what the converter rebuilds, and where the output differs.

What the n8n OpenAI node can do

The current node (V2, n8n 1.117.0 or newer) is organised by resource:

Resource Operations
Text Generate a Chat Completion, Generate a Model Response, Classify Text for Violations
Image Analyze, Generate, Edit
Audio Generate Audio, Transcribe a Recording, Translate a Recording
File Upload, List, Delete
Video Generate a Video
Conversation Create, Get, Update, Remove

V2 is built on the Responses API and dropped the Assistants API. If a Pipedream workflow still uses Assistants threads, plan to rewrite that part. There is no OpenAI trigger node in n8n.

Pipedream actions and where they land

Pipedream (app openai) In n8n
Chat Converted automatically: HTTP Request to /v1/chat/completions with the n8n OpenAI credential, plus a Code node that rebuilds Pipedream's output
Summarize Text, Classify Items into Categories OpenAI node → Text → Generate a Chat Completion with your own prompt (manual)
Chat using Web Search / File Search / Functions OpenAI node → Generate a Model Response with tools (manual)
Node.js code step with this.openai.$auth.api_key Code node; the key becomes the variable OPENAI_API_KEY, listed in the report
New Batch Completed, New File Created, New Fine Tuning Job Created No trigger in n8n: Schedule Trigger + HTTP Request that lists batches or jobs

Why an HTTP Request and not the OpenAI node for the Chat action? Because Pipedream's Chat returns a specific shape (generated_message, original_messages_with_assistant_response) and the steps after it read those fields. The converter keeps the raw OpenAI response and adds those fields, so {{steps.chat.$return_value.generated_message.content}} turns into a working n8n expression without touching the downstream steps. Once the workflow runs, you can swap in the OpenAI node and remap the fields if you prefer it.

Credentials

Pipedream stores the key in a connected account and never exports it. In n8n:

  1. Open Credentials → New → OpenAI.
  2. Paste an API key from the OpenAI platform. Add the Organization ID only if you are in more than one organization.
  3. On n8n Cloud you can pick "Use Gateway credits" instead of your own key; self-hosted needs a key.

The same credential works in the OpenAI node and in an HTTP Request node set to Predefined Credential Type → OpenAI, which is what the converted Chat step uses.

Typical migration: classify incoming tickets

Pipedream: HTTP trigger → OpenAI Chat ("classify this ticket as billing, bug or other") → Slack message.

n8n after conversion: Webhook → Code (trigger, rebuilds steps.trigger.event) → HTTP Request (OpenAI) → Code (Chat output) → HTTP Request (Slack chat.postMessage). You create two credentials (OpenAI, Slack), change the webhook URL at the ticket source, and test with one request.

Pitfalls

  • Rate limits. OpenAI counts requests and tokens per minute and per day at organization and project level; failed requests count too. Pipedream retried some calls for you; in n8n a burst of items can hit 429. The n8n docs suggest Loop Over Items plus a Wait node.
  • Default model. If the Pipedream step relied on a default model, the converted step uses gpt-4o-mini. Set the model you actually want.
  • JSON mode. response_format: json_object is carried over only when it was set in the step.
  • One item per call. n8n runs the node once per incoming item. A Pipedream step that ran once per event may now run 50 times if a previous node returns 50 rows.

How to move your OpenAI workflows

  1. Export the workflows from Pipedream (official export or GitHub Sync folder).
  2. Upload them on /convert. The report is free: it lists each step, its status, the credentials to create and the manual steps.
  3. Download the n8n JSON and import it. 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

Background: Pipedream to n8n migration guide. Code steps that call OpenAI directly can be checked one by one in the code step checker. Related apps: Anthropic, Google Gemini, Google Sheets.

FAQ

Does n8n have a native OpenAI node?
Yes. The OpenAI node covers text (chat completion, model response, moderation), images, audio, files, video and conversations. There is no OpenAI trigger node.
Can I reuse my Pipedream OpenAI connection?
No. Pipedream never exports keys. Create an OpenAI API key credential in n8n; add the Organization ID only if your account belongs to several organizations.
Will expressions like steps.chat.$return_value.generated_message keep working?
For the Chat action, yes: the converter adds a small Code node that rebuilds generated_message next to the raw API response, so later steps read the same fields.
What happens to Pipedream's OpenAI triggers?
n8n has no OpenAI trigger. Batch or fine-tuning watchers become a Schedule Trigger plus an HTTP Request that polls the OpenAI API.

Related

Sources