Import / export
Every scenario can be downloaded as a JSON file and imported into another AssureAgent workspace. Useful for:
- Moving from a sandbox workspace to a production-test workspace.
- Sharing a scenario with another team that owns the tested agent.
- Backing up scenarios before destructive edits.
Export
- Open the scenario.
- Click Download (top-right action menu).
- Save the JSON file. Filename defaults to a slugified version of the scenario name.
What’s in the export:
- Scenario fields (name, type, description, design style, target / outbound numbers, agent reference, success criteria, labels).
- For graph scenarios: all nodes (start, step, branch, service, end) with their content.
- For free-flow scenarios: the description and any custom functions you declared.
What’s stripped:
- Run history, generated test paths, audio recordings, transcripts. These are run artifacts, not scenario authoring — they don’t make sense to copy.
- Workspace-specific upstream IDs for the per-scenario specialized agent (when custom functions are present). These get re-materialized in the importing workspace from scratch — see Custom functions sync below.
Import
- From the Scenarios page, click Import.
- Select the JSON file.
- The scenario is validated and inserted with the suffix
(Imported)to avoid name collisions.
The import handler:
- Validates structure against the same rules used by the live save path (bad URLs, duplicate function names, malformed parameter schemas all fail with field-named errors).
- Sanitizes the scenario for your workspace — agent reference and phone numbers are replaced with valid ones from your account, since the exporter’s references won’t exist for you.
- Resets all run-state flags to a clean baseline.
- For free-flow scenarios with custom functions: kicks off a fresh upstream sync in your workspace’s account, so a new specialized caller-side agent is materialized. You’ll see the Functions panel banner move from pending → synced.
Custom functions sync
The custom function definitions you authored are portable — they ship in the export and re-validate on import. The upstream registration of those tools (the runtime resources we maintain so the caller LLM can invoke them) is not portable; those are pinned to the exporter’s account.
Behavior:
- On export, upstream IDs (
retellSpecializedLlmId,retellSpecializedAgentId, etc.) are stripped. - On import, the field values default to null.
- The import handler fires a sync that materializes a fresh set of upstream resources in your workspace’s account.
- You see the sync status banner update on the imported scenario; if anything failed, the Retry button works the same as on a normal save.
Round-trip examples
Free-flow scenario with one custom function
Export → JSON includes:
{ "scenario": { "name": "billing-dispute", "scenarioDesignStyle": "freeFlow", "scenarioDesignDescription": "...", "customFunctions": [ { "name": "getDate", "url": "https://example.com/date", ... } ] }, "scenarioNodes": [], "exportedAt": "2026-05-02T..."}Import → new scenario billing-dispute (Imported) with customFunctions intact, fresh upstream sync triggered.
Graph scenario
Export → JSON includes the full node graph + edges. Import preserves node IDs internally (re-mapped to fresh ones to avoid collisions).
Limitations
- Phone numbers don’t translate. The exporter’s outbound number won’t exist in your account. The importer re-points to a default number; you may want to re-assign manually.
- Scheduled tests don’t ship with the scenario. If the original scenario had a recurring schedule, you’ll need to set that up again on import.
- Reports / runs don’t export. Only the scenario authoring.