Last updated: October 27, 2026

OpenAI Agent Builder shuts down November 30, 2026. Here is where your agent goes.

OpenAI deprecated Agent Builder on June 3, 2026, and it shuts down on November 30, 2026. Move agents that run unattended to the Agents SDK, and agents people chat with to ChatGPT Workspace Agents. Your MCP servers move unchanged: they are a URL and an auth header, and both destinations accept them.

Most Agent Builder workflows we see call tools on outside MCP servers, including ours: OpenTweet's MCP server still receives calls from Agent Builder workflows in late October 2026. If your workflow posts to X, the migration below takes about 30 minutes, and the posting side does not change at all.

The dates

Date
What happens
June 3, 2026
OpenAI notifies Agent Builder and Evals users that both products are deprecated.
October 31, 2026
Existing evals become read-only.
November 30, 2026
Agent Builder shuts down. The Evals dashboard and API shut down.
No date
ChatKit is not deprecated and remains available.

Source: OpenAI's platform deprecations page, read October 27, 2026.

Where each kind of workflow should go

Neither replacement is a drop-in copy of Agent Builder's canvas. Pick by who starts the agent and whether a person is there when it acts.

What you built
Move it to
Why
An agent that runs on a schedule or from your backend (daily digest, news bot, release notes)
Agents SDK, run by cron or your app
Nothing waits for a person to click approve, and you own the trigger.
An agent your team uses by chatting with it
ChatGPT Workspace Agents
No code, lives in ChatGPT. Writes need Developer Mode (beta on Business, Enterprise, Edu) and a confirmation per action.
A chat widget on your site built with ChatKit
Keep ChatKit, move the agent logic to the Agents SDK
ChatKit stays. Only the Agent Builder workflow behind it has to move.
A "workflow" that is really one fixed prompt and one API call
A plain scheduled script
If the steps never change, you do not need an agent at all. One HTTP call is cheaper and easier to debug.

Before you rebuild: inventory the workflow

Open each workflow in Agent Builder while you still can and write down:

  1. The trigger: who or what starts a run, and how often.
  2. The model, the instructions and any guardrail nodes. Copy the instruction text out word for word.
  3. Every tool: hosted tools (web search, file search) and every MCP server URL, with which auth it uses.
  4. Approvals: which steps wait for a person.
  5. Where the output goes: a post, a message, a database row.

Export before November 30

After the shutdown you cannot open the canvas to check what a node did. Save the instructions and the tool list now, even if you migrate later in November.

Path 1: the Agents SDK (unattended agents)

This is the right home for any agent that posts on a schedule. The SDK connects to a remote MCP server with MCPServerStreamableHttp, so the tools your workflow used come along unchanged. Here is an X posting agent on the OpenTweet MCP server:

agent.py
# pip install openai-agents
import asyncio, os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="opentweet",
        params={
            "url": "https://mcp.opentweet.io/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['OPENTWEET_API_KEY']}"},
        },
        cache_tools_list=True,
    ) as opentweet:
        agent = Agent(
            name="X poster",
            instructions=(
                "You run our X account. Write one post under 280 characters "
                "from the notes you get, then schedule it for the next free slot."
            ),
            mcp_servers=[opentweet],
        )
        result = await Runner.run(agent, "Notes: v2.4 ships CSV import and faster search.")
        print(result.final_output)

asyncio.run(main())

The agent sees all 43 OpenTweet tools, such as opentweet_create_tweet, opentweet_schedule_tweet, opentweet_create_thread and opentweet_get_top_posts. Keep the key in an environment variable, never in the instructions. The SDK's MCP docs also cover HostedMCPTool, where OpenAI's side calls the server for you.

Then give it the trigger Agent Builder used to own:

crontab
# crontab: run the agent every weekday at 14:00 UTC
0 14 * * 1-5  cd /srv/x-agent && OPENTWEET_API_KEY=ot_... python agent.py >> agent.log 2>&1

Any scheduler works: cron, GitHub Actions, Vercel Cron or a job queue in your app.

Path 2: ChatGPT Workspace Agents (people in the loop)

Workspace Agents are the no-code successor, built around connectors and MCP. To let one post, a workspace admin enables Developer Mode, then you add a custom MCP connector:

Custom connector
URL:        https://mcp.opentweet.io/mcp
Transport:  Streamable HTTP
Auth:       Authorization: Bearer ot_your_key

Two limits decide whether this path fits. Developer Mode, which allows MCP writes, is in beta on Business, Enterprise and Edu only. And every write shows a confirmation a person approves, so the agent cannot post while nobody is watching. The workaround for timed posts is to have the agent schedule them: you approve once, and OpenTweet publishes at the time you set. Full setup in Post to X from Workspace Agents.

Path 3: no agent at all

Plenty of Agent Builder workflows were one fixed prompt and one post. If yours never branches, skip the agent: generate the text however you like and send one request.

Terminal
curl -X POST https://opentweet.io/api/v1/posts \
  -H "Authorization: Bearer $OPENTWEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "v2.4 is live: CSV import and faster search.", "scheduled_date": "2026-11-02T14:00:00Z"}'

Same key, same account, no SDK. See API or MCP for posting for when each one wins.

Cut over safely

  1. Run the new agent with drafts only for two or three days. With OpenTweet, have it create posts without publish_now or a schedule, so they land in Drafts for review.
  2. Compare the drafts with what the Agent Builder workflow produced from the same inputs.
  3. Switch the old workflow off first, then turn on publishing in the new one, so both never post the same item.
  4. Delete the old workflow and revoke any keys only it used.

Duplicate posts

If both versions run at once, X can flag the repeated posts. The OpenTweet API stops a post that repeats one of yours unless you resend it with allow_duplicate, but turn the old workflow off rather than relying on that.

7-day free trial with a few limits, or pay now for full limits.

Frequently asked questions

When does OpenAI Agent Builder shut down?

November 30, 2026. OpenAI notified Agent Builder users on June 3, 2026 that the product is deprecated, and its deprecations page lists November 30, 2026 as the shutdown date. The Evals platform shuts down the same day, and existing evals become read-only on October 31, 2026.

What replaces Agent Builder?

OpenAI points to two paths: the Agents SDK, if you want the agent in code you run yourself, and ChatGPT Workspace Agents, if you want a no-code agent inside ChatGPT. ChatKit, the embeddable chat UI, is not deprecated and remains available.

Is ChatKit being shut down too?

No. OpenAI states that ChatKit remains available. Only Agent Builder and the Evals platform are on the November 30, 2026 shutdown list.

Will my MCP tools still work after I migrate?

Yes, if the MCP server is hosted somewhere other than Agent Builder. An MCP server is just a URL and an auth header, so the same server plugs into the Agents SDK (MCPServerStreamableHttp or HostedMCPTool) and into a Workspace Agents custom connector. You only rebuild the workflow around it, not the tools.

Can Workspace Agents post to X on their own?

Only on plans with Developer Mode, which is in beta on ChatGPT Business, Enterprise and Edu, and every write action shows a confirmation that a person approves. For posts that go out while nobody is watching, use the Agents SDK in a scheduled job, or let the agent queue posts with a scheduled time in OpenTweet so they publish later without another approval.

What is the fastest migration for an Agent Builder workflow that posts to X?

Move it to the Agents SDK and point it at the same posting MCP server. With OpenTweet that is https://mcp.opentweet.io/mcp with an ot_ bearer key: 43 tools for posting, scheduling, threads and analytics, and no X developer account. The code below is about 20 lines of Python.

Do I need an X developer account to post from the Agents SDK?

Not with OpenTweet. You log in to X once in OpenTweet and use an ot_ key; X API fees are included in the plan ($19.99/mo, or $29/mo with 10 link posts a day). With the raw X API you need your own developer app, OAuth tokens and pay-per-use billing.

Keep your X agent running after November 30

One MCP URL and one key. Works from the Agents SDK, Workspace Agents, cron or curl. No X developer account.

7-day free trial with a few limits, or pay now for full limits.