Copy
type GleanCustomerEvent struct {
    // Timestamp of the activity.
    Timestamp timestamp
    
    // A unique ID for the record.
    insertId string
    
    // All data for the record are contained in this struct field.
    jsonPayload *GleanCustomerEventPayload
}
Copy
type GleanCustomerEventPayload struct {
    // The type of the record. Will be one of: SEARCH, AUTOCOMPLETE, CHAT, CHAT_CITATIONS, AI_SUMMARY, AI_ANSWER, SHORTCUT, SEARCH_CLICK, CHAT_CITATION_CLICK
    // CHAT_FEEDBACK, CLIENT_EVENT, SEARCH_FEEDBACK, AI_ANSWER_VOTE, AI_SUMMARY_VOTE, WORKFLOW_RUN, WORKFLOW, GLEAN_BOT_ACTIVITY, PRODUCT_SNAPSHOT
    Type string
    
    // Whether the record was written in scrubbed mode and contains no PII.
    IsScrubbed bool
    
    // Identifies the user taking the action.
    User *GleanCustomerEventUserIdentity
    
    // At most one of the following struct fields will be populated
    // corresponding to the type indicated in `Type`.
    Search *GleanCustomerEventSearch
    Autocomplete *GleanCustomerEventAutocomplete
    Chat *GleanCustomerEventChat
    ChatCitations *GleanCustomerEventChatCitations
    AiSummary *GleanCustomerEventAiSummary
    AiAnswer *GleanCustomerEventAiAnswer
    Shortcut *GleanCustomerEventShortcut
    SearchClick *GleanCustomerEventSearchClick
    ChatFeedback *GleanCustomerEventChatFeedback
    ClientEvent *GleanCustomerEventClientEvent
    SearchFeedback *GleanCustomerEventSearchFeedback
    AiAnswerVote *GleanCustomerEventAiAnswerVote
    AiSummaryVote *GleanCustomerEventAiSummaryVote
    ChatCitationClick *GleanCustomerEventChatCitationClick
    WorkflowRun *GleanCustomerEventWorkflowRun
    Workflow *GleanCustomerWorkflow
    GleanBotActivity *GleanCustomerGleanBotActivity
}
Copy
// Identifies the user taking the action.
type GleanCustomerEventUserIdentity struct {
    // Internal unique ID for the user.
    UserId string
    
    // Email address of the user.
    UserEmail string // omitted if scrubbed
    
    // Current department of the user
    Department string
    
    // ID of the user's department
    DepartmentId string
}
Event Type Schemas
SEARCH
SEARCH
Documents a SEARCH action, i.e. search request.
Copy
type GleanCustomerEventSearch struct {
    // Unique ID for the search request. Used to track the full
    // lifecycle of this specific search request across systems and related events.
    TrackingToken string
    
    // ID for the app session during which the search took place. Used
    // for session-level grouping and tracking.
    SessionTrackingToken string
    
    /*
    Manner by which the search request was initiated. Common values:
    - USER: a user initiated this search as a main request
    - PAGE_LOAD: a user initiated this search by reloading search results
    - INTERNAL: a Glean tool or agent issued this search to fulfill another request
    */
    Initiator string
    
    /*
    Surface from which the search request was initiated. Common values:
    - CHAT: search issued by the Glean Assistant to fulfill a response
    - FULLPAGE: from fullpage Glean webapp
    - EMBEDDED_SEARCH: from an embedded component built with the Web SDK
    - SIDEBAR: from the Glean sidebar
    - NSR: from Native Search Replacement, when Glean's search functionality is
      embedded directly within other applications
    - OMNIBOX: from the browser's address bar (omnibox) integration.
    - GLEANBOT: the Search query triggered programmatically by the GleanBot assistant
      (e.g., proactive digests, follow-ups).
    - CONTEXT_MENU: search triggered via right-click context menu (e.g., "Search with
      Glean" on selected text).
    */
    Modality string
    
    // For searches from embedded components, the embedding site's domain.
    // Eg: company.glean.com
    HostDomain string
    
    // Query string. This is omitted if you use a scrubbed version.
    Query string
    
    // List of datasource filters applied in the search request. If empty,
    // no datasource filter was applied (e.g. a search from the "All" tab.)
    DatasourcesFilter []string
    
    // List of first-page results returned by the search.
    Results []*GleanCustomerEventSearchResult // omitted if scrubbed
    
    // Latency of the search response, in milliseconds.
    BackendMillis int64
    
    // Whether the request was made via the REST Client API.
    IsRestClientApi bool
    
    // Number of people returned in the results.
    NumPeopleResults int64
}
// Representation of a search result. Only populated in raw mode.
type GleanCustomerEventSearchResult struct {
    Url string
    Title string
    DocId string
    Datasource string
}
AUTOCOMPLETE
AUTOCOMPLETE
Documents an Autocomplete action, i.e. autocomplete request.
Copy
// Documents an AUTOCOMPLETE action, i.e. autocomplete request.
// Definitions are similar to SEARCH events above.
type GleanCustomerEventAutocomplete struct {
    TrackingToken string
    SessionTrackingToken string
    HostDomain string
    Query string // omitted if scrubbed
    QueryLength int
    BackendMillis int64
    IsRestClientApi bool
}
CHAT
CHAT
Documents a CHAT action, i.e. message sent to the Glean Assistant.
Copy
// Documents a CHAT action, i.e. message sent to the Glean Assistant.
type GleanCustomerEventChat struct {
    // Unique identifier for a "turn" in the conversation, i.e. a user
    // query and agent response pair.
    Qtt string
    
    // Unique identifier for the response message sent by the agent.
    ResponseMessageId string
    
    // ID for the app session during which the chat took place (same as
    // for SEARCH actions.)
    SessionTrackingToken string
    
    // ID for the chat session during which the chat took place (recreated
    // each time the user visits the chat UI, or clicks "New Chat").
    ChatSessionId string
    
    /*
    Surface from which the chat message was sent:
    - WEB: Glean Assistant web UI
    - SLACK: Slackbot
    - REST_API: API request by an external developer or integration
    - SERVER: Backend or server-side system, such as for scheduled jobs,
      auto-digests, or background agents.
    - MICROSOFT_TEAMS: Glean's Microsoft Teams integration
    */
    Platform string
    
    /* Manner by which the initial chat message was sent:
    - USER: a user sent the message
    - EVAL: Internal evaluation
    - RECOMMENDATION: An information-seeking intent is detected from the
      user's activity and a chat request is issued proactively
    - PRODUCTION_PROBE:
    - PROMPT_TEMPLATE:The user triggered a predefined prompt template
    - UNKNOWN: Unknown initiator
    - ONBOARDING: Part of user onboarding flow, such as a welcome message
    - GLEAN: sent during response generation for a Glean search
    - AUTOMATION: Initiated from the summarize API
    */
    Initiator string
    
    // If populated, it identifies the AI App for this chat message.
    ApplicationId string
    
    // Details about the AI agent that responded to the chat.
    AgentConfig *GleanCustomerEventAgentConfig
    
    // Query string.
    UserQuery string // omitted if scrubbed
    
    // Full response message from the agent.
    Response string // omitted if scrubbed
    
    // Datasource to which the chat result belongs.
    Datasource string
    
    // Total latency (in milliseconds) for generating the chat response.
    TotalResponseMillis int
    
    // Domain of the host from which the chat was initiated.
    HostDomain string
    
    // Token(s) used to track any linked searches during this chat turn.
    SearchTrackingTokens []string
    
    // Feature flag or product area associated with this chat event.
    Feature string
    
    // Time taken (in milliseconds) to generate the first response token.
    FirstResponseTokenMillis int
    
    // Serialized UI tree metadata for the frontend view context.
    UITree string
    
    // Indicates whether a file was uploaded with the chat.
    HasFileUpload bool
    
    // Indicates whether the chat was triggered via REST client API.
    IsRestClientAPI bool
    
    // Unique identifier for the workflow run associated with the chat, if any.
    WorkflowRunID string
}
// Details about the AI agent that responded to the chat.
type GleanCustomerEventAgentConfig struct {
    // The type of agent that responded to the request. Values:
    // - DEFAULT: the default Glean RAG agent.
    // - GPT: communicates directly with the underlying LLM.
    Agent string
    
    // Execution mode for the agent. Values:
    // - DEFAULT: default execution mode.
    // - QUICK: Trades accuracy and precision for speed.
    Mode string
}
CHAT_CITATIONS
CHAT_CITATIONS
Documents the citations that were used to generate a chat response.
Copy
// Documents the citations that were used to generate a chat response.
type GleanCustomerEventChatCitations struct {
    // The query to which these citations pertain. Allows joins to CHAT events.
    Qtt string
    
    // The chat session to which these citations pertain.
    ChatSessionId string
    
    // List of citations.
    Citations *[]GleanCustomerEventChatCitation
    
    // Workflow ID for the AI agent's processing session.
    WorkflowRunId string
}
// Details the citation used to generate a chat response.
type GleanCustomerEventChatCitation struct {
    // TrackingToken. Some may start with SEARCH_, indicating that the citations shown
    // in the chat response were retrieved via a SEARCH query under the hood.
    TrackingToken string
    
    // Populated when the citation refers to a document-like asset
    SourceDocument *GleanCustomerEventChatCitationSourceDocument
    
    // Populated when the citation refers to a refers to a raw file (e.g. PDF)
    SourceFile *GleanCustomerEventChatCitationSourceFile
    
    // Populated when the citation refers to a refers to a person
    SourcePerson *GleanCustomerEventChatCitationSourcePerson
}
type GleanCustomerEventChatCitationSourceDocument struct {
    Datasource string
    DocType string
    Id string // obfuscated if scrubbed
    Title string // omitted if scrubbed
    Url string // omitted if scrubbed
}
type GleanCustomerEventChatCitationSourceFile struct {
    Id string // obfuscated if scrubbed
    Name string // omitted if scrubbed
}
type GleanCustomerEventChatCitationSourcePerson struct {
    Id string // obfuscated if scrubbed
    Name string // omitted if scrubbed
}
AI_SUMMARY
AI_SUMMARY
Documents usages of the AI Summary feature.
Copy
// Documents usages of the AI Summary feature.
type GleanCustomerEventAiSummary struct {
    // Document IDs for which summary was requested.
    DocIds []string // obfuscated if scrubbed
    
    // Full text of the AI-generated summary.
    SummaryText string // omitted if scrubbed
    
    TrackingToken string
}
AI_ANSWER
AI_ANSWER
Documents invocations of AI-generated answers to user searches.
Copy
// Documents invocations of AI-generated answers to user searches.
type GleanCustomerEventAiAnswer struct {
    // ID of the search that resulted in the AI-generated answer.
    TrackingToken string
    
    // Full text of the AI-generated answer.
    Response string // omitted if scrubbed
    
    // Unique identifier for the AI-generated answer.
    Qtt string
}
SHORTCUT
SHORTCUT
Documents usage of the Glean Shortcuts API.
Copy
// Documents usage of the Glean Shortcuts API.
type GleanCustomerEventShortcut struct {
    // Which shortcut operation was performed. One of: CREATE, DELETE, GET, REDIRECT, UPDATE
    Event string
    
    // Unique identifier for the shortcut.
    Id int32
    
    // Canonical link text following go/ prefix.
    Alias string // omitted if scrubbed
    
    // Link text following go/ prefix as input by user.
    InputAlias string // omitted if scrubbed
    
    // Destination URL for the shortcut.
    DestinationUrl string // omitted if scrubbed
    
    // Glean Document ID for the URL, if known.
    DocumentIdForUrl string // omitted if scrubbed
}
SEARCH_CLICK
SEARCH_CLICK
Documents a click on a search result.
Copy
// Documents a click on a search result.
type GleanCustomerEventSearchClick struct {
    // Identifies the search to which this result click belongs. Allows joins
    // joins to SEARCH events.
    TrackingToken string
    
    // The index of the result on the search results page.
    Position int
    
    // Unique identifier for the search result.
    DocId string // omitted if scrubbed
    
    // URL of the search result.
    DocUrl string // omitted if scrubbed
    
    // Datasource to which the search result belongs.
    Datasource string
}
CHAT_FEEDBACK
CHAT_FEEDBACK
Feedback left on chat messages.
Copy
// Feedback left on chat messages.
type GleanCustomerEventChatFeedback struct {
    // Identifier for the chat message this feedback was left on.
    MessageId string
    
    // Feedback action that was taken by the user. Values: UPVOTE, DOWNVOTE, MANUAL_FEEDBACK.
    Event string
    
    // If populated, identifies the AI App for this chat feedback.
    ApplicationId string
    
    // Feedback comments provided by the user. Only populated for MANUAL_FEEDBACK.
    Comments string // omitted if scrubbed
    
    // Vote cast by the user at the time of giving manual feedback
    // Values: UPVOTE, DOWNVOTE
    Vote string
    
    // ID for the chat session during which the feedback event occurred
    ChatSessionId string
    
    Rating int64 // Always NULL. Not advised to use.
    RatingKey string // Always undefined. Not advised to use.
    
    // Ties together all steps in a multi-step flow.
    RunId string
    
    AgentID string
}
CLIENT_EVENT
CLIENT_EVENT
Events taken by users in the Glean application. Captures a wide variety of actions.
Copy
// Events taken by users in the Glean application. Captures a wide variety of actions.
type GleanCustomerEventClientEvent struct {
    // Event type. A wide variety of actions are included here; see sample queries for examples on useful values.
    Event string
    
    // The feature or product area to which the event belongs.
    Category string
    
    // The path in the Glean application on which the event took place.
    PagePath string
    
    // An identifying label for the event used to further differentiate actions.
    Label string
    
    // ID for the app session during which the action took place.
    SessionTrackingToken string
    
    /*
    Surface from which the Client Event was initiated. Common values:
    - New Tab Page: Glean homepage in browser
    - Full Page: Fullscreen Glean web app
    - Extension Sidebar: from the Glean sidebar
    - Extension Overlay: Embedded overlay from browser extension
    - NSR: Native Search Replacement embedded in 3rd-party tools
    - Desktop App: Glean desktop application
    - PWA: Progressive Web App
    - Mobile: Glean mobile application
    */
    Modality string
    
    // The specific UI component involved in the interaction
    UIElement string
    
    // The domain/website where the event occurred.
    // Eg: company.glean.com
    HostDomain string
}
SEARCH_FEEDBACK
SEARCH_FEEDBACK
Feedback left on search results.
Copy
// Feedback left on search results.
type GleanCustomerEventSearchFeedback struct {
    // Identifier for the search request this feedback was left on.
    TrackingToken string
    
    // Numerical rating left by the user.
    Rating int
    
    // Label on the rating left by the user.
    // Values include "downvoted", "upvoted", "very_satisfied", "satisfied"
    RatingKey string
    
    // Query text for the search request this feedback was left on.
    Query string // omitted if scrubbed
    
    // Feedback comments left by the user, if any.
    Comments string // omitted if scrubbed
}
AI_ANSWER_VOTE
AI_ANSWER_VOTE
Upvotes and downvotes left on AI-generated answers.
Copy
// Upvotes and downvotes left on AI-generated answers.
type GleanCustomerEventAiAnswerVote struct {
    // Identifier for the search request this vote was left on.
    TrackingToken string
    
    // Vote cast by the user for this answer. One of UPVOTE, DOWNVOTE
    Vote string
}
AI_SUMMARY_VOTE
AI_SUMMARY_VOTE
Upvotes and downvotes left on AI-generated summaries.
Copy
// Upvotes and downvotes left on AI-generated summaries.
type GleanCustomerEventAiSummaryVote struct {
    // Identifier for the search request this vote was left on, if applicable.
    TrackingToken string
    
    // Vote cast by the user for this answer. One of UPVOTE, DOWNVOTE
    Vote string
}
WORKFLOW_RUN
WORKFLOW_RUN
A single top-level invocation of a Glean Workflow request. Includes details for all associated and nested workflow executions.
Copy
// A single top-level invocation of a Glean Workflow request.
// Includes details for all associated and nested workflow executions.
type GleanCustomerEventWorkflowRun struct {
    // Globally unique identifier for the invocation.
    RunId string
    
    // Identifier for the chat session.
    ChatSessionId string
    
    // Identifier for the Glean session.
    SessionTrackingToken string
    
    /* Name of the Glean feature associated with this workflow.
    - AI_ANSWER: Generates AI-powered answers
    - THREAD_SUMMARIZER: Summarizes long message threads into concise takeaways.
    - SUPPORT_NEXT_STEPS: Suggests follow-up actions after support-related interactions.
    - DAILY_DIGESTS: Creates daily summaries of updates, messages, or documents.
    - AI_FEED: Surfaces recommended or trending content.
    - AGENT: Executes multi-step autonomous workflows across tools.
    - KNOWLEDGE_GRAPH: Explores relationships in Glean's knowledge graph.
    - DEEP_RESEARCH: Performs multi-hop research to synthesize deeper answers.
    - INLINE_MENU: Displays contextual actions inline (e.g., summarize, refine).
    - REFINE_ANSWER: Refines or clarifies AI responses through follow-up.
    - GITHUB_PR_DESCRIPTION_GENERATOR: Creates PR summaries from code changes.
    */
    Feature string
    
    /* The initiator of the workflow execution.
    - USER: a user sent the message
    - EVAL: Internal evaluation
    - RECOMMENDATION: An information-seeking intent is detected from the user's activity and a chat request is issued proactively
    - PRODUCTION_PROBE: Synthetic probes to validate production readiness
    - PROMPT_TEMPLATE:The user triggered a predefined prompt template
    - UNKNOWN: Unknown initiator
    - ONBOARDING: Part of user onboarding flow, such as a welcome message
    - GLEAN: sent during response generation for a Glean search
    - AUTOMATION: Initiated from background agents(Schedule/Content Trigger agent runs)
    - SUMMARIZE: Initiated to summarize a document, thread, tickets, etc
    */
    Initiator string
    
    /* The platform or surface from which the workflow was triggered.
    - WEB: Glean Assistant web UI
    - SLACK: Slackbot
    - REST_API: API request by an external developer or integration
    - SERVER: Backend or server-side system, such as for scheduled jobs,
      auto-digests, or background agents.
    - MICROSOFT_TEAMS: Glean's Microsoft Teams integration
    */
    Platform string
    
    // All workflows associated with this top-level request.
    WorkflowExecutions []*GleanCustomerEventWorkflowExecution
    
    // All workflow steps associated with this top-level request.
    StepExecutions []*GleanCustomerEventStepExecution
}
type GleanCustomerEventWorkflowExecution struct {
    // Identifier for the type of Workflow run.
    WorkflowId string
    
    // Creator of this Workflow. Either `GLEAN` for Glean-created workflows or `USER` for user-created workflows.
    CreationSource string
    
    /* The namespace of the workflow that was run.
    - STATIC_WORKFLOW: statically defined workflow
    - AGENT: workflow associated with Agents
    */
    Namespace string
    
    // Overall execution status for this Workflow: `SUCCESS`, `ERROR`, `CANCELLED`.
    Status string
    
    // Error classification.
    ErrorType string
}
type GleanCustomerEventStepExecution struct {
    // Identifier for the type of Workflow Step.
    StepId string
    
    // Identifier for the type of Workflow run.
    WorkflowId string
    
    // Overall execution status for this step: `EXECUTED`, `SKIPPED`, `ERROR`.
    Status string
    
    // Error classification.
    ErrorType string
    
    // Name of the Tool associated with this step.
    ActionInstanceId string
    
    // Search citations associated with this step, if any.
    Citations []*GleanCustomerEventChatCitation
}
WORKFLOW - DEPRECATED JUN 13 2025
WORKFLOW - DEPRECATED JUN 13 2025
PLEASE NOTE: The Workflow logs have been deprecated and replaced with WORKFLOW_RUN. The Workflow logs were only present in the data starting April-29 to Jun-13, and contain important Chat data.
Copy
type GleanCustomerEventWorkflow struct {
    // ID for the chat session during which the workflow event occurred
    // Useful for linking workflow actions to chat interactions.
    ChatSessionId string
    
    // List of citations.
    Citations *[]GleanCustomerEventChatCitation
    
    // Name of the data source where the workflow originated or is acting on.
    Datasource string
    
    /* Name of the Glean feature associated with this workflow.
    - AI_ANSWER: Generates AI-powered answers
    - THREAD_SUMMARIZER: Summarizes long message threads into concise takeaways.
    - SUPPORT_NEXT_STEPS: Suggests follow-up actions after support-related interactions.
    - DAILY_DIGESTS: Creates daily summaries of updates, messages, or documents.
    - AI_FEED: Surfaces recommended or trending content.
    - AGENT: Executes multi-step autonomous workflows across tools.
    - KNOWLEDGE_GRAPH: Explores relationships in Glean's knowledge graph.
    - DEEP_RESEARCH: Performs multi-hop research to synthesize deeper answers.
    - INLINE_MENU: Displays contextual actions inline (e.g., summarize, refine).
    - REFINE_ANSWER: Refines or clarifies AI responses through follow-up.
    - GITHUB_PR_DESCRIPTION_GENERATOR: Creates PR summaries from code changes.
    */
    Feature string
    
    /* The initiator of the workflow execution.
    - USER: a user sent the message
    - EVAL: Internal evaluation
    - RECOMMENDATION: An information-seeking intent is detected from the user's activity and a chat request is issued proactively
    - PRODUCTION_PROBE: Synthetic probes to validate production readiness
    - PROMPT_TEMPLATE:The user triggered a predefined prompt template
    - UNKNOWN: Unknown initiator
    - ONBOARDING: Part of user onboarding flow, such as a welcome message
    - GLEAN: sent during response generation for a Glean search
    - AUTOMATION: AUTOMATION: Initiated from background agents(Schedule/Content Trigger agent runs)
    - SUMMARIZE: Initiated to summarize a document, thread, tickets, etc
    */
    Initiator string
    
    /* The platform or surface from which the workflow was triggered.
    - WEB: Glean Assistant web UI
    - SLACK: Slackbot
    - REST_API: API request by an external developer or integration
    - SERVER: Backend or server-side system, such as for scheduled jobs,
      auto-digests, or background agents.
    - MICROSOFT_TEAMS: Glean's Microsoft Teams integration
    */
    Platform string
    
    // Unique identifier for the overall workflow run.
    // Ties together all steps in a multi-step flow.
    RunId string
    
    // Status of the current step execution within the workflow.
    // Example: "UNSPECIFIED", "EXECUTED", "SKIPPED", "ERROR"
    StepExecutionStatus string
    
    // Identifier for the specific step within the workflow.
    // Example: "REFLECT", "RESPOND", "SEARCH", "PARSE_QUERY_LANGUAGE" etc.
    StepId string
    
    // Overall status of the full workflow execution.
    // Example: "SUCCESS", "ERROR", "CANCELLED"
    WorkflowExecutionStatus string
    
    // Identifier for the workflow template or definition.
    // Helps categorize which flow was executed.
    WorkflowId string
}
GLEAN_BOT_ACTIVITY
GLEAN_BOT_ACTIVITY
Documents activities performed by the Glean Bot across various platforms.
Copy
type GleanCustomerEventGleanBotActivity struct {
    // Identifier for the AI application associated with this Glean Bot activity.
    ApplicationId string
    
    // ID of the Slack or chat channel where the interaction occurred.
    ChannelId string
    
    // Metadata for the event, including context like user, app, or message IDs.
    EventMetadata *[]GleanBotActivityEventMetadata
    
    // Token used to uniquely track this specific Glean Bot event across logs.
    EventTrackingToken string
    
    /* Type of activity performed by the Glean Bot.
    Indicates the nature of the event that resulted from bot interaction.
    - NON_TAGGED_MESSAGE: A message sent to Gleanbot without an explicit trigger (e.g., @ mention or command).
    - PROACTIVE_DISCUSSION_SUMMARIZER: Bot proactively summarizes a thread.
    - DAILY_DIGEST_REMINDER: Reminder to view the daily digest.
    - ASSISTANT_THREAD: Thread started with the Glean Assistant.
    - DM_TO_GLEANBOT_MESSAGE: Direct message sent to Gleanbot.
    - VIEW_DIGEST_CLICK: User clicks to view a digest.
    - DIGEST_SETTINGS: User opens or updates digest settings.
    - SHOW_SOURCES: Bot shows sources behind an answer.
    - SHARE_HELPFULNESS: User rates the helpfulness of a message.
    - TAGGED_MESSAGE: Gleanbot was explicitly mentioned or tagged.
    - GENERATE_ANSWER: Bot generates an AI-powered response.
    - COMMAND: Command issued to Gleanbot (e.g., /glean).
    - FEEDBACK_CLICK: User clicks quick feedback options.
    - SHARE_CLICK: User clicks a share button or link.
    - SUBMIT_FEEDBACK: Detailed feedback submitted by user.
    - DISMISS_SUGGESTION: User dismisses a bot suggestion.
    - EXECUTE_ACTION: Bot executes a follow-up action.
    - TEAMS_BOT_INSTALL: Gleanbot installed in Microsoft Teams.
    */
    EventType string
    
    // Latency measurements for different parts of the bot response pipeline.
    LatenciesMillisMap *[]GleanBotActivityLatenciesMillis
    
    // Description of what response was sent by the bot.
    // Eg: DAILY_DIGEST_REMINDER_SENT, REACTIVE_ACT_MESSAGE
    ResponseEvents string
    
    // Source system or trigger for the bot action.
    Source string
    
    // Session tracking token used to link this activity with other user actions.
    Stt string
    
    // Entry point or reason for triggering the workflow
    // e.g. PROACTIVE_WORKFLOW_START, DSE_EVENT_START, PROACTIVE_BOT_DISABLED_FAILURE
    WorkflowExecutionPoints string
    
    // Identifier for the workspace where this activity took place.
    WorkspaceId string
}
type GleanBotActivityLatenciesMillis struct {
    // Time in milliseconds for various Gleanbot actions during message handling.
    ReactiveActMessage string
    // Time to send the bot's main reactive message.
    ReactiveReaction string
    // Time taken to plan the bot's response message.
    ReactivePlanMessage string
    // Time to delete a planned message.
    ReactivePlanMessageDeleted string
    // Time to share a private response (e.g., converting draft to public message).
    ReactivePrivateResponseShared string
    // Time to send a proactive message. (not in response to user input).
    ProactiveMessage string
    // Time to display a response modal.
    ReactiveGenerationResponseModal string
    // Time to send an error message.
    ReactiveErrorMessage string
}
CHAT_CITATION_CLICK
CHAT_CITATION_CLICK
Documents clicks on citations within chat responses.
Copy
type GleanCustomerEventChatCitationClick struct {
    // Name of the datasource where the cited content resides.
    Datasource string
    
    // Identifier linking the citation click back to the original chat query.
    TrackingToken string
}
PRODUCT_SNAPSHOT
PRODUCT_SNAPSHOT
Note that since this is snapshot data, any user, workflow or workflow step that is deleted on a given date will stop showing up in the data from the next day.
Copy
type GleanCustomerEventProductSnapshot struct {
    Type string
    User *[]GleanCustomerProductSnapshotUser
    Workflow *[]GleanCustomerProductSnapshotWorkflow
    WorkflowStep *[]GleanCustomerProductSnapshotWorkflowStep
}
type GleanCustomerProductSnapshotUser struct {
    // User's configured timezone, e.g., "Pacific Daylight Time".
    Timezone string
    
    // Internal logging identifier for the user.
    LoggingID string
    
    // List of alternate user identifiers used across systems.
    AliasIDs []string
    
    // The user's role within the product (e.g., "Member").
    PermissionsRole string
    
    // Department name the user belongs to.
    Department string
    
    // Internal ID associated with the user's department.
    DepartmentID string
    
    // Unique identifier for the user.
    ID string
    
    // Canonical ID used for identity resolution across systems.
    CanonicalID string
    
    // Timezone offset in seconds from UTC (e.g., -25200 for PDT).
    TimezoneOffset string
    
    // User's job function (e.g., "Research").
    JobFunction string
    
    // Eligibility string for product features.
    ProductEligibility string
    
    // Timestamp representing when the user account was created.
    StartDate string
    
    // User's employment type, e.g., "FULL_TIME".
    EmployeeType string
    
    // List of user settings as key-value pairs.
    UserSettings *[]UserSetting
    
    // Timestamp when the user signed up.
    SignupTime string
}
type UserSetting struct {
    // Key for the user setting (e.g., "general.theme").
    Key string
    
    // Value associated with the setting key.
    Value string
}
type GleanCustomerProductSnapshotWorkflow struct {
    // Workflow namespace (e.g., "STATIC_WORKFLOW").
    NamespaceEnum string
    
    // Timestamp of the last update (default may be "0001-01-01T00:00:00Z").
    UpdatedAt string
    
    // Unique identifier for the workflow.
    WorkflowID string
    
    // Workflow provider (if any; may be empty).
    Provider string
    
    // Indicates if the workflow is a routing target.
    IsRoutingTarget string
    
    // Details about what triggers this workflow.
    Trigger WorkflowTrigger
    
    // Number of placeholders used in the workflow definition.
    NumPlaceholders string
    
    // Associated ML model (if any; blank if unused).
    Model string
    
    // ID of the user who last updated the workflow.
    LastUpdateBy string
    
    // ID of the template from which this workflow originated.
    SourceTemplateID string
    
    // ID of the user who created the workflow.
    CreatedBy string
    
    // Indicates if the workflow is hidden from standard listings.
    Unlisted string
    
    // List of access roles for this workflow.
    Roles []WorkflowRole
    
    // Application ID the workflow belongs to.
    ApplicationID string
    
    // Creation timestamp of the workflow.
    CreatedAt string
    
    // Notes or annotations (may be blank).
    Notes []string
}
type WorkflowTrigger struct {
    // Type of trigger, e.g., "INPUT_FORM".
    Type string
    
    // Associated document type (may be blank).
    DocType string
    
    // Template ID if applicable.
    TemplateID string
    
    // Reason for event-based trigger (if any).
    EventReason string
    
    // Data source for the trigger event.
    DataSource string
    
    // Additional dimensions or metadata (if any).
    Facets []string
}
type WorkflowRole struct {
    // Role name, e.g., "VIEWER".
    Role string
    
    // Scope type for the role, e.g., "ALL".
    Type string
    
    // Role scope identifier.
    ID string
}
type GleanCustomerProductSnapshotWorkflowStep struct {
    // Unique action identifier (e.g., "Respond").
    ActionID string
    
    // Whether the step is a branching step in logic.
    IsBrancher string
    
    // Enum representing the step type, e.g., "DEFAULT".
    TypeEnum string
    
    // Associated ML model (if any; blank if unused).
    Model string
    
    // Unique step identifier within the workflow.
    StepID string
    
    // IDs of steps that must execute before this one.
    StepDependencies []string
    
    // Provider responsible for this step (if any).
    Provider string
    
    // Expected input type, e.g., "STEP_INSTRUCTION".
    InputType string
    
    // Indicates if this step contains looping logic.
    HasLoop string
    
    // Sampling temperature for LLM use (blank if unused).
    Temperature string
    
    // ID of the parent workflow.
    WorkflowID string
    
    // Defines the scope of memory this step includes.
    MemoryInclusion string
}