Skip to main content

Ha Tang Support

Ha Tang Support is a shared customer-support inbox. Chat on your website, chat inside your mobile apps, Zalo, Facebook Messenger, Instagram, TikTok, TikTok Shop, WhatsApp, Telegram, LINE, X and email all arrive in one list of conversations. Your team answers from the dashboard at https://app.hatang.dev or from the Ha Tang apps for iPhone, Android and Mac. An AI assistant can answer first or draft replies, and automation routes, follows up and escalates. This page explains the concepts the rest of the Support guides rely on.

Concepts​

Business​

A business is your account on Ha Tang: its employees, modules, API keys and data. Support is one of its modules; an owner or admin turns it on in Business settings → Modules (Modules). Everything below belongs to one business, and API keys only see their own business.

Website (site)​

A site is a chat entry point with its own settings. Each site has:

  • a site id (site_...) that the widget and the SDKs use;
  • a domain, and optionally extra allowed origins. The widget only loads on that domain, its subdomains and the extra origins;
  • its own widget look, greeting, office hours, prechat form, AI assistant and automation;
  • an identity secret for signed identities.

A business can have several sites, for example one per brand or one per store. Every other channel is attached to a site too: when you connect a Zalo OA or a Facebook Page, its conversations belong to the site you pick, which decides the reports, distribution rules and automation they follow. Sites are listed in Support → Channels.

Channels​

A channel is where a conversation happens. You add channels in Support → Channels → Add channel.

Channelchannel valueGuide
Website widgetwebInstall the widget
Mobile app (SDK)webMobile apps
Zalo OAzaloZalo OA
Zalo personalzalo_personalZalo personal
Facebook MessengermessengerMessenger and Instagram
InstagraminstagramMessenger and Instagram
TikToktiktokTikTok
TikTok ShoptiktokshopTikTok Shop
WhatsAppwhatsappWhatsApp
TelegramtelegramTelegram
LINElineLINE
XxX
EmailemailEmail

The channel value appears on conversations in the API, in webhooks and in distribution rules. Chats from your mobile apps use the web channel of their site.

Visitors and customers​

A visitor is one identity on one channel: a browser on your website, an install of your app, a Zalo user who wrote to your OA, an email address. Visitor ids start with vis_.

A customer is the person behind one or more visitors. Ha Tang links visitors to the same customer when they share an email address, and suggests a merge when they share a phone number. A signed identify from your website or app links all of a signed-in user's devices to one customer. Customers live in Customers, with their conversations on every channel, orders, notes and custom fields. Customer ids start with cus_.

Conversations​

A conversation (cnv_...) is a thread between one visitor and your team on one channel. It holds messages, private notes and events (assignments, tags, status changes), each numbered with an increasing seq.

StatusMeaning
openNeeds attention. A new conversation starts here
pendingWaiting, for example on the customer. A new message from the customer, or an agent's reply, makes it open again
resolvedDone. If the customer writes again, it reopens. Open conversations with no activity for a few days are resolved automatically (3 days by default, set per site)
closedFinished for good. It takes no more messages

Besides its status, a conversation can be snoozed (hidden until a set time or until the customer writes again) or marked as spam. It has an assignee (an employee, or the AI assistant while it is answering), optional followers and tags.

Tickets are separate work items with a priority and SLA deadlines. You can create one from a conversation when a request needs follow-up beyond the chat; see Automation.

Agents​

Agents are the business's employees who work in the inbox. What they can do depends on their access to the Support module (Team and roles):

AccessCan
ViewRead the inbox
WorkReply, assign, tag, resolve; take conversations from distribution rules; keep their own canned responses
ManageEverything above, plus channels, the AI assistant, the team's canned responses, tags, distribution rules and automation

Agents get notifications in the dashboard and as push notifications in the Ha Tang apps, even when the app is closed.

How a message travels​

  1. A customer writes. The widget or an SDK sends the message over the realtime connection; Zalo, Messenger, WhatsApp and the other platforms send it to Ha Tang's webhook. Messages from one channel account are processed one at a time, in order.
  2. Ha Tang files it. The message joins the visitor's open conversation, or starts a new one. The visitor is linked to a customer. A blocked customer's message goes straight to spam.
  3. Automation runs. On the customer's first message, distribution rules pick the agent who takes the conversation. The AI assistant may answer or draft a reply, depending on the site's mode, and flows and workflows react to the message (Automation, AI assistant).
  4. The team is notified. The conversation appears in Inbox, agents hear a sound and get a push notification on their phone, and your webhooks receive chat.message.created.
  5. An agent replies. The reply goes back on the same channel: into the widget or app, as a Zalo or Messenger message, as an email in the same thread. Delivery to a platform is retried if it fails; if the platform refuses the reply (for example after Messenger's 24-hour window), the message shows the error in the inbox.
  6. The customer is away. A website visitor who has left gets the reply by email if they gave an address; an app user gets a push notification from your own app.
  7. The conversation ends. An agent resolves it, or it resolves itself after the idle period. When an agent resolves it and the site has ratings turned on, the customer is invited to rate the conversation.

Next steps​

View this page as Markdown