Workflow Exit

OpenAI Agent Builder shuts down on November 30, 2026: how to move your workflows to n8n

Updated October 15, 2026

OpenAI is shutting down Agent Builder on November 30, 2026. The deprecation was announced on June 3, 2026, together with Evals and reusable prompt objects. All three stop on the same day (OpenAI deprecations). Existing evals become read-only on October 31, 2026.

This guide covers what stops, what to save before the deadlines, and how to rebuild each Agent Builder workflow in n8n, node by node.

What stops, and what keeps working

Part What happens
Agent Builder (the visual builder) Shuts down on November 30, 2026. Until then existing users "can continue using it during the transition window"
Published workflow IDs (wf_…) A workflow ID only runs through hosted ChatKit sessions (POST /v1/chatkit/sessions). OpenAI documents that path only for the transition window, so plan for these embeds to stop answering
Evals Read-only on October 31, 2026; dashboard and API shut down on November 30. OpenAI points to Promptfoo
Reusable prompts (v1/prompts) Shut down on November 30, 2026. Move the prompt text into your own code (guide)
ChatKit Stays available, but you run the server (custom ChatKit)
Agents SDK, Responses API, vector stores Not affected

OpenAI publishes no deletion date for workflow definitions, versions or hosted ChatKit threads. Export what you need before November 30.

Your three options

OpenAI's migration guide names two paths. n8n is the third if you want to keep a visual builder.

  • Agents SDK (Python or TypeScript). The Code dialog exports a workflow as SDK code. Good if you're happy to own and host code.
  • ChatGPT Workspace Agents. Needs a ChatGPT Business, Enterprise or Edu workspace. They're in research preview, and the API trigger can't return the agent's answer yet (docs).
  • n8n. A visual workflow builder like Agent Builder, with an AI Agent node, OpenAI models and built-in tools, MCP, guardrails, human approval, triggers and hundreds of app integrations. It runs on n8n Cloud or on your own server.

Step 1: Save everything before the deadlines

  1. Export the code of every workflow. Open the workflow → Code → Agents SDK → TypeScript or Python, and copy the whole export. It's the most complete record of instructions, models, tools and output schemas you will get.
  2. Screenshot the canvas. The export doesn't contain the graph, and OpenAI says it doesn't "guarantee that every behavior transfers unchanged".
  3. Copy eval datasets and graders before October 31. After that they are read-only, and they disappear on November 30.
  4. Export ChatKit threads you want to keep with GET /v1/chatkit/threads and /threads/{id}/items (reference).
  5. Copy the text of reusable prompts that your apps load by ID.

Check the export for two known gaps. Human approval comes out as a stub that always returns true, and function tool bodies come out as // TODO: Unimplemented. A forum report also describes exports failing for workflows with the web search tool. Export early so you have time to retry.

Step 2: Map each node to n8n

Agent Builder has these node types (node reference):

Agent Builder node n8n equivalent Notes
Start Chat Trigger for chat, Webhook for API calls, When Executed by Another Workflow for sub-flows input_as_text becomes chatInput. Start state variables → an Edit Fields node right after the trigger
Agent AI Agent + OpenAI Chat Model (Use Responses API on). For one call without an agent loop: OpenAI node → Generate a Model Response JSON output → Structured Output Parser (no $ref). Widget output has no equivalent
End Respond to Webhook, the Chat node's Send Message, or the last node's output Shape the final JSON with Edit Fields first
Note Sticky Note Markdown
File search File Search built-in tool with your Vector Store IDs Max Results defaults to 1; raise it. Or move to a Pinecone, Supabase, Qdrant or PGVector node after re-ingesting the documents
Guardrails Guardrails node: Check Text for Violations or Sanitize Text Its presets are adapted from OpenAI's open-source guardrails. No hallucination check; moderation is the OpenAI node's Classify Text for Violations
MCP MCP Client Tool on an agent, or MCP Client as a step HTTP Streamable or SSE; Bearer, header or OAuth2 auth
If/else If, Switch, or Text Classifier for LLM routing Rewrite each CEL expression in JavaScript
While A connection back to an earlier node plus an If guard; Loop Over Items for batches Add a counter to avoid infinite loops
Human approval The Chat node's Send and Wait for Response, or Send and Wait in Slack, Telegram, Teams, Gmail and others, or the Wait node Per-tool human review for AI Agent tools exists since n8n 2.6
Transform Edit Fields (Set) or Code On n8n Cloud the Code node can't import npm modules except crypto and moment
Set state Edit Fields, read later with $('Node').item.json; Data tables or memory to keep data across runs No mutable global state object

The n8n side was checked against the n8n docs for n8n 2.x. n8n also has n8n Agents in preview, conceptually close to Agent Builder (docs). This guide uses the stable AI Agent node.

Step 3: Rebuild an agent in n8n

  1. Trigger. Add a Chat Trigger for a chat agent, or a Webhook for an API.
  2. Agent. Add an AI Agent node and paste the Agent node's instructions into System Message. Attach an OpenAI Chat Model sub-node with the model you used, and turn on Use Responses API.
  3. Built-in tools. On the OpenAI Chat Model, enable Web Search, File Search (paste the vector store IDs as a JSON array) or Code Interpreter as needed.
  4. MCP servers. Add an MCP Client Tool per server, with the same URL, auth and allowed tools.
  5. JSON output. Turn on Require Specific Output Format and attach a Structured Output Parser with the schema from the export (inline any $ref).
  6. Logic. Rebuild If/else, While and approvals with the nodes in the table. Every {{input.output_text}}, {{state.x}} and CEL expression becomes an n8n expression such as {{ $json.output }} or {{ $('Agent').item.json.output }}.
  7. Memory. For multi-turn chat, attach a memory sub-node. Simple Memory doesn't work in queue mode; use Postgres or Redis Chat Memory there.
  8. Function tools. Implement each tool the export left as a stub. In n8n a tool can be another workflow (Call n8n Workflow Tool) or an HTTP request.

Step 4: Replace the ChatKit front end

n8n has no ChatKit trigger. You can go either way:

  • Use n8n's chat. Use the Chat Trigger's hosted chat page, or embed the @n8n/chat widget pointed at its production URL, and add your domain to Allowed Origins (CORS). The widget supports streaming, file uploads and loading the previous session.
  • Keep the ChatKit UI. Run your own ChatKit server (custom ChatKit) whose response handler calls your n8n webhook. You then store threads yourself.

Either way, the OpenAI-hosted pieces go away: hosted threads, widgets and the client-secret session flow.

Pitfalls to check before you switch

  • Retiring model snapshots. gpt-5 points to gpt-5-2025-08-07, which shuts down on December 11, 2026. Guardrail configs often hard-code gpt-4.1-mini, whose snapshot shuts down on January 14, 2027 (OpenAI deprecations). Pick current models when you rebuild. Every OpenAI model and API date is in our shutdown tracker.
  • No "minimal" reasoning effort. n8n's OpenAI Chat Model offers Low, Medium and High.
  • Don't use prompt objects or Assistants. Leave the Chat Model's Prompt option empty, because v1/prompts ends on November 30. Avoid any OpenAI Assistant route: that API shut down on August 26, 2026.
  • OpenAI-hosted connectors (Gmail, Drive, SharePoint through connector_id) have no n8n equivalent. Use n8n's own app nodes or an MCP server.
  • Chat approvals. The Chat node's approval buttons don't work when the Chat Trigger is embedded or inside a sub-workflow.
  • Executions. Every chat message runs the workflow once, which counts toward your n8n plan's executions.
  • Evals. n8n Evaluations work from datasets, not trace grading. Metric-based evaluation depends on your n8n plan.

Checklist

  • Export the Agents SDK code of every workflow, and screenshot each canvas.
  • Copy eval datasets and graders before October 31, 2026.
  • Export the ChatKit threads and prompt texts you need.
  • Rebuild each workflow in n8n using the node table, and implement the approval and function-tool stubs.
  • Rewrite CEL and {{ }} templates as n8n expressions.
  • Replace or rehost the ChatKit front end.
  • Test with real conversations, then switch traffic before November 30, 2026.

Leaving Pipedream as well? Pipedream Workflows shuts down on March 31, 2027. See the Pipedream to n8n guide and the free migration report. Other automation, AI and developer platforms closing in 2026 and 2027 are in the shutdown tracker, which you can add to your calendar.

Frequently asked questions

When does OpenAI Agent Builder shut down?+

On November 30, 2026. OpenAI announced the deprecation on June 3, 2026. Evals and reusable prompt objects (the v1/prompts API) shut down on the same day, and existing evals become read-only on October 31, 2026.

Will my published Agent Builder workflow keep working through ChatKit?+

OpenAI documents the hosted workflow path only for the transition window, and a workflow ID only runs through hosted ChatKit sessions. Plan for embeds that point at a wf_ ID to stop answering when Agent Builder shuts down. ChatKit itself stays available with your own server.

Can I export an Agent Builder workflow as JSON?+

No. The only documented export is Agents SDK code in TypeScript or Python, from the Code dialog. OpenAI says the export doesn't convert the workflow graph, and in real exports approval steps and function tools come out as stubs.

What is the n8n equivalent of an Agent Builder Agent node?+

The AI Agent node with the OpenAI Chat Model sub-node. Turn on Use Responses API to get the built-in Web Search, File Search and Code Interpreter tools. JSON output maps to the Structured Output Parser.

Can n8n keep using my OpenAI vector stores?+

Yes. The File Search built-in tool takes your existing vector store IDs, on the OpenAI Chat Model inside an AI Agent or in the OpenAI node's Generate a Model Response. Raise Max Results: it defaults to 1.

Is there an official migration guide from Agent Builder to n8n?+

No. OpenAI's guide covers the Agents SDK and ChatGPT Workspace Agents, and n8n has no Agent Builder guide. This page maps each Agent Builder node to n8n.