logo
Development
Search
User Overview

User Overview

Users refer to end users who initiate conversations with Agents/workflows. GPTBots allows developers to assign unique identity IDs to different users. Through this user ID (user_id), user identities can be linked across different channels, enabling cross-channel identity consolidation, business queries via Tools, and management of user attributes and chat histories.

User CDP (Customer Data Platform) information is stored under each Agent/workflow, with data being isolated for the same user across different Agents/Workflows.

用户体系示意图

flowchart LR
 subgraph Col1["Source Platform"]
        LC["Livechat"]
        IC["Intercom"]
        WG[" Widget "]
        TG["Telegram"]
  end
 subgraph Col2_5["Source Platform Sub-Channel"]
        tgb01["TGBOT01"]
        tgb02["TGBOT02"]
  end
 subgraph Col2["Anonymous ID"]
        a1["lc0001"]
        a2["ic0001"]
        a3["wg0001"]
        tga1["tb0001"]
        tga2["tg0001"]
  end
 subgraph Col3["UserId"]
        U1["ABC123"]
        U2["ABC456"]
  end
 subgraph Col4["ConversationId"]
        c1["c001"]
        c2["c002"]
        c3["c003"]
        c4["c004"]
        c5["c005"]
  end
 subgraph Col5["Agent/Workflow"]
        Bot["Agent
        Workflow"]
  end
    LC -- Generate Anonymous ID --> a1
    IC -- Generate Anonymous ID --> a2
    WG -- Generate Anonymous ID --> a3
    TG -- User from sub-channel --> tgb01 & tgb02
    tgb01 -- Generate Anonymous ID --> tga1
    tgb02 -- Generate Anonymous ID --> tga2
    a1 -- Set user_id --> U1
    a2 -- Set user_id --> U1
    a3 -- Set user_id --> U2
    tga1 -- Set user_id --> U2
    tga2 -- Set user_id --> U2
    U1 -- Generate new conversation ID --> c1
    U1 -- Generate new conversation ID --> c2
    U2 -- Generate new conversation ID --> c3
    U2 -- Use existing conversation ID --> c4
    c4 -- If expired (>60 minutes)
    Generate new conversation ID --> c5
    c1 --> Bot
    c2 --> Bot
    c3 --> Bot
    c4 --> Bot
    c5 --> Bot

     LC:::redStyle
     IC:::blueStyle
     WG:::greenStyle
     TG:::purpleStyle
     tgb01:::purpleStyle
     tgb02:::purpleStyle
     a1:::redStyle
     a2:::blueStyle
     a3:::greenStyle
     tga1:::purpleStyle
     tga2:::purpleStyle
     U1:::userGray
     U2:::userGray
     c1:::redStyle
     c2:::blueStyle
     c3:::greenStyle
     c4:::purpleStyle
     c5:::purpleStyle
    classDef userGray fill:#f5f5f5,stroke:#e6e6e6,color:#222
    classDef redStyle fill:#ffd6d6,stroke:#ffbdbd,color:#222
    classDef blueStyle fill:#dff0ff,stroke:#cfeaff,color:#222
    classDef greenStyle fill:#ecffd9,stroke:#d5ffb3,color:#222
    classDef purpleStyle fill:#f1e0ff,stroke:#e1c7ff,color:#222
    style Col1 stroke:#757575
  • The Anonymous ID (anonymous_id) is automatically generated by the GPTBots system service based on the user's source platform.
  • Setting a user_id is optional. Developers can decide whether to set a user_id based on their business needs to enable user identity association and attribute sharing across different channels.

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.

  • The user_id takes precedence over the anonymous_id
  • Multiple anonymous_id values can be associated with a single user_id simultaneously

Anonymous ID (anonymous_id)

When users interact with an Agent through third-party platforms (such as Telegram, WhatsApp, LINE, etc.), GPTBots uses that platform's unique user identifier 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

The 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 (conversation_id) is a unique identifier generated jointly by the Agent, conversation type, and user_id (or anonymous_id). It serves as the smallest unit for isolating different business scenarios (typically containing multiple message IDs).

  • The conversation_id automatically expires after 60 minutes, except for those generated through the API channel, which have no expiration time.
  • For third-party platforms and widget channels, when a conversation_id expires, a new one is generated to start a fresh conversation.

Message ID (message_id)

The message ID (message_id) identifies a single message exchange between an Agent and a user, representing the smallest unit of conversation.

  • The message_id is generated by the GPTBots platform and cannot be customized by developers.
  • The message_id belongs to a conversation_id, with one conversation_id typically containing multiple message_ids.

Conversation Type

Conversation Type (conversation_type) identifies the scenario in which a user initiates a conversation, such as Workspace-Workflow, WhatsApp, API, Workspace-Search, etc.

Conversation ID Generation Principle

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 conversation_id based on this anonymous_id to contain one round of dialogue between the user and Agent.

  • When using the API, developers must first generate a conversation_id before initiating conversations with an Agent/Workflow.
  • For non-API channels, GPTBots automatically generates the conversation_id.

Anonymous ID Value Logic

Source Platform Anonymous ID Logic Corresponding Platform Field Description
Telegram Telegram User ID tg_user_id Unique numeric identifier for a Telegram user.
Telegram Group Chat Telegram chatID + Telegram User ID tg_chat_id + tg_user_id Combination of group chat session ID and user ID, uniquely identifying user interactions within a group.
LINE LINE User ID line_user_id Unique identifier for a LINE user.
LiveChat LiveChat threadId lc_thread_id Unique identifier for a LiveChat conversation thread.
Slack Slack User ID slack_user_id Unique identifier for a Slack user.
Slack Public Channel Slack (teamId + channelId + userId) slack_team_id + slack_channel_id + slack_user_id Combination of Slack team ID, public channel ID, and user ID, uniquely identifying users in public channels.
Intercom Intercom User ID intercom_user_id Unique identifier for an Intercom user.
DingTalk DingTalk senderId dd_user_id Unique identifier for a DingTalk user.
DingTalk Group Chat DingTalk (senderId + group chat ID) dd_chat_id + dd_senderId Combination of sender's unique ID and group chat ID, used to distinguish users in group chats.
WhatsApp by Meta WhatsApp User ID wa_user_id Unique identifier for a WhatsApp user, usually based on the user's phone number (e.g., international format with @c.us suffix).
WhatsApp by EngageLab WhatsApp User ID wa_user_id Unique identifier for a WhatsApp user, usually based on the user's phone number (e.g., international format with @c.us suffix).
Discord Discord User ID discord_user_id Unique numeric identifier for a Discord user.
Instagram Instagram senderId instagram_user_id Unique identifier assigned to the sender (Instagram user) by Instagram.
Facebook senderId facebook_user_id Unique identifier assigned to the sender (Facebook user) by Facebook.
Sobot Sobot memberId sobot_memberId Unique Sobot user ID.
Sobot Group Chat @User Sobot (guildId + channelId + memberId) guildId + channelId + memberId Combination of guild ID, channel ID, and member ID, uniquely identifying user interactions in Sobot group chats.
Intercom senderId intercom_senderId Intercom user ID.
Zoho Sales IQ Zoho conversationId zoho_sales_iq_conversationId Unique conversation identifier in Zoho Sales IQ.
WeChat Customer Service WeChat Customer Service User ID wechat_customer_service_user_id Unique user ID for WeChat Customer Service.

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. A new ID may be generated when clearing cache or using incognito mode.
Share anonymous_id = Browser Fingerprint ID Random ID generated based on browser fingerprint. A new ID may be generated when clearing cache or using incognito mode.
Iframe anonymous_id = Browser Fingerprint ID Random ID generated based on browser fingerprint. A new ID may be generated when clearing cache or using incognito mode.
AI Search anonymous_id = Browser Fingerprint ID Random ID generated based on browser fingerprint. A new ID may be generated when clearing cache or using incognito mode.
AI Search (iframe) anonymous_id = Browser Fingerprint ID Random ID generated based on browser fingerprint. A new ID may be generated when clearing cache or using incognito mode.
Widget anonymous_id = Browser Fingerprint ID Random ID generated based on browser fingerprint. A new ID may be generated when clearing cache or using incognito mode.

When a user is logged in to the GPTBots platform, the system automatically sets their GPTBots Account ID as the user_id and associates it with the anonymous_id (browser fingerprint ID).

Conversation Types

Conversation Type (conversation_type) is used to identify the scenario in which a user initiates a conversation. You can use the conversation_type field value to filter log data by scenario.

Conversation Type Field Value Description
All ALL All conversation types
Workspace-Search C Conversations generated by Workspace Agent
Workspace-Agent CHAT Conversations generated by Workspace Search
Workspace-Workflow C_WORKFLOW Conversations generated by Workspace Workflow
Workspace-Apps C_APPS Conversations generated by various AI apps in Workspace Market
API API Conversations generated via API calls
Iframe EMBED Conversations generated via Iframe
Widget WIDGET Conversations generated via Widget
AI Search AI_SEARCH Conversations generated via AI Search
Share SHARE Conversations generated via Share
WhatsApp by Meta WHATSAPP_META Conversations generated via WhatsApp by Meta
WhatsApp by EngageLab WHATSAPP_ENGAGELAB Conversations generated via WhatsApp by EngageLab
DingTalk Bot DINGTALK Conversations generated via DingTalk Bot
Discord DISCORD Conversations generated via Discord
Slack SLACK Conversations generated via Slack
Zapier ZAPIER Conversations generated via Zapier
WeChat Customer Service WXKF Conversations generated via WeChat Customer Service
Telegram TELEGRAM Conversations generated via Telegram
LiveChat LIVECHAT Conversations generated via LiveChat
LINE LINE Conversations generated via LINE. If there are multiple LINE channels, there will be multiple channel options.
Instagram INSTAGRAM Conversations generated via Instagram
Facebook FACEBOOK Conversations generated via Facebook
Sobot SO_BOT Conversations generated via Sobot
Zoho Sales IQ ZOHO_SALES_IQ Conversations generated via Zoho Sales IQ
Intercom INTERCOM Conversations generated via Intercom

⚠️ Note: The field values in the table can be used as filter conditions when using the Get Conversation List API.
For third-party platforms like LINE and Telegram that support multiple channels, the "Agent-Log" allows filtering by secondary conversation types.
The field values in the table can also be used as the value for the anonymous_id_source field in the Update User ID API.