Skip to main content

Glean Overview Insights

Fetches overview of usage insights data from Glean AI Insights Dashboards. This input collects general search and content engagement metrics and syncs them incrementally based on the last updated timestamp returned by the API.

Sync Type: Incremental

Requirements

Before configuring this input, you need:

  • A Glean instance with Insights Dashboard access enabled
  • A Glean Global Token with the INSIGHTS scope, created in the Glean admin console

Creating the API Token

  1. Log in to your Glean instance
  2. Navigate to the Admin Console > Platform > Client API Token Management
  3. Click Add New Token
  4. Configure the token:
    • Type: Global
    • Scope: Select INSIGHTS
    • Name: Give it a descriptive name (e.g., monad-insights)
    • Optionally set an expiration date
  5. Click Save and immediately copy the token secret — it is displayed only once

Note: Token scopes cannot be changed after creation. Ensure you select INSIGHTS before saving.

Finding Your Instance Name

Your Glean instance name is the subdomain prefix of your Glean URL. For example, if your backend URL is mycompany-be.glean.com, your instance name is mycompany.

Details

Monad uses the Glean Insights API (POST /rest/api/v1/insights) to fetch aggregate overview usage data. The input sends a request with the overviewRequest key and receives aggregated metrics in the overviewResponse.

How State Management Works

  • The input maintains a timestamp cursor based on the lastUpdatedTs field returned by the API
  • On each sync run, the cursor's start time is sent as the dayRange.start of the request
  • The dayRange.end is always set to the current time
  • After a record is emitted, the cursor advances to the lastUpdatedTs of the returned response
  • On the first sync (or when no backfill start time is configured), the full available history is requested

API Behavior

  • Endpoint: POST https://{instance}-be.glean.com/rest/api/v1/insights
  • Authentication: Authorization: Bearer {api_token}
  • Request body: Contains overviewRequest key with a dayRange object specifying the time window
  • Response: The overviewResponse key maps to an object containing aggregated metrics and a lastUpdatedTs Unix timestamp (seconds since epoch UTC)
  • The input returns a single aggregated record (not a list of events) representing the overview metrics for the requested time window

Limitations

  • This input fetches aggregated insight data, not raw event logs — each sync produces one record
  • Glean does not publish specific rate limits for the Insights API; Monad uses default HTTP retry and rate limit behavior
  • Data availability depends on your Glean subscription and instance configuration
  • Per-user insights can be suppressed by setting disable_per_user_insight to true

Configuration

Settings

SettingTypeRequiredDescription
InstancestringYesYour Glean instance name (e.g., mycompany for mycompany-be.glean.com)
Backfill Start TimestringNoDate to start fetching data from. If not specified, a full sync is fetched on the first sync. All syncs thereafter will be incremental.
Disable per user InsightbooleanNoIf true, suppresses the generation of per-user insights in the response. Default is false.
Use Synthetic DatabooleanNoGenerate synthetic demo data instead of connecting to the real data source. Useful for testing pipelines without credentials.

Secrets

SecretTypeRequiredDescription
API TokenstringYesGlean Global Token with the INSIGHTS scope. Created in the Glean admin console under Platform > Client API Token Management.

Troubleshooting

Authentication Errors

If you receive 401 Unauthorized or similar authentication failures:

  1. Verify the API token is correct and has not expired
  2. Confirm the token was created with the INSIGHTS scope
  3. Ensure the token value was copied without leading or trailing whitespace
  4. Check that the token type is Global (not a user-scoped token)

Instance Name Errors

If you receive connection errors:

  1. Double-check your instance name — it should be the subdomain prefix only (e.g., mycompany, not mycompany-be.glean.com)
  2. Verify your Glean instance is accessible and the backend URL resolves

Sample Record

{
"monthlyActiveUsers": 8,
"weeklyActiveUsers": 6,
"departments": [
"Engineering",
"Sales",
"HR"
],
"employeeCount": 87,
"totalSignups": 42,
"searchSummary": {
"monthlyActiveUsers": 7,
"weeklyActiveUsers": 5,
"numSearches": 234,
"numSearchUsers": 48
},
"chatSummary": {
"monthlyActiveUsers": 6,
"weeklyActiveUsers": 4,
"numChats": 89,
"numChatUsers": 23
},
"extensionSummary": {
"monthlyActiveUsers": 5,
"weeklyActiveUsers": 3
},
"ugcSummary": {
"monthlyActiveUsers": 4,
"weeklyActiveUsers": 2
},
"lastUpdatedTs": 1708732800,
"searchSessionSatisfaction": 78,
"monthlyActiveUserTimeseries": {
"label": "Last month",
"countInfo": [
{
"count": 8,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"weeklyActiveUserTimeseries": {
"label": "Last week",
"countInfo": [
{
"count": 6,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"dailyActiveUserTimeseries": {
"label": "Last 7 days",
"countInfo": [
{
"count": 5,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"searchMonthlyActiveUserTimeseries": {
"label": "Last month",
"countInfo": [
{
"count": 7,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"searchWeeklyActiveUserTimeseries": {
"label": "Last week",
"countInfo": [
{
"count": 5,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"searchDailyActiveUserTimeseries": {
"label": "Last 7 days",
"countInfo": [
{
"count": 4,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"assistantMonthlyActiveUserTimeseries": {
"label": "Last month",
"countInfo": [
{
"count": 6,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"assistantWeeklyActiveUserTimeseries": {
"label": "Last week",
"countInfo": [
{
"count": 4,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"assistantDailyActiveUserTimeseries": {
"label": "Last 7 days",
"countInfo": [
{
"count": 3,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"agentsMonthlyActiveUserTimeseries": {
"label": "Last month",
"countInfo": [
{
"count": 4,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"agentsWeeklyActiveUserTimeseries": {
"label": "Last week",
"countInfo": [
{
"count": 2,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"agentsDailyActiveUserTimeseries": {
"label": "Last 7 days",
"countInfo": [
{
"count": 1,
"period": {
"start": {
"epochSeconds": 1708128000,
"daysFromNow": 7
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"searchesTimeseries": {
"label": "Search Timeseries",
"countInfo": [
{
"count": 234,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"assistantInteractionsTimeseries": {
"label": "Assistant Interaction Timeseries",
"countInfo": [
{
"count": 156,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"agentRunsTimeseries": {
"label": "Agents Run Timeseries",
"countInfo": [
{
"count": 67,
"period": {
"start": {
"epochSeconds": 1706054400,
"daysFromNow": 28
},
"end": {
"epochSeconds": 1708732800,
"daysFromNow": 0
}
},
"org": "demo"
}
]
},
"searchDatasourceCounts": {},
"chatDatasourceCounts": {},
"perUserInsights": [
{
"person": {
"name": "Charlie Brown",
"obfuscatedId": "7ba7b811-9dad-11d1-80b4-00c04fd430c9"
},
"numSearches": 45,
"numChats": 12,
"numActiveSessions": 23,
"numGleanbotUsefulResponses": 8,
"numDaysActive": 19,
"numSummarizations": 5,
"numAiAnswers": 7,
"numAgentRuns": 3
},
{
"person": {
"name": "Diana Prince",
"obfuscatedId": "8ca7b812-9dad-11d1-80b4-00c04fd430ca"
},
"numSearches": 67,
"numChats": 18,
"numActiveSessions": 31,
"numGleanbotUsefulResponses": 12,
"numDaysActive": 22,
"numSummarizations": 9,
"numAiAnswers": 11,
"numAgentRuns": 5
}
]
}