User Overview
A user refers to an end user who engages in conversations with an Agent. GPTBots allows developers to set unique identity IDs for different users. Through this user ID (UserId
), user identities can be associated across different channels, enabling cross-channel identity consolidation, business queries via Tools, and maintenance of user attributes and chat histories.
Definitions
User
A user refers to an end user who engages in conversations with an Agent.
User ID (user_id)
A unique identifier assigned to end users by enterprise developers. Through the API interface, developers can set a UserId
for an anonymous_id
. For usage scenarios and advanced applications of UserId, please refer to Set User ID.
userId
takes precedence overanonymous_id
- Multiple
anonymous_ids
can belong to a singleuserId
Anonymous ID (anonymous_id)
When users interact with an Agent through third-party platforms (such as Telegram, WhatsApp, LINE, etc.), GPTBots uses the unique identifier from that platform as the anonymous_id
. For details on anonymous ID generation logic, please refer to [Anonymous ID Generation Logic](## Anonymous ID Generation Logic).
Third-party Platforms
GPTBots platform currently supports Agent integration with numerous third-party platforms, including: Intercom, Webchat, LiveChat, Telegram, WhatsApp, and more.
Conversation ID (conversation_id)
The conversation ID, or conversationID
, identifies a single conversation session between a user and an Agent. It serves as the smallest unit of isolation between different business scenarios (typically containing multiple message IDs).
conversationID
automatically expires after 60 minutes, except for those generated through the API channel, which have no expiration time.- When a
conversationID
expires on third-party platforms and widget channels, a newconversationID
is generated to start a fresh conversation.
Message ID (message_id)
The message ID, or messageID
, identifies a single message exchange between an Agent and a user, representing the smallest unit of conversation.
messageID
is generated by the GPTBots platform and cannot be customized by developers.messageID
belongs to aconversationID
, with oneconversationID
typically containing multiplemessageIDs
.
Conversation ID Generation Logic
When users initiate conversations with an Agent through third-party platforms, the system generates an anonymous_id
based on the user's platform, and automatically creates a conversationID
from this anonymous_id
to contain one round of dialogue between the user and Agent.
- When using the API, developers must first generate a
conversationID
and pass it as a parameter before initiating conversations with an Agent. - For non-API channels, GPTBots automatically generates the
conversationID
. The specific business process is shown below:
Anonymous ID Generation Logic for Third-party Platforms
Integration Channel | Anonymous ID Logic | Platform Field | Description |
---|---|---|---|
Telegram | anonymous_id = Telegram user ID | tg_user_id | Unique numeric identifier for Telegram users to distinguish different users |
Telegram Group Chat | anonymous_id = Telegram chatID + Telegram user ID | tg_chat_id + tg_user_id | Combination of chat session identifier and user identifier for uniquely identifying user interactions in group environments |
LINE | anonymous_id = LINE user ID | line_user_id | Unique identifier for LINE users to identify individual users within the platform |
LiveChat | anonymous_id = LiveChat threadId | lc_thread_id | Unique identifier for LiveChat conversation threads to track and manage user dialogues |
Slack | anonymous_id = Slack user ID | slack_user_id | Unique identifier for Slack users to identify individual users within the platform |
Slack Public Channel | anonymous_id = Slack(teamId+channelId+UserId) | slack_team_id + slack_channel_id + slack_user_id | Combination of Slack team identifier, public channel identifier, and user identifier for uniquely identifying users in public channels |
Intercom | anonymous_id = Intercom user ID | intercom_user_id | Unique identifier for Intercom users for customer support platform user tracking and management |
DingTalk | anonymous_id = DingTalk senderId | dd_user_id | Unique identifier for DingTalk users to distinguish users within the enterprise collaboration platform |
DingTalk Group Chat | anonymous_id = DingTalk(senderId+groupId) | dd_chat_id + dd_senderId | Combination of unique identifier for message sender and group chat identifier for distinguishing users in enterprise collaboration platform |
WhatsApp by Meta | anonymous_id = WhatsApp user ID | wa_user_id | Unique identifier for WhatsApp users, typically based on user's phone number (e.g., international format phone number with @c.us suffix) |
WhatsApp by EngageLab | anonymous_id = WhatsApp user ID | wa_user_id | Unique identifier for WhatsApp users, typically based on user's phone number (e.g., international format phone number with @c.us suffix) |
Discord | anonymous_id = Discord user ID | discord_user_id | Unique numeric identifier for Discord users in gaming and community platforms |
anonymous_id = Instagram senderId | instagram_user_id | Unique identifier assigned by Instagram to message senders (Instagram users) | |
anonymous_id = senderId | facebook_user_id | Unique identifier assigned by Facebook to message senders (Facebook users) | |
Sobot | anonymous_id = Sobot memberId | sobot_memberId | Unique identifier for Sobot users |
Sobot Group @mention | anonymous_id = Sobot(guildId + channelId + memberId) | guildId + channelId + memberId | Unique identifier for Sobot group chat @mentioned users to identify user interactions in group environments |
Intercom | anonymous_id = senderId | intercom_senderId | Unique identifier for Intercom users |
Zoho Sales IQ | anonymous_id = zoho conversationId | zoho_sales_iq_conversationId | Unique conversation identifier for Zoho Sales IQ |
WeChat Customer Service | anonymous_id = WeChat customer service user ID | wechat_customer_service_user_id | Unique identifier for WeChat Customer Service users |
Anonymous ID Logic for Built-in GPTBots Channels
Integration Channel | Anonymous ID Logic | Description |
---|---|---|
API | No anonymous ID | Users can only generate conversation IDs using user_id |
Workspace | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
Share | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
Iframe | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
AI Search | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
AI Search (iframe) | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
Widget | anonymous_id = Browser Fingerprint ID | Random ID generated based on browser fingerprint. New ID may be generated when clearing cache or in incognito mode |
GPTBots Platform Conversation ID Source Field Values
The conversation ID (conversation_id) is generated from agent_id and user_id/anonymous_id. Conversation IDs generated from different channels are marked with different source field values. Chat history data can be queried by channel using these source field values.
Source Field Value | Description |
---|---|
ALL | All types of conversation IDs |
SPACE | Conversation IDs generated from workspace |
API | Conversation IDs generated from API calls |
EMBED | Conversation IDs generated from Iframe |
WIDGET | Conversation IDs generated from widget bubbles |
AI_SEARCH | Conversation IDs generated from AI search |
SHARE | Conversation IDs generated from shares |
WHATSAPP_META | Conversation IDs generated from WhatsApp by Meta |
WHATSAPP_ENGAGELAB | Conversation IDs generated from WhatsApp by EngageLab |
DINGTALK | Conversation IDs generated from DingTalk bot |
DISCORD | Conversation IDs generated from Discord |
SLACK | Conversation IDs generated from Slack |
ZAPIER | Conversation IDs generated from Zapier |
WXKF | Conversation IDs generated from WeChat Customer Service |
TELEGRAM | Conversation IDs generated from Telegram |
LIVECHAT | Conversation IDs generated from LiveChat |
LINE | Conversation IDs generated from LINE. Multiple Channel options available if multiple LINE Channels exist |
Conversation IDs generated from Instagram | |
Conversation IDs generated from Facebook | |
SO_BOT | Conversation IDs generated from Sobot |
ZOHO_SALES_IQ | Conversation IDs generated from Zoho Sales IQ |
INTERCOM | Conversation IDs generated from Intercom |