AI agents & Customer chat
Connect Zalo, Telegram, Lark and Facebook to VNe: AI answers customers for you, sensitive replies wait for your approval, and your whole team can work one shared channel.
VNe receives customer messages from chat apps in two ways. Customer agents are a PERSONAL AI agent for each person: connect your Zalo account, Telegram bot, Lark app or Facebook Page and the AI answers your customers; only you can see it. Customer chat is a SHARED company channel: an admin connects the company's Zalo (or Zalo OA, Page…) and staff answer together inside VNe according to their role; the AI answers first if you turn that on. Both run on the same engine, so everything below applies to both unless noted.
1What the AI agent does
A customer messages the connected account/bot/Page ⇒ the message arrives in VNe ⇒ the AI reads the documents you gave it and answers in the customer's chat app. You can review every conversation in VNe, even after being offline.
- Channels you can connect: Zalo personal account, Zalo Official Account, Facebook Page Messenger, Telegram bot (including Telegram Business), Telegram personal account, Lark / Feishu bot. A tile marked Coming soon or Paused means the VNe server has not opened that channel yet — it is not something you did wrong.
- The AI answers ordinary questions (prices, opening hours, delivery, how-to…) from your documents on its own. SENSITIVE replies (money, contracts/invoices, complaints, cancellations/returns, personal data, your own keywords) are NOT sent automatically: the customer gets a holding message and the draft waits for you to Approve & send.
- The AI never messages first, never talks in group chats, and cannot read your mail, CRM or calendar — only the documents attached to the agent and your organisation's knowledge base.
- You can step in any time: the AI pauses in that conversation and you hand it back when you want (section 11).
Each person can create up to 10 agents; one agent can have many channels at once.
2Personal agent or company chat
First question: do these customer messages belong to YOU or to the COMPANY?
- Yours (your own Zalo, your own bot) ⇒ Customer agents: open Assistant → the robot button Customer agents at the top, or go straight to /assistant/agents. Only you see it — not even admins can read it.
- The company's (a shared Zalo, Zalo OA or company Page — "connect Zalo for the whole company") ⇒ Customer chat: open the Business area → Customers group → Customer chat tab, or /customer-chat. Only an ORGANISATION ADMIN can create channels; then add staff to the channel as View / Reply / Manage (section 13).
- Shared company channels start with AI answers first OFF — they are a place for PEOPLE to answer customers; turn it on if you want the AI to answer first and staff to follow up.
Staff do NOT need to connect their own Zalo to work the company channel: the admin connects it once, and everyone added to the channel chats with customers right inside VNe (web, desktop, phone).
3Create an agent / channel
All you need is a name and one sentence about what the agent does; the AI fills in the rest for you to edit.
- Personal agent: in Customer agents click New agent. Fill in the name (e.g. "Sales") and What does this agent do? (1–3 sentences, e.g. "Advise customers buying mattresses on Zalo, ask what they need, then ask for a phone number so staff can call back"). Three quick starts: Sales, Customer care, Bookings.
- Click Fill with AI (needs a name and a description of at least 10 characters) — the AI fills How to reply, keywords that need approval and the holding message. Nothing is saved until you click Create agent. Prefer to write it yourself? Click Fill in myself.
- How to reply: tap the chips Friendly / Formal / Brief / Ask for phone number / Use emoji, or add your own lines (e.g. "always greet with the shop's name").
- Advanced: Extra keywords that need approval (comma separated, up to 30, e.g. "wholesale price, reseller") and Holding message while awaiting approval (what the customer receives while you review).
- Turn Active off ⇒ the agent does not reply and only tells you a customer messaged.
- Click Create agent — the dialog stays open so you can connect a channel right away under Channels → Add channel (sections 5–8).
- Shared channel (admins): in Customer chat click Add channel, enter the channel name (e.g. "Zalo Support"), choose whether AI answers first is on, click Create channel, then connect the account/OA/Page in the settings dialog that opens.
The AI may only fill in the role, steps and tone — never prices or figures. Any line with a number that is not in your description is removed by the system. Real prices must live in your documents (section 4).
4What the agent knows
The agent only answers from what you give it. With no source it tells you "don't know yet" instead of making things up.
- Under What does the agent know? click Choose a file or folder from Drive: price lists, policies, procedures, FAQs… (VNe Docs/Sheets, Word, Excel, PowerPoint, PDF, images, txt, csv…). Edit the file in Drive and the agent reads the new version.
- Pick a whole folder: the agent reads the files directly inside it. NEW files someone drops into the folder later are NOT read automatically — the folder row shows "N new files" with Add / Skip, so nobody can slip a confidential document in for customers to ask about.
- No documents yet? Click Create a template document ⇒ VNe creates "Knowledge for agent …" with ready sections (Products, services & prices · Opening hours & address · Delivery · Returns & warranty · Common questions); click Open to edit and fill in real information.
- Type more information opens Extra notes (up to 20,000 characters) for a few short lines.
- The Organisation knowledge base (Q&A + Catalogue & prices, managed by admins in Settings → Knowledge) is available to every agent in the organisation. Price spreadsheets have an Import into Catalogue & prices button (admins).
Limits: 20 files per agent, each up to 20 MB and the first 200,000 characters; for long documents the agent reads the passages relevant to the question. DON'T attach contracts, payroll or customer data — customers could ask about them. If you lose access to a file, the agent drops it.
5Connect Telegram
Telegram offers three ways. A bot is the official and safest one.
- Bot: in Telegram open @BotFather → send "/newbot" → choose a name and a username (ending in "bot") → BotFather sends a token like "123456789:AA…". In VNe: Add channel → Telegram · Bot → paste it into Telegram bot token → Connect. VNe registers the webhook itself. Customers message @your_bot and the AI answers.
- Telegram Business (Premium account): connect the bot as above, then in the Telegram app go to Settings → Telegram Business → Chatbots and pick that bot. The AI then answers customers who message your PERSONAL account; reply yourself on the phone and the AI steps aside.
- Personal account (no Premium needed): Add channel → Telegram · Personal account → enter the phone number → Send code → enter the code Telegram just sent (with two-step verification, also the password) → Connect. Strangers only is on by default: the AI only answers people NOT in your contacts.
- Personal account: if you OPEN and read the message in Telegram within roughly the first minute, the AI does not answer it (you are handling it). To have the AI answer again, Mark as unread that chat in the Telegram app.
A personal account means signing in one more Telegram session: Telegram may restrict the account if it gets reported for spam. A bot/account can be connected to ONE agent only — if you see "connected to another agent", remove it there first.
6Connect Zalo (account / OA)
Two ways: a regular Zalo account (scan a QR code) or a Zalo OA (official business account).
- Personal account: Add channel → Zalo · Personal account → read the warning, tick I understand the risk and take responsibility for this account → Show QR code → open the Zalo app on your phone, scan the code → confirm the sign-in on the phone.
- Once connected, each account has the switches Strangers only (on: the AI only answers people who are not your Zalo friends; off: friends too) and Receive group messages (records messages from groups the account is in so staff can answer in VNe — the AI NEVER answers in groups; you are only notified when the account is @mentioned).
- Personal account: the AI waits about a minute. If you have opened the message in the Zalo app, the AI does not answer. If you reply on the phone, the AI hands that conversation to you. To give it back to the AI, Mark as unread the chat in the Zalo app. Right after a friend request / becoming friends the AI stays quiet for a few minutes.
- Zalo OA: Add channel → Zalo · Official Account → Connect Zalo OA → the Zalo page opens, choose your OA and grant access → back in VNe you see Zalo OA connected. A Coming soon tile means the VNe server has not opened OA connections yet.
The personal-account method is UNOFFICIAL (it emulates Zalo Web): Zalo may lock the account, and Zalo allows only ONE Zalo Web session — opening Zalo Web elsewhere pauses the AI (VNe retries after a few minutes). For long-term business use, prefer Zalo OA.
7Connect Lark / Feishu
Customers (or partners) message your Lark bot and the AI answers. Done once in Lark Developer.
- On open.larksuite.com (or open.feishu.cn): Create Custom App, and under Add Features enable Bot.
- Permissions & Scopes: grant im:message, im:message:send_as_bot and im:resource (to read and send images and files).
- In VNe: Add channel → Lark / Feishu · Bot → choose Lark (larksuite.com) or Feishu (feishu.cn) → paste App ID (cli_…), App Secret, Verification Token and the Encrypt Key if enabled (found under Credentials & Basic Info and Events & Callbacks) → Connect.
- VNe shows a URL — copy it into Lark Event Subscriptions → Request URL, then add the event Receive messages (im.message.receive_v1).
- Version Management & Release → create a version and publish. Done: send the bot a direct message to test.
The bot only answers DIRECT messages (not Lark groups). Letting staff open VNe and receive VNe notifications inside Lark is a different setup — see Connect Lark to VNe.
8Connect a Facebook Page
Messenger messages to your Page arrive in VNe and the AI answers on behalf of the Page.
- Add channel → Facebook · Page Messenger → Connect Page.
- In Facebook's permission dialog choose the Page(s) (you must be a Page admin) and allow. Each selected Page becomes its own channel.
- Back in VNe you see Page connected. A Coming soon tile means the VNe server has not opened Facebook connections yet.
9Several Zalo accounts, channels
Yes — connect as many accounts as you need and manage them all in one place.
- One agent can have MANY channels: open the agent settings → Channels → Add channel again → scan the QR for a second, third Zalo account… All conversations land in that agent's list.
- Want different replies / documents per account ⇒ create several agents (up to 10 per person), each with its own account.
- A company with several Zalo accounts ⇒ in Customer chat create one channel per account (e.g. "Zalo Support", "Zalo Sales") and add the right people to each. All channels merges every conversation from every channel you can access; Choose channel searches by name and filters by channel type.
- An account/bot/OA/Page can be connected to only ONE agent or channel at a time — to move it, Remove channel in the old place and connect it again.
10How the AI replies
Approval rules are enforced by the SYSTEM outside the AI: the AI cannot skip approval.
- Several messages in a row are bundled into ONE reply. Replies are short plain text suited to chat apps.
- Sensitive (judged on both the customer's message and the AI's draft) — Money (discounts, bank transfer, deposit, debt…), Contract/invoice, Complaint, Cancel/return, Personal data (ID card, password, OTP), Your keywords, or AI asked for approval ⇒ the customer gets the holding message ONCE and the draft shows an Awaiting your approval card: edit if needed and Approve & send, or Discard.
- When the AI is unsure (missing documents, the customer wants a person…) it still answers politely and shows an Agent didn't know card with a Reply & teach button for you.
- How to address the customer: the Mr / Ms / Unknown chip at the top of the conversation (in Vietnamese Anh / Chị). Zalo fills it from the profile (may be wrong — tap to fix); your manual choice always wins. When unknown the AI uses the name.
- If the organisation has no AI key or has used up today's AI quota, the AI does not answer and you get the bell AI couldn't reply — a customer is waiting.
11Reply instead of the AI
You and the AI never talk over each other in a conversation.
- Type in Reply to customer… in VNe ⇒ the AI pauses in that conversation (the list shows You are replying).
- Reply on your phone (Zalo/Telegram personal account, Telegram Business) ⇒ VNe records your message and the AI steps aside as well.
- Hand back to the AI: turn on the AI replies switch at the top of the conversation — the AI immediately answers messages that came in while you were driving. In the Zalo/Telegram app: Mark as unread the chat.
- Turn the AI off for the whole agent: the Active switch in the agent settings.
12Test and teach the agent
Try it before real customers write, and teach it every question it didn't know.
- Test agent (in the agent settings): chat as if you were a customer — nothing is sent anywhere. Under each answer Based on shows the sources (which file, notes, Q&A, catalogue) or warns Not based on any knowledge so you know what to add; sensitive turns show This needs your approval with the holding message the customer would receive.
- Reply & teach the agent (the Teach agent button on a conversation, or Reply & teach on an unsure card): edit Customer asked, write Answer, tick Send this answer to the customer to send it too. Next time the agent answers similar questions itself.
- Admins can choose Save to Organisation knowledge base so EVERY agent learns it.
13Customer chat: roles, assignment
Shared channels have three roles and an owner for each conversation.
- An admin (or a channel Manage member) clicks Channel members → Add people → picks a role: View (reads every conversation, cannot send), Reply (takes and answers unassigned conversations + their own), Manage (everything, assigns conversations, channel settings). Organisation admins are always Manage. Up to 200 people per channel.
- Take a conversation: click Take, or simply send the first message. If two people click at once only one wins — the other sees "Someone else already took this conversation".
- Managers assign work: the Assignee field (in Customer info, or at the top of the conversation on narrow screens) → Assign to… someone with Reply; Unassign returns it to Unassigned.
- Filters All / Mine / Unassigned. Notifications: assigned ⇒ only the owner; unassigned ⇒ everyone with Reply/Manage.
- Customer info: on wide screens it is the right-hand column; on phones/narrow screens tap the customer's name or the Customer info (i) button at the top of the conversation. It shows: the customer's photo and name, channel, whether the AI or a human is replying, Customer since (first message), From customer and Replied (with how many the AI sent), Labels, Assignee, Customer record (with sales opportunities), AI addresses them as, Note for AI. Personal Zalo customers show their real profile photo (click the large photo to View profile photo); customers without one show their initials.
- Photos · Files: the Photos · Files section in Customer info collects every photo and file exchanged with the customer (Zalo groups too), newest first — click a photo to view it large (swipe through), click a file to download; Show all opens everything (up to 60). Files a customer just sent appear after a few seconds, once VNe has fetched them from Zalo.
- Note for AI: the Note for AI section in Customer info — write past orders, quoted prices and agreements for THIS customer; the AI reads it every time it replies to them. A newly connected nick only gets the last few hours of messages: when the customer refers to something the AI cannot see, it does not guess and leaves a The AI is missing context about this customer card — click Add context to write it. Different from Teach agent (shared knowledge for every customer).
- Only an admin or the channel's owner can DELETE a channel; Manage members can only edit it.
14Customer chat: saved replies, internal notes, reminders, hours, report
Tools for the team on duty: reply faster, talk it over without the customer seeing, never forget a customer.
- Saved replies: type / in the reply box (or press the lightning ⚡ Saved replies button) → the list appears; type a few letters to filter, ↑↓ to choose, Enter or Tab to insert, Esc to close. The reply is inserted into the box so you can edit it before sending; {khách} is replaced with the customer's name. Add/edit/delete: in the list press Manage → Add reply (shortcut without spaces, e.g. hello, price). Shared channels use the team's shared set — only admins or channel Managers can edit it, anyone with Reply access can use it; personal agents have your own set. The ones you use most move to the top.
- Internal notes: press the note button Internal note next to the reply box — the box turns yellow and the line above says Internal note — the customer can't see it, the AI doesn't read it. Write the note and press Save note: it shows as a yellow card in the conversation with the author's name. Shared channels: type @ and pick a teammate to mention them — they get a notification that opens the conversation. Press X on the yellow line to go back to replying. This is different from Note for AI (which the AI reads when answering that customer).
- Reminders: at the top of a conversation press the alarm clock Remind me → choose In 1 hour, This afternoon, Tomorrow morning, Next Monday, or Or pick a time then Set. You can write what to follow up on and tick Only if the customer hasn't replied (on by default) — if the customer writes before then, no reminder. When it's time the conversation moves to the top, a Remind line appears in it and you get notified. Reminders are yours only; teammates don't see them. See conversations with reminders: the Reminders chip in the filter bar. Change or Cancel reminder: press the clock again (it shows the time while a reminder is set).
- Send a bank account and create a Zalo reminder (only conversations through a personal Zalo account): in the reply box click + next to the paperclip → Send bank account → pick an account → Send: the customer gets a bank card with a transfer QR code, the same as sending it from the Zalo app. The list comes from the bank accounts saved on that Zalo account (Zalo app: Profile → QR Wallet → Bank accounts → Add) — you cannot type a number by hand, so nobody can send a wrong or personal account under the company name. Create Zalo reminder: enter what, when, and repeat (Never / Daily / Weekly / Monthly) → Create reminder: the reminder shows in the Zalo conversation and at that time Zalo reminds both you and the customer. This differs from Remind me (the alarm-clock button at the top of the conversation), which reminds only you inside VNe; the customer never sees it. Only people who can Reply to the conversation can use these two.
- Zalo groups (through a personal Zalo account) — @mentions and private messages: in a group conversation's reply box type @ and a few letters of a name → pick the person from the group's member list (↑↓ then Enter, or click) → VNe inserts @Name, and when sent Zalo shows it as a real name tag and notifies that person, just like tagging in the Zalo app. To message one member privately: click their NAME above their message → VNe opens a 1-1 conversation with them on the same Zalo account (creating it if needed) so you can carry on. Stickers in groups and private chats show as pictures, as in Zalo. A file VNe couldn't copy over shows a card saying to open Zalo to view it. Only people who can Reply to the conversation can use this.
- Hours & assignment (channel Managers): press the clock Hours & assignment in the channel bar. Business hours: turn on and set each day (default Monday–Friday 08:00–17:30, Saturday 08:00–12:00). After-hours message: what customers get outside hours when the AI isn't replying (AI off or a teammate has the conversation), at most once every 12 hours per customer; empty means nothing is sent. After hours, the AI replies for the team: at night the AI also answers conversations a teammate has taken; in the morning they stay with the teammate. When the AI replies after hours it knows the business hours and tells customers the team will follow up during working time.
- Auto-assign (shared channels): when on, an unassigned conversation goes to the next person in the rotation as soon as the customer writes — that person is notified. The list below shows people with Reply/Manage access; switch someone off and they no longer get customers automatically (they can still take them). With no one in the rotation, new customers stay in Unassigned as before.
- Report: press Report at the top of Customer chat (admins and channel Managers; personal agents: the agent's owner). Pick 7/30/90 days and a channel. It shows New customers, Customer messages, First response (median time from a customer message to the first answer), Answered within 5 min, Handled by AI alone (share of conversations only the AI answered), Waiting for a reply, customer messages per day, a table by teammate (assigned, messages sent, median response) and by channel. Vietnam time, Zalo groups excluded; after-hours auto replies don't count as responses.
15Customer chat: AI reply suggestions, summary, saving phone numbers, satisfaction survey, sending quotes
The AI assists the person on duty — everything it writes is a draft; nothing reaches the customer until a person presses send.
- Reply suggestions: in the reply box press the sparkle button Suggest a reply (AI) — the AI reads the conversation, the channel's knowledge and instructions and drafts a reply into the box; edit it, then send. The line above says AI suggestion — edit before sending; replies touching money, contracts, complaints… also show an orange warning. If the box already has text you're asked before it's replaced. Works even when the channel's AI auto-reply is off. Only suggests when the customer has a new message that hasn't been answered.
- Summary: the Customer info column (on a phone: tap the customer's name or the i button) has a Summary section → Summarize conversation. The AI writes a few lines: what the customer needs, what was quoted/promised, who is waiting on whom, warnings, the next step — handy when you take over a teammate's conversation. Summarize again after new messages. Summaries aren't saved and the customer never sees them.
- Phone numbers/emails the customer shared: Vietnamese phone numbers and emails typed in the chat appear under Shared by the customer — tap to call/email, copy button beside. Save to profile adds it to the linked customer profile; with no profile linked the button is Create customer — creates a customer with that name + number/email and links it. Already saved shows In profile.
- Satisfaction survey: Satisfaction → Send satisfaction survey → confirm the question → the customer is asked to rate 1–5. If they answer with just a number (or 5 sao, ⭐⭐⭐⭐⭐) within 48 hours, the score is recorded, a thank-you is sent and the AI doesn't reply to that message; the section shows the stars. A 1–2 rating notifies the person in charge Customer rated …/5. While waiting for a rating you can't send another. The Report gains a Satisfaction (average) tile.
- Send a quote in chat: when the conversation is linked to a customer profile, the Customer profile section has Send a quote → pick one of the customer's quotes → a line 📄 Quote … View and confirm: <link> is inserted into the reply box; send it and the customer opens the link to view and confirm. Requires Sales access; without it you see You don't have access to Sales. Create quotes under Sales › Quotes.
16Customer chat: labels, AI tag suggestions, Zalo labels
Colour labels sort customers and filter the list in one tap.
- Add a label: in Customer info click Add label (Labels once it has some) — pick an existing label, or CREATE A NEW ONE: type its name in Search or create a label (e.g. VIP customer) and press Enter or click the Create label … row that appears — the new label is created and attached to that customer at once. Attached labels show in colour under the customer's name and on the list row. Anyone with Reply can label (labelling does not claim the conversation).
- Filter the list: click a label chip on the label bar under search (each chip shows its conversation count), All labels to clear; with many labels the last chip N more opens a search.
- Eight colours, including red and orange for labels like Urgent, Complaint. Shared channels use the organization's labels; a personal agent uses your own. Rename/recolor/delete: Manage labels (admins or channel Managers).
- AI tag suggestions: click AI tag suggestions under the labels — the AI reads the latest messages and proposes up to 3 labels with a reason (labels that don't exist yet say new tag). Click one to add it; the AI never adds on its own. Needs Reply access and AI turned on for the organization.
- Labels in the Zalo app (personal Zalo accounts): labels in the Zalo app become labels of the same name on VNe; labels with the SAME NAME as a Zalo label sync both ways — add/remove on either side, every 10 minutes. VNe never creates new labels on the phone. Channel Managers click Sync in the Labels section to sync now.
- Zalo nicknames (personal Zalo account): the name you gave a customer in the Zalo app shows as their main name in Customer chat, with their own Zalo name in small text below; the search box finds them by either. VNe refreshes every 10 minutes and never changes nicknames in the Zalo app.
17Images, files, customer record: phone, deals, invoices
- Images/files the customer sends appear in the conversation (click an image to enlarge, a file to download). A just-arrived image may show Loading image… for a few seconds.
- Send an image/file: the paperclip Send image or file (one file at a time, up to 25 MB; text you type becomes the caption). Available on every channel: Zalo, Zalo OA, Facebook, Telegram (bot and personal account), Lark.
- Customer record (in Customer info): not linked ⇒ Save as customer — search by name/phone/email or Create customer …; linked ⇒ shows company, phone (tap to call), email (tap to write), Open record, Unlink. Zalo groups aren't linked to customer records.
- Sales opportunities (inside Customer record once linked): the customer's deals — open ones first, with stage and amount (click to open it on the Deals board), See all N opportunities when there are more than 3; a red/amber line shows N unpaid invoices and the total. Quick-create right there with Deal, Task, Document (already linked to the customer). People without Business access don't see this part.
18Notifications
- VNe bell + phone push: "customer messaged", "your approval is needed", "AI needs you to look", "AI couldn't reply". Each conversation is merged into ONE bell line; push at most once every 5 minutes per conversation.
- Messages has a private system room Customer agents collecting approval / needs-a-look cards — only you see it.
- Tapping a notification opens that exact conversation.
19When the AI doesn't answer
- The conversation shows You are replying ⇒ turn AI replies back on (section 11).
- Personal account: you opened the message in the app within the first minute, or the person is a friend/contact while Strangers only is on, or you just became friends.
- Message in a GROUP chat ⇒ the AI never answers in groups.
- The channel shows a red error (e.g. Zalo "AI paused" because Zalo Web was opened elsewhere, Zalo OA access expired) ⇒ open the agent settings and read the error line under the channel; remove and reconnect if needed.
- Sensitive question ⇒ the AI sent the holding message and is waiting for you to Approve & send.
- The agent's Active is off, or the organisation is out of AI key/quota ⇒ you get a bell.
Still unclear? Send Feedback / Report a bug from the ? button in the app with a screenshot; the VNe team can look at that conversation.
20Privacy and safety
- A personal agent is yours alone: nobody else in the organisation, admins included, can read its conversations.
- Tokens, App Secrets and sign-in sessions are encrypted at rest and never shown again.
- The AI only sees the documents you attach + the organisation knowledge base. It never asks for passwords/OTPs and never confirms a payment by itself.
- Images/files from customers are virus-scanned when stored and only downloaded from each channel's official servers.
See also the Admin guide, the User guide and Connect Lark to VNe.
Stuck on a step? Ask the Assistant in the app, open More → Live support, or contact us.