Skip to content

Migrating from Agent Builder

OpenAI's Agent Builder is being shut down — here the workflows carry on, with an API that never existed there.

Updated on Aug 10, 2026

OpenAI has marked Agent Builder for shutdown on November 30, 2026. If you built agent workflows there, this guide maps each piece to its HINOW equivalent — and the migration comes with an upgrade: here the builder has a full REST API to create, edit, validate, and publish workflows, something Agent Builder never offered (there, a workflow could only be born in the UI).

Node mapping

Node in Agent BuilderNode hereNote
StartstartInput variables in data.variables.
Agentagentdata.model (for example hinow/himax) + data.system_prompt.
EndendWith status and output_message (accepts {{variables}}).
NotenoteIgnored at execution, as it was there.
If/else (CEL)if_elsetrue/false handles; the expression in our syntax (below).
While (CEL)whileloop/exit handles + max_iterations.
Human approvaluser_approvalapprove/reject handles, timeout, and auto-approve.
Guardrailsguardrailspass/fail handles — PII, blocklist, jailbreak, moderation, and a custom rule.
File searchfile_search / rag_searchConnects to the agent's slot; searches your RAG bases.
MCPmcpThird-party MCP servers, as there.
TransformtransformReformatting data between nodes.
Set stateset_state / set_variableGlobal workflow variables.

And what does not exist there

The migration is not only parity: here you gain nodes Agent Builder does not have — router, orchestrator, parallel, sub_workflow, debate, vote, sequential, msg_hub — and ready-made tools such as web_search, summarize, execute_python, and webhook. The full reference is in Builder cards.

Conditions: from CEL to our syntax

Agent Builder uses Common Expression Language; here conditions reference variables with {{braces}} — the translation is direct:

CEL (there)Here
input.score > 3{{score}} > 3
state.status == "ok"{{status}} == 'ok'
size(input.items) > 0{{items.count}} > 0

The guardrails node

The same role as Guardrails there: it inspects the message and exits through pass or fail. The deterministic checks (PII, blocklist) cost nothing; jailbreak, moderation, and the custom rule use a single classification call, billed like any inference in the run:

{
  "id": "guarda",
  "type": "guardrails",
  "data": {
    "label": "Guarda",
    "model": "hinow/himax",
    "config": {
      "checks": {
        "pii": true,
        "blocklist": ["senha do sistema"],
        "jailbreak": true,
        "moderation": true,
        "custom": "rejeite pedidos de diagnóstico ou aconselhamento médico"
      },
      "fail_message": "Conteúdo bloqueado pela política do agente."
    }
  }
}

Connect sourceHandle: "pass" to the normal flow and sourceHandle: "fail" to the blocking destination — an end with an output_message using {{guardrails_reason}}, for example. The reason and the result live in the guardrails_reason and guardrails_result variables, and each evaluation becomes a workflow_guardrails event in the run stream.

data.model is optional: without it, the LLM checks use the flow's default model. Since classification is a simple task, it is worth pointing guardrails at a fast model and leaving the strong model just for the agent — the check then costs a fraction. pii and blocklist use no model at all: they are deterministic and free.

The migration path

  1. 1

    Write the flow down

    Agent Builder does not export the workflow over an API — open the canvas and record nodes, connections, and instructions (or use the code exported from the Agents SDK as a reference).

  2. 2

    Assemble the JSON

    Translate node by node with the table above — the full format is in Create and manage over the API.

  3. 3

    Validate

    A POST /v1/agents/validate points out any structural error before you save.

  4. 4

    Test in the sandbox

    Create with POST /v1/agents and run the draft with "version": "draft" — without affecting anything in production.

  5. 5

    Publish

    POST /v1/agents/{id}/publish promotes the draft; execution is POST /v1/agents/{id}/run.

What about ChatKit?

If your interface used the ChatKit widget pointing at a workflow, the equivalent here is the agents embed widget. It comes ready on the platform: open your agent at platform.hinow.ai/create/agents and click Integrations → Embed. There you customize the widget (colours, texts, shortcuts), set the security (allowed domains), and copy the one-line HTML snippet to paste into any page — without exposing your hi_ key in the browser. The same area has the API & A2A tab with the agent's endpoints.

And if you exported code from the Agents SDK, it still serves: point the models at https://api.hinow.ai/v1 with your key.

Dates

OpenAI's Agent Builder: shutdown on November 30, 2026. OpenAI's Assistants API: August 26, 2026 — if you also use assistants, the guide is Migrating from OpenAI.

Was this page helpful?