Import and export

Agents are portable. You can bring one in from another platform, and you can export any Glytos agent as a self-contained file to back up, version, or move between workspaces.

Migrating in

Open Agents -> Import / Migrate. Pick the platform you are coming from:

SourceBecomesKind
VapiA prompt agentVoice
RetellA prompt agent, or a workflow if it has multiple statesVoice
BlandA prompt agent, or a workflow for a multi-node pathwayVoice
OpenAI AssistantsA chat agentChat
Glytos backupWhatever it was exported fromBackup

A source imports in one of two ways:

  • Connect - paste the platform's API key, and Glytos lists your agents so you can pick which to import. The key is used only for that request and is never stored. This is how Vapi, Retell and Bland import.
  • Paste JSON - paste a definition you already have. This is how OpenAI Assistants and a Glytos backup import. A pasted assistant is checked before anything is created, so the wrong file is refused with a reason instead of becoming an empty agent.

Every import lands in your Development environment, so you can review and test it before promoting it up.

A multi-step Retell or Bland flow becomes a Glytos workflow: each state becomes a node, and a prompt-based transition becomes an AI edge - the same LLM-decided routing Glytos uses natively. Review the transitions after importing.

Function tools

Function tools come in as stubs: the model knows the tool's name, description and parameters, but only you know the endpoint behind it. An imported tool has no URL and will not run until you open it and set its endpoint and auth. Nothing an import creates can place a live call on its own.

The mapping report after an import lists exactly what carried over and what needs your attention - a tool to wire up, a voice id to confirm, a webhook to reconnect.

Rebuilding an OpenAI Assistant

OpenAI closed its Assistants API on 26 August 2026. Importing by connecting an OpenAI account no longer works, because there is no API left to read assistants from. Past threads and messages cannot be imported: they were held by OpenAI.

What still comes across is the definition: the instructions, model settings and tool list an assistant was created with. An assistant made from code already has that definition in the code, and an assistant JSON saved before the shutdown has the same shape.

Paste it under Agents -> Import / Migrate -> OpenAI Assistants, or send it to the API (see below). Each definition becomes a Glytos chat agent.

What maps onto what

OpenAI AssistantsGlytos
AssistantA chat agent
InstructionsThe agent's system prompt
Model, temperature, top_pThe agent's model settings
response_formatStructured outputs (json_object and json_schema)
Function toolAn HTTP tool - schema imported, endpoint set by you
ThreadA thread in every server SDK, backed by a session with its transcript, events and cost
RunA run: one turn on that thread
File SearchKnowledge base or a vector store - upload the documents
Code InterpreterNot imported
Past threads and messagesNot recoverable

A strict json_schema is adjusted automatically to the closed-object form OpenAI requires (additionalProperties: false, all keys required, optionals made nullable), so a schema that worked on an Assistant does not start returning 400s here.

After the import

The report names what still needs you. In practice that is two things: give each imported tool its endpoint URL and auth, and upload any File Search documents into a knowledge base. Until a tool has an endpoint it cannot run, so an import can never place a live call on its own.

Then move your application's conversation calls from OpenAI's threads and runs to the threads resource of a Glytos server SDK, which keeps the same thread-and-run shape.

Importing through the API

The API accepts a definition directly: POST /imports/openai-assistant with {"assistant": { ... }}, which every Glytos server SDK wraps. It is checked the same way as a paste: a list response, an error body or another platform's export is refused with a 400 and an invalid_import code that says what the payload looks like instead, and nothing is created.

For the fuller comparison - what you gain, what it costs, and how the two platforms differ - see the OpenAI Assistants alternative guide.

Exporting an agent

From an agent's menu, choose Export as JSON. You get a portable glytos-agent document containing the agent's configuration (or workflow graph) with every tool it uses inlined, so it is fully self-contained.

Fields whose names mark them as secrets (keys, tokens, passwords, authorization headers) and phone numbers such as the transfer number are removed, and each removal is listed in the document's notes so you know what to reconnect after importing.

Review an export before you share it or commit it. Removal works on field names, so a credential stored anywhere else stays in the file: a key inside a URL's query string, and the headers of a workflow's HTTP tool step as the workflow builder saves them (a list of name and value pairs), are exported as they are.

To bring an export back, use Import / Migrate -> Glytos backup and paste it. Tools are recreated, references are re-linked, and the new agent lands in Development. This makes the export a natural fit for backups, templates, and moving an agent between workspaces.