Skip to content

Last updated at: 2026-07-06

User Overview

A user refers to the end-user who initiates a conversation with an Agent or Workflow. Altabots allows developers to assign a unique identifier (user_id) to each user. This identifier enables user identity association across different channels, cross-channel identity merging, business queries via Tools, and management of user attributes and chat history.

User CDP information is stored under each Agent/Workflow. Data belonging to the same user is isolated across different Agents or Workflows.

User System

The anonymous_id is automatically generated by the Altabots system based on the user's source platform. Assigning a user_id is optional, and developers may set it based on business scenarios to enable cross-channel identity association and shared user attributes.

Definitions

User

An end-user who interacts and holds conversations with an Agent.

User ID (user_id)

A unique identifier assigned by enterprise developers to an end-user. The API allows developers to bind a user_id to an existing anonymous_id. For usage scenarios and advanced practices, refer to Setting User ID.

  • user_id has higher priority than anonymous_id
  • multiple anonymous_ids may belong to the same user_id

Anonymous ID (anonymous_id)

When users interact with an Agent through third-party platforms such as Telegram, Instagram or LINE, Altabots uses the platform's native unique identifier as the anonymous_id. For generation rules, refer to Anonymous ID Value Logic.

Third-party Platforms

Altabots currently supports integration with many platforms, such as Intercom, Webchat, LiveChat, Telegram, WhatsApp, and more.

Conversation ID (conversation_id)

A unique identifier generated based on the Agent, conversation type, and user_id (or anonymous_id). A conversation_id is the smallest isolated unit in different business scenarios (usually containing multiple message_ids).

Auto-expiration: 60 min

  • API-created conversation_ids do not expire
  • 3rd-party channels or widget-created conversation_ids regenerate after expiration

Message ID (message_id)

  • A unique identifier for a single message exchanged between the Agent and the user.
  • Generated by Altabots (cannot be customized).
  • A conversation_id contains multiple message_ids.

Conversation Type

Identifies the scenario through which a user initiates a conversation—for example: Workspace-Workflow, LINE, API, Workspace-Search, etc.

How conversation_id is generated

When a user initiates a conversation with an Agent through a third-party platform, Altabots generates an anonymous_id based on the platform. The system then automatically creates a conversation_id to hold one full conversation session.

For API usage, developers must manually create a conversation_id before interacting with an Agent/Workflow.

For all non-API channels, Altabots automatically generates the conversation_id.

Anonymous ID Value Logic

Source Platform Value Logic Description
Teams anonymous_id = teams_user_id Unique identifier of the Teams platform user
Teams Group Chat anonymous_id = teams_channel_id + teams_user_id Joined with an underscore; teams_channel_id typically ends with @thread.tacv2
Teams Channel anonymous_id = teams_teams_id + teams_channel_id + teams_user_id Joined with underscores; teams_teams_id and teams_channel_id typically end with @thread.tacv2
Telegram anonymous_id = tg_user_id Telegram user unique identifier
Telegram Group (passive) anonymous_id = tg_chat_id + tg_user_id tg_chat_id: unique identifier of the Telegram group; tg_user_id: unique identifier of the Telegram user
Telegram Group (active) anonymous_id = tg_chat_id tg_chat_id: unique identifier of the Telegram group
LINE anonymous_id = line_user_id Unique LINE user identifier
LiveChat anonymous_id = lc_thread_id Unique identifier of the LiveChat conversation thread
Slack anonymous_id = slack_user_id Slack user ID
Slack Public Channel anonymous_id = slack_team_id + slack_channel_id + slack_user_id Unique composite ID in public channels
Intercom anonymous_id = intercom_user_id Unique identifier of the Intercom user
WhatsApp by Meta anonymous_id = wa_user_id WhatsApp user unique identifier, typically based on the user's phone number (e.g. international-format phone number suffixed @c.us)
Discord anonymous_id = discord_user_id Discord user numeric identifier
Instagram anonymous_id = instagram_user_id Instagram sender ID
Facebook anonymous_id = facebook_user_id Facebook sender ID

Altabots Built-in Channel Anonymous ID Logic

Integration Channel Anonymous ID Logic Description
API None Only user_id generates conversation_id
Workspace anonymous_id = browser fingerprint New ID possible after clearing cache/incognito
Share Same as above -
Iframe Same as above -
AI Search Same as above -
AI Search (iframe) Same as above -
Widget Same as above -

When a user logs into Altabots, the system automatically assigns their Altabots account ID as user_id and binds it to the anonymous_id (browser fingerprint).

Conversation Type & Source ID

conversation_type identifies the channel through which a user initiates a conversation (e.g., Workspace, API, Iframe, LINE). source_id identifies sub-channel types such as different LINE Channels or Telegram Bot IDs.

Conversation Type Table

Type conversation_type Notes
All ALL All integrated channels
Workspace-Search C Workspace-Search
Workspace-Agent CHAT Workspace-Agent
Workspace-Workflow C_WORKFLOW Workflow conversations
Workspace-Apps C_APPS Workspace-Market AI App conversations
API API API conversations
Iframe EMBED Iframe conversations
Widget WIDGET Widget conversations
AI Search AI_SEARCH Search feature
Share SHARE Shared link conversations
WhatsApp by Meta WHATSAPP_META -
Discord DISCORD -
Slack SLACK -
Zapier ZAPIER -
Telegram TELEGRAM -
LiveChat LIVECHAT -
LINE LINE Multiple channels supported
Instagram INSTAGRAM -
Facebook FACEBOOK -
Intercom INTERCOM -
Livedesk LIVEDESK -

⚠️ Note: These values can be used as filters when fetching conversation lists via API. Platforms like LINE and Telegram support multiple sub-channels; therefore, "Agent Logs" supports two-level filtering.