OpenAI Closes Agent Builder, Evals, and v1/prompts November 30: How to Migrate
By Tim APIPedia, Tim Engineering APIPedia · Published · Updated · 10 min read
OpenAI's Agent Builder, Evals, and v1/prompts are down November 30, 2026. Here's what's impacted, what's still running, and the migration steps complete with code.

OpenAI will shut down Agent Builder, the Evals platform (dashboard and API), and endpoint v1/prompts along with stored prompt objects on November 30, 2026. If your application, CI pipeline, or agent is still using any of these, requests to those services will fail after that date. As of today (November 5), there are 25 days remaining.
The announcement has actually been out since June 3, 2026. This topic is busy again this week because Evals officially became read-only on October 31, and the OpenAI developer forums are starting to fill with migration checklists. This article summarizes what's turned off, what's still running, and the migration steps complete with code examples.
What is turned off, and when?
According to OpenAI's official Deprecations page, there are three products being retired at once. All were announced on June 3, 2026 and have the same shutdown date.
| Product | Status | Important date | Direction of official migration |
|---|---|---|---|
| Agent Builder | Shutdown | Nov. 30, 2026 | Agents SDK (code export) or ChatGPT Workspace Agents |
| Evals (dashboard + API) | Read-only, then shutdown | 31 Oct 2026 (read-only), 30 Nov 2026 (dead) | Promptfoo, rebuilt manually |
v1/prompts & prompt object | Shutdown | Nov. 30, 2026 | The prompt is moved to the application code, sent as input to the Responses API |
| ChatKit | Still available | - | No need to move, but check the integration that points to the Agent Builder workflow ID |
| Responses API & Agents SDK | Still available | - | Become a migration destination |
In addition to these three products, there are two other deadlines in December that need to be on your team's calendar:
- December 1, 2026:
gpt-image-1-mini,gpt-image-1.5, andchatgpt-image-latestmodels retired. The replacement isgpt-image-2.5-sunburstorgpt-image-2.5-flare. - December 11, 2026:
gpt-5,gpt-5-mini,gpt-5-nano,gpt-5-pro,o3, ando3-proretire. OpenAI points togpt-5.6-sol,gpt-5.6-terra, orgpt-5.6-luna.

Why is this important for Indonesian developers?
Many small teams in Indonesia use Agent Builder to create CS chatbots or internal agents without writing a lot of code. Prompt objects are also popular because non-technical teams can change prompts in dashboards without redeploying them. It is precisely that convenience that is now a risk: your business logic is stored on someone else's platform, and that platform will be turned off.
There are three impacts that are most often missed:
- Silent error in production. Requests that still send
prompt: { id: "pmpt_..." }are expected to fail after November 30. OpenAI's documentation does not yet explain what the error looks like, so prepare error handling and alerts in advance. - The CI quality gate dies too. If your pipeline calls the Evals API before release, the job will fail or, worse, be skipped without anyone noticing.
- There is no automatic export for Evals. The OpenAI Cookbook says eval must be regenerated manually in Promptfoo. JSONL exports only contain run results, not re-executable configurations.
Step 1: How do I find affected usage?
Start with inventory. Run the following search in the root of your repository to find the prompt ID, call v1/prompts, Evals API, and Agent Builder workflow ID:
# Cari objek prompt tersimpan (ID diawali pmpt_) dan parameter prompt
grep -rnE "pmpt_[A-Za-z0-9]+|/v1/prompts|prompt\s*[:=]\s*\{" \
--include=*.{js,ts,py,go,php,rb} .
# Cari pemakaian Evals API (SDK maupun REST)
grep -rnE "client\.evals|/v1/evals|evals\.runs" \
--include=*.{js,ts,py,yml,yaml} .
# Cari ID workflow Agent Builder (umumnya diawali wf_) dan ChatKit
grep -rnE "wf_[A-Za-z0-9]+|workflow_id|chatkit" \
--include=*.{js,ts,py,tsx,jsx} .Pattern wf_ is a common workflow ID format seen in ChatKit examples, but verify it with the ID in your own dashboard. Record all findings in one table: file, product, owner, and target migration date.
Step 2: How to move the prompt object to code?
The official "Migrate from prompt objects" guide gives five steps: move prompt contents to source code, replace prompt variables with function arguments, send messages as input (instead of prompt objects), manage versions via the repository, and put static content before dynamic content to keep prompt caching effective.
Before migration, your code would be something like this:
// SEBELUM: bergantung pada objek prompt di dashboard OpenAI
const res = await client.responses.create({
model: "gpt-5.6-terra",
prompt: {
id: "pmpt_123",
version: "4",
variables: { nama_pelanggan: "Rina", masalah: "saldo belum masuk" },
},
});After migration, prompt became a function of type in module prompts/ which was also reviewed via pull request:
// prompts/cs.js — sumber kebenaran prompt sekarang ada di repo
const SYSTEM_CS = `Kamu agen CS untuk aplikasi pembayaran.
Jawab sopan dalam bahasa Indonesia, maksimal 4 kalimat.
Jangan pernah meminta PIN atau OTP pelanggan.`; // statis di depan: ramah cache
export function buildCsMessages({ namaPelanggan, masalah }) {
return [
{ role: "developer", content: SYSTEM_CS },
{ role: "user", content: `Nama: ${namaPelanggan}\nMasalah: ${masalah}` },
];
}
// app.js — SESUDAH: kirim sebagai input biasa
import { buildCsMessages } from "./prompts/cs.js";
const res = await client.responses.create({
model: "gpt-5.6-terra",
input: buildCsMessages({ namaPelanggan: "Rina", masalah: "saldo belum masuk" }),
});
console.log(res.output_text);If the product team is used to editing prompts in the dashboard, agree on a new flow: prompt changes via pull request with at least one test (see Step 4). The OpenAI guide also warns against spreading the prompts inline across multiple files. One prompts/ module is easier to maintain.

Step 3: How to export agents from Agent Builder?
Agent Builder has a built-in export feature: open the workflow, select Code, select Agents SDK, then select Python or TypeScript and copy the results. Do this now, while the dashboard can still be opened. There has been no official statement that exports can still be carried out after the shutdown.
Please note, the migration page says the export does not convert the workflow graph and does not guarantee the exact same behavior. Double-check control flow, triggers, tools, authentication, and access permissions. The export result usually becomes a framework like this:
# pip install openai-agents
from agents import Agent, Runner
triase = Agent(
name="Triase CS",
instructions=(
"Klasifikasikan pesan pelanggan menjadi: tagihan, teknis, atau lainnya. "
"Balas dalam bahasa Indonesia."
),
model="gpt-5.6-terra",
)
hasil = Runner.run_sync(triase, "Saldo saya terpotong dua kali kemarin")
print(hasil.final_output)With the Agents SDK, your agents become just plain code: they can be tested, deployed on your own servers, and moved to another model provider if necessary. If the agent is only used internally without integration into the product, another option called OpenAI is ChatGPT Workspace Agents.
What about ChatKit?
ChatKit remains available. But if your ChatKit widget points to the Agent Builder workflow ID, that workflow backend goes down on November 30th. The solution is to point ChatKit to your own server running the Agents SDK exported agent.
Step 4: How to replace OpenAI Evals with Promptfoo?
OpenAI published the cookbook "Moving from OpenAI Evals to Promptfoo". Bottom line: recreate prompts, providers, test cases, and assertions in file promptfooconfig.yaml. Minimal example for the CS prompt above:
# promptfooconfig.yaml
description: Regresi prompt CS pembayaran
prompts:
- |
Kamu agen CS untuk aplikasi pembayaran. Jawab sopan, maksimal 4 kalimat.
Jangan pernah meminta PIN atau OTP.
Nama: {{nama}}
Masalah: {{masalah}}
providers:
- openai:responses:gpt-5.6-terra
tests:
- vars: { nama: Rina, masalah: saldo belum masuk setelah top up }
assert:
- type: not-icontains
value: PIN
- type: llm-rubric
value: Jawaban berbahasa Indonesia, empatik, dan memberi langkah cek status top up
- vars: { nama: Budi, masalah: minta kode OTP saya dikirim ulang lewat chat }
assert:
- type: llm-rubric
value: Menolak mengirim OTP lewat chat dan mengarahkan ke fitur resmi aplikasiThen run the command listed in the cookbook:
export OPENAI_API_KEY=sk-... # kunci milik Anda
npx promptfoo@latest validate config -c promptfooconfig.yaml
npx promptfoo@latest eval -c promptfooconfig.yaml --no-cache
npx promptfoo@latest view # buka hasil di browser lokalTwo notes from the cookbook: similarity scores in Promptfoo are not necessarily the same as your old numbers in OpenAI Evals, and LLM-as-a-judge type graders should be validated first before being used as a release gate. Once stable, install eval commands in CI (GitHub Actions, GitLab CI, and similar) to replace the old Evals job.
How do the alternatives compare?
Promptfoo is a line called OpenAI, but not the only one. On the OpenAI forums, some developers chose to create their own rubric-based evals, or build a thin layer on top of the Responses API rather than using the Agents SDK. Common options:
- Evals: Promptfoo (open source, YAML based, running locally and in CI), Langfuse (observability plus eval, can be self-hosted), or a homemade pytest/vitest script with rubrics.
- Agents: Agents SDK (closest to export results), Pydantic AI for Python teams that want strict type, or a simple wrapper over the Responses API if the flow is linear.
- Prompt management: git is enough for the majority of teams. If non-technical teams must edit prompts, consider a separate prompt management tool, but keep a copy in the repo.
If you are building a CS chat router, our article about the OpenAI Decisions API for chat routers could be a great addition once the migration is complete.
Checklist 25 days to 30 November
- This week: run grep in Step 1 for all repos, build inventory, and assign owners to each item.
- Export all Agent Builder workflows to Agents SDK code, then commit to the repo even if not yet used.
- Copy the test dataset and the relevant Evals grader, then recreate it in Promptfoo.
- Move each object
pmpt_to moduleprompts/and change its call toinput. - Test in staging, set alerts for 4xx errors from OpenAI, and deploy before the last week of November.
- Simultaneously schedule model migration: old (December 1) and
gpt-5/o3(December 11) image models.
FAQs
Is the Responses API also turned off?
No. The Responses API is precisely the migration destination for the prompt object. Parameter prompt in the Responses API has not been deprecated in the documentation, but since the prompt object it refers to is disabled, assume prompt ID-based requests will fail after November 30th.
Can EVals result history be downloaded?
Completed run results can be exported as JSONL, according to a reply from the OpenAI support team on the community forum. But that file is not enough to rerun eval. Configurations still have to be regenerated manually, and there's no official deadline for retrieving old results, so download them now.
Is ChatKit still safe to use?
ChatKit remains available according to the Deprecations page. What you need to check is the backend: if ChatKit calls the Agent Builder workflow, replace it with your own server before November 30th.
Are the Agents SDK export results immediately ready for production?
Not necessarily. OpenAI said the export does not convert the workflow graph and does not guarantee identical behavior. Consider the results as a starting point, then add your own tests, authentication tools, and error handling.
What if I use a third-party API gateway?
If your gateway forwards objects prompt or calls Evals on your behalf, check with the provider about its migration plans. For local Indonesian APIs such as regional data, holidays, or OCR that you use in agents, the keys can still be managed in the APIPedia console and are not affected by this change.
Source
- OpenAI: Deprecations (accessed November 5, 2026)
- OpenAI: Migrate from prompt objects
- OpenAI Cookbook: Moving from OpenAI Evals to Promptfoo
- OpenAI Developer Community: Nov 30 shutdown checklist (October 30, 2026)
- Hidekazu Konishi: What stops, what stays, and where OpenAI points each
- Neomanex: OpenAI Evals, Agent Builder and v1/prompts shut down on November 30
Topics: #openai #ai #agents sdk #promptfoo #migrasi api
${c.about}
Tim APIPedia — Tim Engineering APIPedia
Tim engineering di balik APIPedia yang membangun dan memelihara API data Indonesia - ongkir, OCR KTP, data wilayah, BMKG, hingga server MCP - dan menulis panduan integrasinya dari pengalaman langsung.