Last updated at: 2025-12-01
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 Line, Instagram, Telegram, 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: 24 hr
- 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 |
|---|---|---|
| Telegram | anonymous_id = tg_user_id | Telegram user unique identifier |
| Telegram Group | anonymous_id = tg_chat_id + tg_user_id | Group ID + User ID |
| LINE | anonymous_id = line_user_id | Unique LINE user identifier |
| 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 |
| Discord | anonymous_id = discord_user_id | Discord user numeric identifier |
| anonymous_id = instagram_user_id | Instagram sender ID | |
| 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-Agent |
| Workspace-Agent | CHAT | Workspace-Search |
| Workspace-Workflow | C_WORKFLOW | Workflow conversations |
| API | API | API conversations |
| Iframe | EMBED | Iframe conversations |
| Widget | WIDGET | Widget conversations |
| AI Search | AI_SEARCH | Search feature |
| Share | SHARE | Shared link conversations |
| Discord | DISCORD | - |
| Slack | SLACK | - |
| Telegram | TELEGRAM | - |
| LINE | LINE | Multiple channels supported |
| - | ||
| - |
⚠️ 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.