Skip to content

AI chatbots, agents and workflows

Put your own AI assistant in front of customers

Build a chatbot on your own content, test it against the exact configuration you are about to publish, then embed it on your site or call it from your application. One platform for the whole loop.

Grounded
Answers cite the knowledge they came from
Two ways out
Website embed or a server-to-server API
Tenant isolated
Every workspace separated in the database
S

Support Assistant

Active · 2 collectiones

Live

Platform

Everything the assistant needs, in one workspace

Each piece works on its own and they compose: a chatbot can answer from a collection, an agent can call a workflow, and every conversation lands in the same inbox and CRM.

Chatbots

Ship a grounded chatbot in an afternoon

Write the instructions, attach a collection, try it in the playground, then publish. Replies stream token by token and cite the sources they used.

Read the docs
Agents

Agents with tools, memory and a human in the loop

Give an agent a tool set, a memory window and a structured output shape. Every tool request is shown with its decision, and nothing runs without approval.

Read the docs
Workflows

Compose triggers, AI steps and conditions

Build a workflow from typed nodes, validate it before it runs, and read every run as a step-by-step timeline with its inputs, outputs and failures.

Read the docs
Knowledge

RAG that shows its work

Add text, a URL or a file. Watch it move through ingestion, chunking, embedding and indexing, then test retrieval before a chatbot ever uses it.

Read the docs
API

Call it from your own application

A workspace API key and one endpoint. The same streaming contract the widget uses, so your app, your backend and your mobile client all behave alike.

Read the docs
Embed

Two lines on your website

Paste a script tag, allow your domains, and the widget appears in your brand colour. No credentials ever reach the page.

Read the docs
Conversations

One inbox for every channel

Widget, API, playground and agent runs land in the same place, with AI summaries and a reply box when a person should step in.

Read the docs
CRM

The people behind the conversations

Contacts, stages, tags, notes and a merged activity timeline, linked to the conversations they came from.

Read the docs
Analytics

Know what it costs and what it returns

Conversations, messages, resolution rate and token spend over time, compared against the period before.

Read the docs
Integrations

Connect the rest of your stack

Outgoing webhooks, Slack and SMTP today, with credentials encrypted at rest and never returned to the browser.

Read the docs

Deployment

Two ways to reach your customers

Put the assistant on your website, or call it from whatever you already run. Both paths hit the same chatbot, the same knowledge and the same streaming response.

Website embed

For a marketing site, a help centre or a product page. Paste the script, list the domains that may use it, and the widget matches your brand colour. Nothing secret ever reaches the page.

index.html
<script
  src="https://app.example.com/embed/widget.js"
  data-chatbot="cb_YOUR_EMBED_KEY"
  async
></script>
Embedding guide

API

For your own frontend, a backend service, a mobile app or an internal tool. Authenticate with a workspace API key; the key identifies the tenant, so your code never names one.

server.ts
const response = await fetch(
  "https://app.example.com/api/v1/public/chat",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.DOT_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      chatbotId: "YOUR_CHATBOT_ID",
      messages: [{ role: "user", content: "Do you ship to the EU?" }],
    }),
  },
);

// Server-sent events: the same stream the widget consumes.
for await (const event of readChatStream(response)) {
  if (event.type === "text-delta") process.stdout.write(event.delta);
}
API reference

How it works

Build, ground, test, deploy, monitor

The same five steps whether you are shipping a support bot on a marketing site or an agent inside your own product.

  1. 01

    Build

    Create a chatbot or an agent, write its instructions and pick a model. No infrastructure to stand up.

  2. 02

    Ground

    Attach a collection so answers come from your content, with citations back to the source.

  3. 03

    Test

    Run it in the playground against the exact configuration you are about to publish.

  4. 04

    Deploy

    Embed it on your site or call it from your own application with an API key. Same assistant, same contract.

  5. 05

    Monitor

    Read conversations, follow up in the CRM, and watch usage and cost in analytics.

Start with one chatbot

Create a workspace, point it at your content, and see a grounded answer in the playground before you publish anything. No credit card, no sales call.