AAssemblix
Visual chat-workflow engine · voice & avatar · self-hostable

Build chat agents as visual workflows.

Design the whole conversation as a graph — branching logic, any LLM, your own docs. Then ship it as text, real-time voice, or a lip-synced AI avatar. Same agent, one switch, no code.

No credit card·Free tier·Source-available
OpenAIGeminiDeepSeekElevenLabsAnamYandex SpeechKit

The real editor — building a conversation graph, then switching its output to voice and to a live avatar.

A 45-second narrated walkthrough of Assemblix. It opens on the point that a single prompt cannot hold a real conversation. The screen then shows the Assemblix editor: a node palette on the left with Agent, Sticker, End, Transcribe, Condition, Delay, Set Variable and HTTP Request, and a canvas where a conversation graph is assembled — Start connects to an Agent node running gpt-4.1-nano, which branches through a Condition node into separate paths and an End node. The agent's settings panel opens on the right, showing the model picker, instructions, chat history, voice input, streaming, tools, knowledge bases and a response format selector. The Output field is switched to AI avatar, and the avatar configuration appears: provider Anam, avatar model Cara, a list of selectable avatar personas, and a voice picker. The walkthrough then shows the three output modes an agent can use — plain text, real-time streamed voice, or a live lip-synced AI avatar — and finishes on knowledge bases: PDFs and Markdown files are uploaded into a knowledge base that a support agent queries so its answers stay grounded in your own documents.
01 / Visual builder

Build conversational agents visually.

A prompt can't hold a real conversation. A graph can. Drag nodes, wire the branches, publish — the flow of the dialogue is the thing you edit, not a wall of instructions.

The Assemblix editor: node palette on the left, a sales-training conversation graph on the canvas with a classifier agent branching through condition nodes into six phrase agents

A real agent — classifier → condition → six branch agents, each on its own model.

01

Branch on anything

Condition nodes route the conversation on intent, on state, on a tool's answer. Every path is visible, so nothing hides inside a prompt.

02

A model per node

Classify on a cheap fast model, reason on a strong one. The provider is a property of the node, not of the project.

03

Real nodes, not blocks

Agent, Condition, Delay, Set Variable, Transcribe, HTTP Request. Reach anything over HTTP, then keep going in the graph.

02 / One switch

Text, voice, or avatar — one switch.

Most tools make you pick the channel up front and rebuild the bot to add voice. Here the modality is a field on the agent. Change how it answers without touching the conversation you already built.

Refund policy agentOpenAI · gpt-4oOutput

Text

Plain chat replies.

VoiceRealtime

Speaks out loud, streamed live as it thinks.

AI avatar

A talking face on screen.

VoiceElevenLabs · realtimeOn

Realtime streaming

Speak as the agent thinks

RachelVoiceWarm · natural · en-US
AI avatarAnam · lip-syncedOn
A live lip-synced AI avatar answering on camera
AnaRealtime avatar persona
Lip-synced

Voice input works the same way — drop a Transcribe node in front of the agent and the graph takes speech as well as it takes text.

03 / Grounded and stateful

It remembers, and it knows your docs.

Two things separate an agent from a chat widget: it carries context across turns, and it answers from your material instead of guessing.

Agents that remember

Typed workflow and agent state carries context across every turn — set it, branch on it, watch it update. The values live in Postgres, so a conversation survives restarts, deploys, and weeks of silence.

Agent stateLive
turn
3number
current_stage
"connection""closing"updated
cart_total
49number
refund_requested
trueboolean
customer_name
"Alex"string

Answer from your own docs

Upload PDFs, paste text, attach the knowledge base to any agent. It retrieves over your material and answers with citations — no fine-tuning, no separate vector database to run.

PDFReturn policy.pdf14 pages
MDSupport FAQ.md62 answers
PDFPricing 2026.pdf6 pages
Company knowledge3 docs · 128 chunks · vector search on
Support agentAnswers with citations from your docs
04 / Build and debug

Test it instantly. Replay every run.

Run the agent in the debug panel — type or talk — and watch each step as it happens. When something goes wrong in production, open the run and walk it back step by step.

The Assemblix debug panel running an agent live, with the state inspector on the left and a step-by-step trace on the right
Debug chat · live stateEvery step lands in the trace with its duration — and the state panel updates as the run moves.
Execution replay in Assemblix showing state after each step, the model request, input data and duration for a completed run
Execution replay · step by stepInspect each model call, every variable, and every branch the agent took — after the fact.
05 / Workflows-as-API

Every agent is also a typed endpoint.

Hit publish and you get POST /api/workflows/wf_… with bearer auth and a stable contract. Put it behind your own product, your own UI, your own funnel — no separate deploy, no infrastructure code.

Call your agentcURL
curl -X POST https://app.assmblx.com/api/workflows/wf_a3f2 \
  -H "Authorization: Bearer $ASSEMBLIX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": { "message": "I want a refund" },
    "state": { "user_id": "u_42" }
  }'
Response200 OK
{
  "executionId": "exec_d7c9b585",
  "status": "completed",
  "output": {
    "parsed_message": {
      "intent": "refund",
      "confidence": 0.94,
      "next_action": "check_policy"
    },
    "tool_executions": []
  },
  "state": { "user_id": "u_42", "turn": 3 },
  "metadata": { "durationMs": 850, "totalSteps": 3 }
}

Postgres-backed state · Webhooks, REST, schedules · Every run traced and replayable.

06 / Vendor-neutral

Any provider. Your own keys.

Nothing here is locked to one vendor. Bring your own keys for the model, the voice, and the avatar — and swap any of them without rebuilding the agent.

Bring your own keys · vendor-neutral

  • OOpenAILLM
  • GGeminiLLM
  • DDeepSeekLLM
  • EElevenLabsVoice
  • AAnamAvatar
  • YYandex SpeechKitVoice · STT

On the free tier you can run on our keys to get started. After that the cost of a call is between you and the provider.

07 / Open source spirit

Self-host the whole stack in one command.

Own your stack. Postgres-only core, no phone-home, bring your own keys. Source-available and free to self-host.

  • Postgres-only core — Redis + worker queue optional
  • No phone-home · bring your own provider keys
  • SSRF-guarded HTTP node, secrets encryption, Prometheus metrics in the box
  • Custom nodes as pip packages, auto-discovered

Source-available — MIT + Commons Clause. The commercial billing layer is a separate Enterprise license, off by default.

~/assemblix — docker compose
$ git clone https://github.com/nmamizerov/assemblix
$ cd assemblix && docker compose up
→ pulling images…
✓ postgres ready on :5432
✓ assemblix-api ready on :8000
✓ assemblix-web ready on :3000
Assemblix is live → http://localhost:3000
FAQ

Common questions about Assemblix.

Short, direct answers to the things people ask most. Anything still unclear — ping us on Telegram, we reply fast.

What is Assemblix?
Assemblix is a visual builder for conversational AI agents. Instead of writing one long prompt and hoping, you design the whole conversation as a graph: agent nodes, condition nodes that branch on intent or state, knowledge bases, and tool calls. Any agent in that graph can answer as text, as real-time streamed voice, or as a live lip-synced AI avatar. Every published agent is also an authenticated HTTP endpoint your own product can call.
How do I add voice to an AI agent in Assemblix?
Open the agent node and change its Output field to Voice. That is the whole change — the conversation graph you already built stays exactly as it is. Voice is streamed in real time as the agent thinks, through ElevenLabs or Yandex SpeechKit with your own key. For speech input, put a Transcribe node in front of the agent and the same graph accepts speech as well as typed text.
How do AI avatars work?
Set an agent's Output to AI avatar and pick a provider, avatar persona, and voice. Assemblix currently uses Anam for lip-synced realtime avatars. The avatar speaks the agent's answer live on camera, driven by the same conversation graph — you do not build a separate avatar bot, and you do not change any of the branching logic.
How is Assemblix different from Voiceflow, ElevenLabs Agents, and n8n?
Three differences. First, modality is a switch, not a product decision: the same agent answers as text, voice, or a lip-synced avatar without rebuilding the flow. Second, you get real engineering control — typed persistent state in Postgres, explicit condition branches, step-by-step execution replay, and a different model per node. Third, every agent is also a typed HTTP endpoint with bearer auth, so it drops into your own product instead of living inside someone's widget. And Assemblix is source-available: self-host the whole stack with one docker compose up.
Can an agent answer from my own documents?
Yes. Upload PDFs or paste text into a knowledge base and attach it to any agent. The agent retrieves over your material and answers with citations. Vector search is built in — there is no separate vector database to run and no fine-tuning step.
Which providers are supported?
For models: OpenAI, Google Gemini, and DeepSeek. For voice: ElevenLabs and Yandex SpeechKit, which also handles speech-to-text. For avatars: Anam. Provider is selected per node and you bring your own keys, so nothing is locked to a single vendor.
What is persistent state and how does it work?
Persistent state is the typed variables an agent carries across turns — the stage of the conversation, a cart total, a flag like refund_requested. State lives in Postgres, is readable and writable from any node, and can be branched on by condition nodes. It survives restarts, deploys, and weeks of inactivity, which is what lets you build an assistant that actually remembers the customer.
How do I call an Assemblix agent as an API?
Send a POST request to /api/workflows/{workflow_id} with a Bearer token. The body carries input (matching your typed schema) and an optional state object. The response is typed JSON with output, executionId, status, updated state, and metadata such as durationMs and totalSteps. Every run is traced and inspectable via /api/executions/{executionId}.
How much does Assemblix cost and what is in the Free tier?
Self-hosting is free: clone the repo, run docker compose up, and there is nothing to pay us. The prices below are for the managed cloud, if you would rather not operate it yourself. Free is $0 forever: 3 workflows, 3 endpoints, 1,000 API calls per month, 1 provider, community support. Pro is $29/mo: unlimited workflows, 50,000 calls, all providers with fallback, durable runs up to 30 days, priority support. Team is $99/seat/mo: 250,000 calls, RBAC, SSO, audit log, SLA. No hidden seats, no credit card required for Free. Voice and avatar minutes are billed by your own provider on your own key.
Can I self-host Assemblix?
Yes. Assemblix is source-available (MIT + Commons Clause). Clone the repo at github.com/nmamizerov/assemblix and run docker compose up — a Postgres-only core, no phone-home, bring your own provider keys. The commercial billing layer is a separate Enterprise license and off by default. Prefer managed? Cloud is available at app.assmblx.com.
How do I debug an agent that behaved badly?
Run it in the debug panel while you build — type or talk to it and watch each step execute with its duration and its effect on state. For anything already in production, open the run and replay it step by step: which branch the condition took, what went into each model call, what came back, and how state looked after every step.
08 / Pricing

Self-host it free. Or use the cloud.

Everything above runs on your own machine at no cost — that is the whole install, and it stays that way. If you would rather not operate it yourself, here is what the managed cloud costs. Call limits visible, no hidden seats.

Free
$0forever

For prototyping and weekend hacks.

  • 3 workflows · 3 endpoints
  • 1,000 API calls / month
  • 1 provider
  • Community support
Start free
Most teams pick this
Pro
$29/mo

For production solo and small teams.

  • Unlimited workflows & endpoints
  • 50,000 API calls / month
  • All providers + fallback chain
  • Durable runs up to 30 days
  • Priority support
Start with Pro
Team
$99/seat/mo

For scale and collaboration.

  • Everything in Pro
  • 250,000 API calls / month
  • RBAC + SSO
  • Audit log
  • SLA
Talk to us

Need enterprise / SLA? Talk to us →

09 / Built with you

Missing something? We ship fast.

Tell us what's missing — new nodes, providers, integrations land in days, not quarters. Direct line to the founder.

Request a feature

Your first talking agent, live in 5 min.

Free tier, no credit card. Build the conversation as a graph, flip the output to voice, and hear it answer.