Glean Incident Runbook
Overview
Incident response procedures for Glean enterprise search integration failures. Covers search degradation, connector sync failures, indexing backlogs, and permission sync drift. Glean aggregates knowledge across all company tools, so incidents impact employee productivity across the entire organization. When search breaks or returns stale results, teams lose access to critical institutional knowledge. Classify severity immediately and follow the matching playbook below.
Severity Levels
| Level |
Definition |
Response Time |
Example |
| P1 - Critical |
Search fully down or returning zero results |
15 min |
All queries return empty, API 5xx errors |
| P2 - High |
Connector sync failed, content going stale |
30 min |
Google Drive connector last synced 24h ago |
| P3 - Medium |
Indexing backlog or partial result degradation |
2 hours |
New documents not appearing for 4+ hours |
| P4 - Low |
Permission sync drift or single datasource issue |
8 hours |
One user sees docs they shouldn't access |
Diagnostic Steps
# Test search API health
curl -s -o /dev/null -w "HTTP %{http_code}\n" \
-H "Authorization: Bearer $GLEAN_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST https://your-domain.glean.com/api/v1/search \
-d '{"query": "test", "pageSize": 1}'
# Check datasource connector status
curl -s -H "Authorization: Bearer $GLEAN_API_TOKEN" \
https://your-domain.glean.com/api/v1/getdatasourceconfig \
-d '{"datasource": "DATASOURCE_NAME"}' | jq '.status'
# Verify indexing queue depth
curl -s -H "Authorization: Bearer $GLEAN_API_TOKEN" \
https://your-domain.glean.com/api/index/v1/getstatus | jq '.statistics'
Incident Playbooks
API Outage
- Confirm outage with diagnostic curl above and check Glean status page
- Verify your Glean instance URL resolves and TLS cert is valid
- Test from multiple networks to rule out local DNS or firewall issues
- Notify users that search is temporarily unavailable
- Contact Glean support with instance name, timestamps, and error codes
Authentication Failure
- Verify API token is set:
echo $GLEAN_API_TOKEN | wc -c
- Check token expiry — Glean tokens may have a TTL configured by your admin
- Test with a minimal search request (see diagnostics above)
- If 401: regenerate token in Glean admin console under API settings
- If 403: verify token scopes include search and indexing permissions
Data Sync Failure
- Identify which connector failed via
getdatasourceconfig for each source
- Check connector credentials — OAuth tokens for Google/Slack/Confluence may have expired
- Review connector error logs in Glean admin under Datasource Management
- Re-authorize the connector if credentials expired
- Trigger a manual re-crawl for the affected datasource
- Monitor indexing status until backlog clears
Communication Template
**Incident**: Glean Search [Outage/Degradation]
**Status**: [Investigating/Identified/Mitigating/Resolved]
**Started**: YYYY-MM-DD HH:MM UTC
**Impact**: [Search unavailable / results stale since HH:MM / N datasources not syncing]
**Current action**: [Connector re-auth in progress / Glean support engaged / manual re-crawl running]
**Next update**: HH:MM UTC
Post-Incident
Error Handling
| Incident Type |
Detection |
Resolution |
| Search degradation |
Empty results or low relevance scores |
Check API health, verify index freshness |
| Connector sync failure |
Stale content, getdatasourceconfig shows error |
Re-authorize connector, trigger manual crawl |
| Indexing backlog |
New docs not searchable after 4+ hours |
Monitor queue depth, contact Glean if persistent |
| Permission sync drift |
Users see restricted docs or miss accessible ones |
Audit datasource permissions, trigger permission re-sync |
Prerequisites
- An incident owner, an approved support path, and a synthetic probe query that reveals no customer or employee content.
- Read-only diagnostic credentials scoped to the affected staging or production datasource; never paste tokens, queries, document titles, or result snippets into incident chat.
- A known-good baseline for connector freshness, permission-sync age, and the change window that preceded the incident.
Instructions
- Open a timestamped incident record and classify impact using the severity table; preserve only error codes and aggregate counts.
- Run the synthetic health probe, then isolate the failing boundary: identity, search endpoint, source connector, index backlog, or ACL synchronization.
- Freeze nonessential connector configuration changes while the owner compares the affected source's ACL watermark with the source system.
- Apply the smallest reversible remediation (for example, reauthorize one connector or queue a scoped resync), observe the synthetic probe and freshness metrics, and stop if access expands unexpectedly.
- Close only after a second, least-privilege test identity receives the expected allow and deny outcomes. Record the rollback used or explicitly record that no change was made.
Output
Produce an incident receipt containing the severity, UTC start and resolution times, affected datasource identifiers, redacted error codes, remediation and rollback decision, and the two synthetic authorization outcomes. Keep raw search results, user identifiers, and document content out of the receipt.
Examples
For a stale staging-handbook connector, record: P2; source=staging-handbook; sync_age=6h; action=scoped_reauthorize; probe=healthy; allow_test=pass; deny_test=pass. This proves recovery without exposing a real query or document.
Resources
Next Steps
See glean-observability for monitoring setup and connector health dashboards.
1---2name: glean-incident-runbook3description: Triage: Is search returning results? Check Glean status page. Trigger: "glean incident runbook", "incident-runbook".4license: MIT5---6# Glean Incident Runbook
7
8## Overview
9
10Incident response procedures for Glean enterprise search integration failures. Covers search degradation, connector sync failures, indexing backlogs, and permission sync drift. Glean aggregates knowledge across all company tools, so incidents impact employee productivity across the entire organization. When search breaks or returns stale results, teams lose access to critical institutional knowledge. Classify severity immediately and follow the matching playbook below.
11
12## Severity Levels
13
14| Level | Definition | Response Time | Example |
15|-------|-----------|---------------|---------|
16| P1 - Critical | Search fully down or returning zero results | 15 min | All queries return empty, API 5xx errors |
17| P2 - High | Connector sync failed, content going stale | 30 min | Google Drive connector last synced 24h ago |
18| P3 - Medium | Indexing backlog or partial result degradation | 2 hours | New documents not appearing for 4+ hours |
19| P4 - Low | Permission sync drift or single datasource issue | 8 hours | One user sees docs they shouldn't access |
20
21## Diagnostic Steps
22
23```bash
24# Test search API health
25curl -s -o /dev/null -w "HTTP %{http_code}\n" \
26 -H "Authorization: Bearer $GLEAN_API_TOKEN" \
27 -H "Content-Type: application/json" \
28 -X POST https://your-domain.glean.com/api/v1/search \
29 -d '{"query": "test", "pageSize": 1}'
30
31# Check datasource connector status
32curl -s -H "Authorization: Bearer $GLEAN_API_TOKEN" \
33 https://your-domain.glean.com/api/v1/getdatasourceconfig \
34 -d '{"datasource": "DATASOURCE_NAME"}' | jq '.status'
35
36# Verify indexing queue depth
37curl -s -H "Authorization: Bearer $GLEAN_API_TOKEN" \
38 https://your-domain.glean.com/api/index/v1/getstatus | jq '.statistics'
39```
40
41## Incident Playbooks
42
43### API Outage
44
451. Confirm outage with diagnostic curl above and check Glean status page
462. Verify your Glean instance URL resolves and TLS cert is valid
473. Test from multiple networks to rule out local DNS or firewall issues
484. Notify users that search is temporarily unavailable
495. Contact Glean support with instance name, timestamps, and error codes
50
51### Authentication Failure
52
531. Verify API token is set: `echo $GLEAN_API_TOKEN | wc -c`
542. Check token expiry — Glean tokens may have a TTL configured by your admin
553. Test with a minimal search request (see diagnostics above)
564. If 401: regenerate token in Glean admin console under API settings
575. If 403: verify token scopes include search and indexing permissions
58
59### Data Sync Failure
60
611. Identify which connector failed via `getdatasourceconfig` for each source
622. Check connector credentials — OAuth tokens for Google/Slack/Confluence may have expired
633. Review connector error logs in Glean admin under Datasource Management
644. Re-authorize the connector if credentials expired
655. Trigger a manual re-crawl for the affected datasource
666. Monitor indexing status until backlog clears
67
68## Communication Template
69
70```markdown
71**Incident**: Glean Search [Outage/Degradation]
72**Status**: [Investigating/Identified/Mitigating/Resolved]
73**Started**: YYYY-MM-DD HH:MM UTC
74**Impact**: [Search unavailable / results stale since HH:MM / N datasources not syncing]
75**Current action**: [Connector re-auth in progress / Glean support engaged / manual re-crawl running]
76**Next update**: HH:MM UTC
77```
78
79## Post-Incident
80
81- [ ] Document timeline from detection to resolution
82- [ ] Identify root cause (connector auth expiry / Glean platform issue / indexing bottleneck)
83- [ ] Audit all connector credentials for upcoming expirations
84- [ ] Verify permission sync is accurate post-recovery
85- [ ] Add alerting for connector sync age thresholds
86- [ ] Schedule review of datasource health dashboard weekly
87
88## Error Handling
89
90| Incident Type | Detection | Resolution |
91|--------------|-----------|------------|
92| Search degradation | Empty results or low relevance scores | Check API health, verify index freshness |
93| Connector sync failure | Stale content, `getdatasourceconfig` shows error | Re-authorize connector, trigger manual crawl |
94| Indexing backlog | New docs not searchable after 4+ hours | Monitor queue depth, contact Glean if persistent |
95| Permission sync drift | Users see restricted docs or miss accessible ones | Audit datasource permissions, trigger permission re-sync |
96
97## Prerequisites
98
99- An incident owner, an approved support path, and a synthetic probe query that reveals no customer or employee content.
100- Read-only diagnostic credentials scoped to the affected staging or production datasource; never paste tokens, queries, document titles, or result snippets into incident chat.
101- A known-good baseline for connector freshness, permission-sync age, and the change window that preceded the incident.
102
103## Instructions
104
1051. Open a timestamped incident record and classify impact using the severity table; preserve only error codes and aggregate counts.
1062. Run the synthetic health probe, then isolate the failing boundary: identity, search endpoint, source connector, index backlog, or ACL synchronization.
1073. Freeze nonessential connector configuration changes while the owner compares the affected source's ACL watermark with the source system.
1084. Apply the smallest reversible remediation (for example, reauthorize one connector or queue a scoped resync), observe the synthetic probe and freshness metrics, and stop if access expands unexpectedly.
1095. Close only after a second, least-privilege test identity receives the expected allow and deny outcomes. Record the rollback used or explicitly record that no change was made.
110
111## Output
112
113Produce an incident receipt containing the severity, UTC start and resolution times, affected datasource identifiers, redacted error codes, remediation and rollback decision, and the two synthetic authorization outcomes. Keep raw search results, user identifiers, and document content out of the receipt.
114
115## Examples
116
117For a stale `staging-handbook` connector, record: `P2; source=staging-handbook; sync_age=6h; action=scoped_reauthorize; probe=healthy; allow_test=pass; deny_test=pass`. This proves recovery without exposing a real query or document.
118
119## Resources
120
121- [Glean Developer Portal](https://developers.glean.com/)
122- [Indexing API](https://developers.glean.com/api-info/indexing/getting-started/overview)
123- [Search API](https://developers.glean.com/api/client-api/search/overview)
124
125## Next Steps
126
127See `glean-observability` for monitoring setup and connector health dashboards.