Deterministic Assistant
A scripted flow you control node-by-node — the same logic, now editable on the canvas with versioning and live simulation.
migrate, don't rebuild
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.
every intent and its training phrases, matched and routed
slots and entity types, mapped into the session
decisions, branches, and fulfillment, preserved
API calls and webhooks, kept as real tool nodes
A scripted flow you control node-by-node — the same logic, now editable on the canvas with versioning and live simulation.
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
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.
boxes, arrows, decision diamonds, service calls
a runbook, spec, or support-macro doc
a snapshot of the whiteboard, read by vision
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
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
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}}
under the hood
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.
<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>{
"id": "agt_loan-app",
"version": 8,
"intents": [{
"name": "apply_loan",
"phrases": 12,
"parameters": ["loan_amount"]
}]
}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
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
Rates from 6.9% APR. Apply in five minutes. No hidden fees.
how it stays correct
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.
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.
Rule-based pass fixes missing entries, dangling edges, and duplicate ids before validation. Trivial issues never consume a model call.
Cleans labels, infers entity slots, lifts service calls. Cost is bounded per import; output is constrained to the canonical schema.
Any leftover errors are surfaced as actionable issues on the canvas, not silently shipped. Drafts are versioned; publish is explicit.
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
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.
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.
Draw.io, PDF, Word, and image uploads. One shared flow schema with source-specific parsers.
React Flow canvas with library and inspector. Intents are first-class. Subflows compose.
Python with session-scoped variables. No more glue scripts living elsewhere.
HTTP nodes with auth, templated body, JSONPath output mapping, retries, and encrypted secrets.
System types for numbers, dates, emails, and durations. Custom list entities with synonyms.
Small IIFE bundle, one script tag, queue snippet, tunable theme, lifecycle hooks, public API.
Conversation counts, session health, latency, fallback rates, completion, and audit history.
Open any conversation history in the simulator and inspect the full runtime context in a popup.
Workspace auth, MFA, audit log, secrets vault, versioned drafts, and usage metering.
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.
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.
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.
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
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.