Search Source Management
Add, configure, monitor, and troubleshoot enterprise search source connectors and indexing pipelines.
Source Management Operations
List Connected Sources
Display all currently configured sources with their status:
# Connected Search Sources
| # | Source Name | Type | Status | Last Sync | Items Indexed | Health |
|----|-------------------|----------|---------|--------------------|---------------|--------|
| 1 | [Name] | [Type] | Active | [timestamp] | [count] | Good |
| 2 | [Name] | [Type] | Active | [timestamp] | [count] | Warn |
| 3 | [Name] | [Type] | Paused | [timestamp] | [count] | — |
| 4 | [Name] | [Type] | Error | [timestamp] | [count] | Error |
Legend: Good = syncing normally | Warn = degraded performance | Error = sync failing
Add a New Source
Guided process for connecting a new data source:
Step 1: Identify the Source Type
| Source Type |
Supported Platforms |
Auth Method |
| Email |
Gmail, Outlook/Exchange, Yahoo |
OAuth 2.0 |
| Chat |
Slack, Microsoft Teams, Discord |
OAuth 2.0 / Bot Token |
| Documents |
Google Drive, SharePoint, Dropbox, Box |
OAuth 2.0 |
| Wiki |
Confluence, Notion, GitBook, MediaWiki |
API Key / OAuth |
| Tickets |
Jira, Linear, Asana, GitHub Issues, ServiceNow |
API Key / OAuth |
| Code |
GitHub, GitLab, Bitbucket |
OAuth / PAT |
| Calendar |
Google Calendar, Outlook Calendar |
OAuth 2.0 |
| CRM |
Salesforce, HubSpot |
OAuth 2.0 |
| Custom |
REST API, GraphQL, Database |
API Key / Custom |
Step 2: Configure Connection
Required configuration for each source:
Source Configuration:
name: [human-readable name for this connection]
type: [source type from table above]
platform: [specific platform, e.g., "slack"]
auth_method: [OAuth, API Key, PAT, etc.]
credentials: [securely stored reference — never display in plain text]
base_url: [API endpoint if custom]
Indexing Configuration:
sync_frequency: [realtime | 5min | 15min | 1hour | 6hours | daily]
scope: [what to index — channels, folders, spaces, projects]
content_types: [messages, files, pages, comments, attachments]
date_range: [how far back to index — 30d | 90d | 1y | all]
max_items: [optional cap on indexed items]
Access Configuration:
respect_source_permissions: [true/false — recommended: true]
allowed_users: [user list or "all"]
allowed_groups: [group list or "all"]
Step 3: Set Indexing Scope
Define what content gets indexed:
| Scope Setting |
Options |
Default |
| Channels/Folders |
All, specific list, exclude list |
All accessible |
| Content depth |
Titles only, titles + body, full + attachments |
Titles + body |
| File types |
All, documents only, exclude binary |
Documents only |
| History depth |
Last 30/90/365 days, all time |
Last 90 days |
| Update tracking |
New only, new + modified, all changes |
New + modified |
Step 4: Test Connection
Run a connection test before activating:
Connection Test Results: [Source Name]
Authentication: [PASS/FAIL] — [details]
API Access: [PASS/FAIL] — [details]
Permissions: [PASS/FAIL] — [details]
Sample Query: [PASS/FAIL] — returned [N] results
Index Write: [PASS/FAIL] — [details]
Overall: [READY / NOT READY]
[If NOT READY: specific remediation steps]
Remove a Source
Checklist before removal:
Source Health Monitoring
Health Check Dashboard
# Source Health Report — [Date]
## Summary
Total sources: [N] | Healthy: [N] | Degraded: [N] | Failed: [N]
## Detailed Status
### [Source Name] — [Status Emoji] [Healthy/Degraded/Failed]
Last successful sync: [timestamp]
Sync frequency: [configured frequency]
Items indexed: [total] ([+N new] since last sync)
Average sync time: [duration]
Error rate: [percentage over last 24h]
Quota usage: [X/Y API calls used]
Recent issues:
- [timestamp] [issue description]
Common Health Issues and Remediation
| Issue |
Symptoms |
Resolution |
| Authentication expired |
401 errors, sync failing |
Re-authenticate with OAuth flow |
| Rate limit exceeded |
429 errors, partial syncs |
Reduce sync frequency or scope |
| Permission revoked |
403 errors on specific content |
Re-grant access in source platform |
| API endpoint changed |
Connection errors |
Update base_url configuration |
| Source unavailable |
Timeout errors |
Check source platform status; retry later |
| Index corruption |
Missing or duplicate results |
Trigger a full re-index |
| Quota exhausted |
Sync stops mid-way |
Wait for quota reset or upgrade plan |
| Schema change in source |
Parse errors on new content |
Update connector mapping configuration |
Configure Indexing Settings
Modify settings for an existing source:
# Indexing Configuration: [Source Name]
Current Settings → Proposed Changes:
sync_frequency: 1hour → [new value]
scope: #general,#engineering → [new value]
content_types: messages,files → [new value]
date_range: 90d → [new value]
Impact Assessment:
Estimated index size change: [+/- N items]
Estimated sync time change: [+/- duration]
API quota impact: [+/- N calls per day]
Proceed? [Confirm required]
Security and Compliance
Permission Model
| Setting |
Description |
Recommended |
| Respect source permissions |
Only show results user has access to in source |
Always on |
| Audit logging |
Log all search queries and results accessed |
Always on |
| Data retention |
How long indexed data is kept |
Match source |
| Encryption at rest |
Encrypt stored index data |
Always on |
| PII detection |
Flag or exclude personally identifiable info |
On |
| Credential rotation |
How often to rotate API keys/tokens |
90 days |
Compliance Checklist
Edge Cases
- Duplicate sources: Warn if a source of the same type and scope is already connected
- Overlapping scope: If two connectors index the same content, flag potential duplicates
- Large initial sync: For sources with extensive history, recommend starting with a short date range and expanding
- Source deprecation: If a platform announces API deprecation, alert the user proactively
- Partial permissions: If the connector has access to only some channels/folders, clearly document what is and is not indexed
- Free tier limits: Track API quotas and warn before reaching limits
Follow-Up Actions
After any source management operation, offer:
- "Want me to run a test search to verify the source is working?"
- "Should I check the health of all other connected sources?"
- "Want me to update your digest configuration to include this source?"
- "Should I trigger an initial sync now or wait for the scheduled time?"
1---2name: source-management3description: Manage and configure search sources, connectors, and indexing settings for the enterprise search system. Add, remove, test, and monitor data source connections. Control what gets indexed, how often, and with what permissions. View connector health and troubleshoot sync issues. TRIGGER when: user asks to add a source, connect a tool, configure indexing, check connector status, manage search sources, troubleshoot sync issues, or asks "what sources are connected".4---56# Search Source Management78Add, configure, monitor, and troubleshoot enterprise search source connectors and indexing pipelines.910## Source Management Operations1112### List Connected Sources1314Display all currently configured sources with their status:1516```17# Connected Search Sources1819| # | Source Name | Type | Status | Last Sync | Items Indexed | Health |20|----|-------------------|----------|---------|--------------------|---------------|--------|21| 1 | [Name] | [Type] | Active | [timestamp] | [count] | Good |22| 2 | [Name] | [Type] | Active | [timestamp] | [count] | Warn |23| 3 | [Name] | [Type] | Paused | [timestamp] | [count] | — |24| 4 | [Name] | [Type] | Error | [timestamp] | [count] | Error |2526Legend: Good = syncing normally | Warn = degraded performance | Error = sync failing27```2829### Add a New Source3031Guided process for connecting a new data source:3233#### Step 1: Identify the Source Type3435| Source Type | Supported Platforms | Auth Method |36|-------------------|--------------------------------------------------|---------------------|37| Email | Gmail, Outlook/Exchange, Yahoo | OAuth 2.0 |38| Chat | Slack, Microsoft Teams, Discord | OAuth 2.0 / Bot Token|39| Documents | Google Drive, SharePoint, Dropbox, Box | OAuth 2.0 |40| Wiki | Confluence, Notion, GitBook, MediaWiki | API Key / OAuth |41| Tickets | Jira, Linear, Asana, GitHub Issues, ServiceNow | API Key / OAuth |42| Code | GitHub, GitLab, Bitbucket | OAuth / PAT |43| Calendar | Google Calendar, Outlook Calendar | OAuth 2.0 |44| CRM | Salesforce, HubSpot | OAuth 2.0 |45| Custom | REST API, GraphQL, Database | API Key / Custom |4647#### Step 2: Configure Connection4849Required configuration for each source:5051```52Source Configuration:53 name: [human-readable name for this connection]54 type: [source type from table above]55 platform: [specific platform, e.g., "slack"]56 auth_method: [OAuth, API Key, PAT, etc.]57 credentials: [securely stored reference — never display in plain text]58 base_url: [API endpoint if custom]59 60Indexing Configuration:61 sync_frequency: [realtime | 5min | 15min | 1hour | 6hours | daily]62 scope: [what to index — channels, folders, spaces, projects]63 content_types: [messages, files, pages, comments, attachments]64 date_range: [how far back to index — 30d | 90d | 1y | all]65 max_items: [optional cap on indexed items]6667Access Configuration:68 respect_source_permissions: [true/false — recommended: true]69 allowed_users: [user list or "all"]70 allowed_groups: [group list or "all"]71```7273#### Step 3: Set Indexing Scope7475Define what content gets indexed:7677| Scope Setting | Options | Default |78|-------------------|------------------------------------------------|----------------------|79| Channels/Folders | All, specific list, exclude list | All accessible |80| Content depth | Titles only, titles + body, full + attachments | Titles + body |81| File types | All, documents only, exclude binary | Documents only |82| History depth | Last 30/90/365 days, all time | Last 90 days |83| Update tracking | New only, new + modified, all changes | New + modified |8485#### Step 4: Test Connection8687Run a connection test before activating:8889```90Connection Test Results: [Source Name]91 Authentication: [PASS/FAIL] — [details]92 API Access: [PASS/FAIL] — [details]93 Permissions: [PASS/FAIL] — [details]94 Sample Query: [PASS/FAIL] — returned [N] results95 Index Write: [PASS/FAIL] — [details]96 97 Overall: [READY / NOT READY]98 [If NOT READY: specific remediation steps]99```100101### Remove a Source102103Checklist before removal:104- [ ] Confirm the source name with the user105- [ ] Warn about data that will be removed from the index106- [ ] Check if any saved searches or digests depend on this source107- [ ] Offer to export indexed metadata before removal108- [ ] Remove index data after confirmation109- [ ] Update any dependent configurations (digests, alerts, saved searches)110111### Source Health Monitoring112113#### Health Check Dashboard114115```116# Source Health Report — [Date]117118## Summary119Total sources: [N] | Healthy: [N] | Degraded: [N] | Failed: [N]120121## Detailed Status122123### [Source Name] — [Status Emoji] [Healthy/Degraded/Failed]124 Last successful sync: [timestamp]125 Sync frequency: [configured frequency]126 Items indexed: [total] ([+N new] since last sync)127 Average sync time: [duration]128 Error rate: [percentage over last 24h]129 Quota usage: [X/Y API calls used]130 131 Recent issues:132 - [timestamp] [issue description]133```134135#### Common Health Issues and Remediation136137| Issue | Symptoms | Resolution |138|------------------------------|---------------------------------|-------------------------------------------|139| Authentication expired | 401 errors, sync failing | Re-authenticate with OAuth flow |140| Rate limit exceeded | 429 errors, partial syncs | Reduce sync frequency or scope |141| Permission revoked | 403 errors on specific content | Re-grant access in source platform |142| API endpoint changed | Connection errors | Update base_url configuration |143| Source unavailable | Timeout errors | Check source platform status; retry later |144| Index corruption | Missing or duplicate results | Trigger a full re-index |145| Quota exhausted | Sync stops mid-way | Wait for quota reset or upgrade plan |146| Schema change in source | Parse errors on new content | Update connector mapping configuration |147148### Configure Indexing Settings149150Modify settings for an existing source:151152```153# Indexing Configuration: [Source Name]154155Current Settings → Proposed Changes:156 sync_frequency: 1hour → [new value]157 scope: #general,#engineering → [new value]158 content_types: messages,files → [new value]159 date_range: 90d → [new value]160161Impact Assessment:162 Estimated index size change: [+/- N items]163 Estimated sync time change: [+/- duration]164 API quota impact: [+/- N calls per day]165166Proceed? [Confirm required]167```168169## Security and Compliance170171### Permission Model172173| Setting | Description | Recommended |174|---------------------------------|------------------------------------------------|-------------|175| Respect source permissions | Only show results user has access to in source | Always on |176| Audit logging | Log all search queries and results accessed | Always on |177| Data retention | How long indexed data is kept | Match source|178| Encryption at rest | Encrypt stored index data | Always on |179| PII detection | Flag or exclude personally identifiable info | On |180| Credential rotation | How often to rotate API keys/tokens | 90 days |181182### Compliance Checklist183184- [ ] All sources configured with least-privilege access185- [ ] Source permissions are respected in search results186- [ ] Audit logging is enabled for all queries187- [ ] Sensitive content patterns are configured for detection188- [ ] Data retention policies align with company policy189- [ ] Credentials are stored in a secure vault, never in plain text190- [ ] Regular access reviews are scheduled191192## Edge Cases193194- **Duplicate sources**: Warn if a source of the same type and scope is already connected195- **Overlapping scope**: If two connectors index the same content, flag potential duplicates196- **Large initial sync**: For sources with extensive history, recommend starting with a short date range and expanding197- **Source deprecation**: If a platform announces API deprecation, alert the user proactively198- **Partial permissions**: If the connector has access to only some channels/folders, clearly document what is and is not indexed199- **Free tier limits**: Track API quotas and warn before reaching limits200201## Follow-Up Actions202203After any source management operation, offer:2041. "Want me to run a test search to verify the source is working?"2052. "Should I check the health of all other connected sources?"2063. "Want me to update your digest configuration to include this source?"2074. "Should I trigger an initial sync now or wait for the scheduled time?"