Omnichannel AI agent for online shops

An AI agent for online shops that creates the order.

One agent replies on every chat app, checks KiotViet or your own system, and hands hard chats to staff.

Linen HouseActive now
  1. Messenger · replies by the Ecbot agent
  2. Tonight 11:12 PM
  3. hi, is the beige linen shirt still available in M?
  4. KiotVietcheck_stock result: M · beige · 3 left
  5. Hi! Yes, 3 left in M, beige. Shall I create the order?
  6. yes 1 pls, deliver to District 7, 09xx xxx 123
  7. KiotVietcreate_order result: #DH-2041
  8. Done: #DH-2041, one beige linen shirt in M, COD to District 7. I'll send tracking here when it ships.
  9. Follow-up set: check on delivery in 3 days

Example conversationMade-up shop and order; blue chips are logged tool calls the customer doesn't see.

Where online shops lose orders in the inbox

Three moments every Facebook and Zalo shop knows.

The 11 PM stock question

She asks if M is left. Nobody checks until morning, and she buys elsewhere.

Same buyer, two apps, no history

She ordered on Messenger, now asks on Zalo where her parcel is. Staff start from zero.

A bot that only shows buttons

When the customer wants to buy, a person still checks stock and types the order.

How it works

Every message saved first, then the agent works.

Nothing gets lost, even when a sale brings 50 at once. The agent answers, calls your tools and hands off when it should.

Customers message on

  • Messenger
  • Zalo
  • WhatsApp
  • Telegram
  • Website

Every message kept

Answered in turn

Your shop's agent

One setup, every channel

KnowledgeToolsPlaybooks

The agent does the work

  • Answers from your price list
  • Checks stock in KiotViet
  • Creates the order
  • Schedules a follow-up
  • Hands hard chats to staffSame inbox, full history
An agent that does the work

It creates the order. You see every step.

Connect KiotViet, Google Sheets, Composio, your REST API or an MCP server. Ecbot logs every call with input and result.

  • Each agent uses only the tools you add
  • Failed calls show their error in the log
  • Works with the sales software you run
Activity log · Linen House agent
TimeToolResult
23:12check_stockKiotViet · SKU LIN-BE-MOK
23:13create_orderKiotViet · 1 × LIN-BE-M, COD, District 7OK
23:13append_rowGoogle Sheets · Orders sheet · #DH-2041OK
23:13schedule_followupEcbot · in 3 days · delivery checkOK
09:40check_stockKiotViet · SKU LIN-WH-S · timed outError
One customer across every app

Messenger or Zalo, it's one customer.

Messenger, Zalo, WhatsApp and Telegram identities attach to one profile. When phone or email match, Ecbot suggests a merge for staff to confirm.

  • Repeat buyers recognised, with past orders
  • Tags like VIP follow them across apps
  • Nothing merges until a person confirms

Merge suggested

Telegram profile “@thuha.tran” shares Tran Thu Ha's email.

Tran Thu Ha

09xx xxx 123 · thuha@example.com

  • VIP
  • Bought 3 times
  • Prefers COD

Contact points

  • Messenger · Thu HaOrdered #DH-2041 · 2 days ago
  • Zalo · Ha TranAsked where her parcel is · today
  • Website chat · Visitor #8812Asked about returns · last month

Staff notes

Wears M in shirts. Wants delivery after 6 PM.

Your staff stay in charge

Hard chats reach your staff, same inbox.

The agent hands over on request, low confidence, a blocked message or an urgent label. Staff reply with the full history above.

  • Add handoff keywords like “refund”
  • Pause the agent on any chat, hand back later
  • No one repeats the order code

The agent hands over when

  • The customer asks for a person
  • The agent isn't confident
  • A guardrail blocks a message
  • Urgent label: Angry
  • Your handoff keywords
Conversations
Le HoangNeeds you

The shirt arrived torn at the seam. Second time this happened!!

Sorry, that shouldn't happen. Could you send a photo of the seam?

Handed to staff: Urgent label: Angry

StaffHi, Lan from the shop. I've seen your photo and order #DH-1987. A new shirt ships today and the courier collects the torn one.

No slipped orders on a busy night

Playbooks for tricky cases, every message answered, and follow-ups for quiet buyers.

Playbooks loaded on demand

Write how you handle exchanges or refunds in markdown. The agent loads a playbook only when a chat needs it.

skills/exchange-size.mdLoaded for this chat
# Exchange a size
1. Ask for the order code
2. Check the new size with check_stock
3. Create the exchange order
4. Exchanges are free within 7 days

No dropped messages

Every message is kept and answered in turn, even when 50 arrive at once.

  1. still have size M?Answered
  2. how long to ship to D7?Answered
  3. +50 messages when the sale opens

    ok 2 pcs pleaseAnswered
  4. do you have it in black?Replying

Follow-ups for buyers who go quiet

Schedule follow-ups from 1 minute to 30 days out, up to 5 per chat. The agent rereads the chat and writes fresh.

- Ordered but hasn't paid: follow up after 24 hours

  1. Mon 23:13

    Order #DH-2042 created, waiting for the transfer

  2. Tue 23:13

    Agent: “Still holding your shirt. Resend our bank details?”

  3. Customer: “paid!”

    The agent cancels the next follow-up

Set up your shop's agent in three steps

Describe your shop, add files and tools, and test privately first.

  1. 01

    Describe your shop in one sentence

    Type what you sell and where. The builder suggests persona, tone, goals and rules.

    Describe your business

    A linen clothing shop in Ho Chi Minh City that sells on Facebook and Zalo, cash on delivery nationwide

    Suggested by the agent builder. Edit anything.

    Persona
    Lan, the sales assistant at Linen House
    Tone
    Warm and short, uses the customer's name
    Goals
    • Answer size and stock questions
    • Create the order and take the delivery address
    Rules
    • Check stock before promising a size
    • Never offer a discount that isn't in the price list
    • Hand refunds and damaged items to staff
  2. 02

    Add your documents and tools

    Upload price list, size chart and returns policy, then connect KiotViet, Sheets or your API.

    • price-list-2026.pdf84 KBIndexed
    • size-chart.pdf312 KBIndexed
    • return-policy.docx26 KBIndexed

    In Postgres with pgvector, on your server if you self-host

      Tools the agent can use

      • KiotVietbuilt in
      • Google Sheetsvia Composio
      • Shopifyvia Composio
      • Composiomarketplace
      • REST APIyour own
      • MCPany MCP tool
    • 03

      Connect your channels and go live

      Connect Facebook, Zalo, WhatsApp, Telegram or the widget; self-hosted Facebook and Zalo need approval.

      • MessengerAvailable
      • ZaloAvailable
      • WhatsAppAvailable
      • TelegramAvailable
      • Website chatAvailable

      On the roadmap: Instagram, TikTok Shop, Shopee, LINE

    Security

    Your business data stays yours.

    How Ecbot guards credentials, screens messages and keeps businesses apart.

    Encrypted credentials

    Platform tokens use AES-256-GCM with versioned keys, so keys rotate without taking channels offline.

    Secrets never reach the AI

    Credentials never enter the model's context, so no prompt can pull them out.

    Guardrails in both directions

    Incoming messages are screened for scams and prompt attacks, replies for leaked data. You set the strictness.

    Workspaces and roles

    Each business gets its own workspace. Staff join by invitation with a role, checked on every request.

    Open source. Self-host it if you want.

    On GitHub under AGPL-3.0, with every Cloud feature. Your knowledge stays in your own Postgres.

    View on GitHub

    Questions from shop owners

    Ecbot is an open-source AI agent that answers customers on Messenger, Zalo, WhatsApp, Telegram and your website. It answers from your price list, checks stock and creates orders in KiotViet, and hands off to staff.

    Last updated: 2026-09-22

    Put an agent on your shop's inbox.

    Join the waitlist for Ecbot Cloud, or self-host the open-source version today.

    Or self-host the open-source version from GitHub