migrate, don't rebuild

Bring the bot you already run.

Most platforms only let you build new. Convoship migrates you off the one you've outgrown. Upload your bot's export and we auto-detect its structure from the archive — no manual mapping — then convert intents, entities, and flows into Convoship's canonical schema. On a platform we don't parse yet? We add it.

Intents

every intent and its training phrases, matched and routed

Entities

slots and entity types, mapped into the session

Flows

decisions, branches, and fulfillment, preserved

Tools

API calls and webhooks, kept as real tool nodes

your export, materialized as

Deterministic Assistant

A scripted flow you control node-by-node — the same logic, now editable on the canvas with versioning and live simulation.

Autonomous AI Agent

An agentic runtime with mission, tools, persona, and guardrails — for reasoning over the long tail, not just scripted paths.

Single model pass with an offline heuristic fallback — imports work even without a provider key.

no bot to bring? draw it

Or sketch the one you want.

Starting from scratch? Draw the conversation the way your team already whiteboards it — or drop in a doc you already have. A deterministic parser plus a single model pass turn it into a runnable Assistant or AI Agent on the same canvas your migrations land on.

Draw.io

boxes, arrows, decision diamonds, service calls

PDF / Word

a runbook, spec, or support-macro doc

Image / photo

a snapshot of the whiteboard, read by vision

Blank canvas

start from one node and build it live

Same canonical schema, same editor, same deterministic-or-agentic output as a migration — just a different on-ramp.

product tour

Migrate it, ship it, and watch it improve.

Import your legacy bot (or a sketch), ship it as a deterministic Assistant or an autonomous AI Agent, give it cross-session memory, then watch a per-node heatmap show you where to improve — all in one workspace. No tab-juggling, no second tool.

Migrate any bot

Import your existing bot's export — auto-detected and converted, no manual rebuild

Assistant or AI Agent

Ship scripted-deterministic or agentic — mission, tools, persona, guardrails

Cross-session memory

Agents recall a returning user's context and top use-cases

Drop-off heatmap

Per-node abandonment on the canvas, so you fix the weak spots

Visual builder

React Flow canvas with library and inspector

Live simulator

Send messages, inspect context, and replay history

Channels

Embed widget, voice, WhatsApp, and webhook

Workflows

Chain triggers, assistants, agents, decisions, and webhooks

app.convoship.org/agents/loan-app/builder

Intent · Entry

apply_loan

12 phrases · 2 params

Entity

Capture amount

@number -> loan_amount

Tool

credit_check

POST /credit/check

Script

Compose reply

templates {{rate}}

reprompts × 3

under the hood

One schema. Every surface reads it.

The importer, runtime engine, embed SDK, and eval harness all share a single canonical conversation-flow schema. Export it, version it, and migrate it across workspaces.

loan-application.drawioXML
<mxGraphModel>
  <root>
    <mxCell id="n1" type="intent" value="apply_loan"/>
    <mxCell id="n2" type="decision" value="amount > 50000?"/>
    <mxCell id="n3" type="api" value="credit_check"/>
  </root>
</mxGraphModel>
agents/loan-app/v8.jsonJSON
{
  "id": "agt_loan-app",
  "version": 8,
  "intents": [{
    "name": "apply_loan",
    "phrases": 12,
    "parameters": ["loan_amount"]
  }]
}
~/acme-bank

Studio · Deploy · loan-application

-> import · drawio · claude-sonnet-4-6 (anthropic) · 412ms · $0.004

-> validate · 12 nodes · 14 edges · 0 errors

-> publish · version 8 · simulate ok

-> token · cdp_8c2...ke7 · embed snippet ready

✓ live on acme.bank · 42 sessions today

chat widget

One line of script. Any website.

The embed SDK renders the same runtime your team tested in Studio, so what passes in the simulator is the behavior your customers see.

acme.bank

ACME BANK

Personal loans, on your terms.

Rates from 6.9% APR. Apply in five minutes. No hidden fees.

Apply now
Loan Application
How much would you like to borrow?
25 thousand

how it stays correct

Deterministic where it matters, LLM where it helps.

Convoship doesn't ask the LLM to invent your conversation. A deterministic parser turns a diagram — or a legacy bot's export — into structured nodes; a single Claude pass cleans labels, infers slots, and lifts service calls. A validator + auto-repair pass catches the trivial stuff before any LLM round-trip — so the only thing the model is asked to do is the part where models are actually good.

  1. 1

    Deterministic parser — Draw.io / PDF / Word / image / legacy export

    Pure code, no LLM. Auto-detects the source (a sketch, or an existing bot's export) and reads it into a typed AST of nodes, edges, and labels.

  2. 2

    Validator + auto-repair

    Rule-based pass fixes missing entries, dangling edges, and duplicate ids before validation. Trivial issues never consume a model call.

  3. 3

    Single Claude pass (claude-sonnet-4-6)

    Cleans labels, infers entity slots, lifts service calls. Cost is bounded per import; output is constrained to the canonical schema.

  4. 4

    Validator again, then commit

    Any leftover errors are surfaced as actionable issues on the canvas, not silently shipped. Drafts are versioned; publish is explicit.

  5. 5

    Gold-eval regression suite

    Thirty real-world gold flows gate the extractor in CI. Node F1 ≥ 0.99 is a release blocker, not a best-effort metric.

built for builders

The whole platform, in one screen.

Everything reads the same canonical conversation-flow schema — legacy-bot migrations, sketch imports, scripted Assistants, and agentic AI Agents alike. Migrate, import, edit, simulate, deploy, and measure all share one JSON.

Migrate from legacy platforms

Your existing bot's export — auto-detected from the archive and converted to a deterministic Assistant or an AI Agent. On a format we don't parse yet? We add it. A heuristic fallback means imports work even offline.

Multi-source sketch import

Draw.io, PDF, Word, and image uploads. One shared flow schema with source-specific parsers.

Visual flow editor

React Flow canvas with library and inspector. Intents are first-class. Subflows compose.

Sandboxed code nodes

Python with session-scoped variables. No more glue scripts living elsewhere.

Real tool integration

HTTP nodes with auth, templated body, JSONPath output mapping, retries, and encrypted secrets.

Entity-aware slot filling

System types for numbers, dates, emails, and durations. Custom list entities with synonyms.

Embed anywhere

Small IIFE bundle, one script tag, queue snippet, tunable theme, lifecycle hooks, public API.

Built-in analytics

Conversation counts, session health, latency, fallback rates, completion, and audit history.

Live simulator + debug

Open any conversation history in the simulator and inspect the full runtime context in a popup.

Production foundations

Workspace auth, MFA, audit log, secrets vault, versioned drafts, and usage metering.

Deterministic Assistant or AI Agent

Same import, your choice of output: a scripted, deterministic Assistant or an autonomous AI Agent with LLM reasoning, tool calls, guardrails, evals, and spend caps. Upgrade an Assistant to an Agent in one click.

Cross-session memory

AI Agents recall a returning user's prior context and top use-cases, so conversations pick up where they left off instead of starting cold.

Drop-off heatmap + improvement loop

Live per-node drop-off overlaid on the canvas. Pair it with the AI flow doctor, persona-simulation stress tests, and visual version diff to close the loop.

Workflow chains

Orchestrate assistants, agentic agents, webhooks, and branches — e.g. qualify with an agent, hand off to a scripted intake flow.

migrate any bot -> AI agent

Get off your legacy bot.
Ship an AI agent this week.

See your own bot's export become a production AI agent in a single working session — reasoning, cross-session memory, and a drop-off heatmap included.