Enterprise Unified Search
Execute a search across all connected enterprise tools and return a merged, ranked, and deduplicated result set.
Search Execution Process
Step 1: Parse the Search Query
Extract structured parameters from the natural language query:
| Parameter |
Extraction Pattern |
Example |
| Keywords |
Core topic words |
"deployment process" |
| Source hint |
"in email", "on Slack", "in Jira" |
source:email |
| Person |
"from Alice", "by the backend team" |
from:alice@company.com |
| Date range |
"last week", "in March", "since Q1" |
since:2026-01-01 |
| Type |
"document", "thread", "ticket", "page" |
type:document |
| Project |
"in Project Alpha", "for the migration" |
project:alpha |
| Status |
"open tickets", "resolved", "draft" |
status:open |
Step 2: Execute Parallel Searches
Search all relevant sources simultaneously:
| Source |
Query Adaptation |
| Email |
Subject + body search; filter by sender, date, attachments |
| Chat |
Message search; filter by channel, sender, reactions |
| Documents |
Title + content search; filter by owner, type, folder |
| Wiki |
Page title + content; filter by space, labels, author |
| Tickets |
Summary + description + comments; filter by status, label |
| Calendar |
Event title + description; filter by date, attendees |
| Code |
File content + names + commit messages; filter by repo |
Step 3: Merge and Rank Results
Ranking factors by weight:
| Factor |
Weight |
Description |
| Text relevance |
35% |
How closely content matches the query |
| Recency |
25% |
More recent results rank higher |
| Engagement signals |
15% |
Views, reactions, comments, shares |
| Source authority |
15% |
Wiki > Docs > Email > Chat for factual queries |
| User affinity |
10% |
Content from user's team, frequented channels, owned docs |
Step 4: Deduplicate
Remove or merge duplicate results:
- Same link shared across email, chat, and tickets — show once, note all sources
- Document with multiple versions — show latest, note version count
- Forwarded emails — show original thread, note forwards
Output Format
# Search Results: "[query]"
Found [N] results across [N] sources ([time] elapsed)
Filters applied: [list any active filters]
## Top Results
### 1. [Title or Subject]
**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]
**Match**: [brief excerpt with **highlighted** query terms]
[Relevance: why this result ranked high]
### 2. [Title or Subject]
**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]
**Match**: [brief excerpt with **highlighted** query terms]
### 3. [Title or Subject]
**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]
**Match**: [brief excerpt with **highlighted** query terms]
[... up to 10 results ...]
## Results by Source
| Source | Results | Top Match |
|----------|---------|------------------------------------|
| Email | [N] | [title of best email result] |
| Chat | [N] | [title of best chat result] |
| Docs | [N] | [title of best doc result] |
| Wiki | [N] | [title of best wiki result] |
| Tickets | [N] | [title of best ticket result] |
## Suggested Refinements
- Add filter: [suggestion based on results, e.g., "from:engineering"]
- Narrow to: [specific source that had best results]
- Related searches: [alternative query suggestions]
Search Modifiers
Users can apply these modifiers to refine searches:
| Modifier |
Syntax |
Example |
| Exact phrase |
"phrase" |
"deployment pipeline" |
| Exclude term |
-term |
deployment -staging |
| Source filter |
--source NAME |
--source slack |
| Author filter |
--from NAME |
--from alice |
| Date filter |
--since DATE |
--since 2026-01-01 |
| Date range |
--since DATE --until DATE |
--since 2026-01-01 --until 2026-03-01 |
| Type filter |
--type TYPE |
--type document |
| Project filter |
--project NAME |
--project alpha |
| Sort order |
`--sort relevance |
date` |
| Result limit |
--limit N |
--limit 20 |
Source-Specific Search Tips
Email
- Search attachments by filename:
attachment:report.pdf
- Filter by thread length for substantive discussions:
replies:>3
- Look for decisions: combine with keywords like "approved", "decided", "go ahead"
Chat / Slack
- Search specific channels:
in:#channel-name
- Find shared links:
has:link
- Find files:
has:file
- Reactions as signals: messages with many reactions are often important
Documents
- Filter by document type: spreadsheet, presentation, document
- Search in shared drives or specific folders
- Recently modified documents often have the most current info
Wiki
- Search by space or category for scoped results
- Labels and tags are strong signals for relevance
- Parent page hierarchy indicates topic structure
Tickets
- Search by status: open, in-progress, resolved, closed
- Labels and components narrow results significantly
- Comments often contain the most useful context
Quality Standards
- Response time: Present initial results within 5 seconds; complete results within 15 seconds
- Minimum results: Always search at least 3 sources before reporting "no results"
- Context: Show enough context (50-100 chars around match) for users to evaluate relevance
- Freshness: Indicate index freshness if results may be stale
- Accuracy: Never fabricate results; only show actual matches from sources
Edge Cases
- Empty query: Ask the user what they are looking for; suggest recent activity or popular searches
- Very broad query (e.g., "project"): Ask for clarification or return results grouped by source with a suggestion to narrow
- No results: Report which sources were searched, suggest alternative terms, check for typos
- Single character or very short query: Require at least 2 meaningful characters; suggest expanding
- Special characters: Escape special characters in queries; warn if query syntax looks malformed
- Rate-limited source: Return available results and note which sources were partially searched
Follow-Up Actions
After presenting results, offer:
- "Want me to expand result #N with full content?"
- "Should I narrow these results by [suggested filter]?"
- "Want me to synthesize the top results into a summary?"
- "Should I search with different terms?"
Quality Checklist
1---2name: search3description: Search across all connected company tools in one unified query. Finds results from email, chat, documents, wikis, tickets, and other enterprise sources, then ranks and presents them in a single, actionable result set. TRIGGER when: user asks to search, find, look up, locate, or query for something across company tools, or asks "where is X", "find me X", "search for X", or uses a simple search query.4---56# Enterprise Unified Search78Execute a search across all connected enterprise tools and return a merged, ranked, and deduplicated result set.910## Search Execution Process1112### Step 1: Parse the Search Query1314Extract structured parameters from the natural language query:1516| Parameter | Extraction Pattern | Example |17|-------------|--------------------------------------------------|--------------------------------|18| Keywords | Core topic words | "deployment process" |19| Source hint | "in email", "on Slack", "in Jira" | source:email |20| Person | "from Alice", "by the backend team" | from:alice@company.com |21| Date range | "last week", "in March", "since Q1" | since:2026-01-01 |22| Type | "document", "thread", "ticket", "page" | type:document |23| Project | "in Project Alpha", "for the migration" | project:alpha |24| Status | "open tickets", "resolved", "draft" | status:open |2526### Step 2: Execute Parallel Searches2728Search all relevant sources simultaneously:2930| Source | Query Adaptation |31|-----------------|-----------------------------------------------------------|32| **Email** | Subject + body search; filter by sender, date, attachments|33| **Chat** | Message search; filter by channel, sender, reactions |34| **Documents** | Title + content search; filter by owner, type, folder |35| **Wiki** | Page title + content; filter by space, labels, author |36| **Tickets** | Summary + description + comments; filter by status, label |37| **Calendar** | Event title + description; filter by date, attendees |38| **Code** | File content + names + commit messages; filter by repo |3940### Step 3: Merge and Rank Results4142Ranking factors by weight:4344| Factor | Weight | Description |45|---------------------|--------|---------------------------------------------------------|46| Text relevance | 35% | How closely content matches the query |47| Recency | 25% | More recent results rank higher |48| Engagement signals | 15% | Views, reactions, comments, shares |49| Source authority | 15% | Wiki > Docs > Email > Chat for factual queries |50| User affinity | 10% | Content from user's team, frequented channels, owned docs|5152### Step 4: Deduplicate5354Remove or merge duplicate results:55- Same link shared across email, chat, and tickets — show once, note all sources56- Document with multiple versions — show latest, note version count57- Forwarded emails — show original thread, note forwards5859## Output Format6061```62# Search Results: "[query]"63Found [N] results across [N] sources ([time] elapsed)64Filters applied: [list any active filters]6566## Top Results6768### 1. [Title or Subject]69**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]70**Match**: [brief excerpt with **highlighted** query terms]71[Relevance: why this result ranked high]7273### 2. [Title or Subject]74**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]75**Match**: [brief excerpt with **highlighted** query terms]7677### 3. [Title or Subject]78**Source**: [Icon] [Source name] | **Date**: [date] | **By**: [author]79**Match**: [brief excerpt with **highlighted** query terms]8081[... up to 10 results ...]8283## Results by Source84| Source | Results | Top Match |85|----------|---------|------------------------------------|86| Email | [N] | [title of best email result] |87| Chat | [N] | [title of best chat result] |88| Docs | [N] | [title of best doc result] |89| Wiki | [N] | [title of best wiki result] |90| Tickets | [N] | [title of best ticket result] |9192## Suggested Refinements93- Add filter: [suggestion based on results, e.g., "from:engineering"]94- Narrow to: [specific source that had best results]95- Related searches: [alternative query suggestions]96```9798## Search Modifiers99100Users can apply these modifiers to refine searches:101102| Modifier | Syntax | Example |103|-------------------|-----------------------------|---------------------------------|104| Exact phrase | `"phrase"` | `"deployment pipeline"` |105| Exclude term | `-term` | `deployment -staging` |106| Source filter | `--source NAME` | `--source slack` |107| Author filter | `--from NAME` | `--from alice` |108| Date filter | `--since DATE` | `--since 2026-01-01` |109| Date range | `--since DATE --until DATE` | `--since 2026-01-01 --until 2026-03-01` |110| Type filter | `--type TYPE` | `--type document` |111| Project filter | `--project NAME` | `--project alpha` |112| Sort order | `--sort relevance|date` | `--sort date` |113| Result limit | `--limit N` | `--limit 20` |114115## Source-Specific Search Tips116117### Email118- Search attachments by filename: `attachment:report.pdf`119- Filter by thread length for substantive discussions: `replies:>3`120- Look for decisions: combine with keywords like "approved", "decided", "go ahead"121122### Chat / Slack123- Search specific channels: `in:#channel-name`124- Find shared links: `has:link`125- Find files: `has:file`126- Reactions as signals: messages with many reactions are often important127128### Documents129- Filter by document type: spreadsheet, presentation, document130- Search in shared drives or specific folders131- Recently modified documents often have the most current info132133### Wiki134- Search by space or category for scoped results135- Labels and tags are strong signals for relevance136- Parent page hierarchy indicates topic structure137138### Tickets139- Search by status: open, in-progress, resolved, closed140- Labels and components narrow results significantly141- Comments often contain the most useful context142143## Quality Standards144145- **Response time**: Present initial results within 5 seconds; complete results within 15 seconds146- **Minimum results**: Always search at least 3 sources before reporting "no results"147- **Context**: Show enough context (50-100 chars around match) for users to evaluate relevance148- **Freshness**: Indicate index freshness if results may be stale149- **Accuracy**: Never fabricate results; only show actual matches from sources150151## Edge Cases152153- **Empty query**: Ask the user what they are looking for; suggest recent activity or popular searches154- **Very broad query** (e.g., "project"): Ask for clarification or return results grouped by source with a suggestion to narrow155- **No results**: Report which sources were searched, suggest alternative terms, check for typos156- **Single character or very short query**: Require at least 2 meaningful characters; suggest expanding157- **Special characters**: Escape special characters in queries; warn if query syntax looks malformed158- **Rate-limited source**: Return available results and note which sources were partially searched159160## Follow-Up Actions161162After presenting results, offer:1631. "Want me to expand result #N with full content?"1642. "Should I narrow these results by [suggested filter]?"1653. "Want me to synthesize the top results into a summary?"1664. "Should I search with different terms?"167168## Quality Checklist169170- [ ] Output is specific and actionable, not generic171- [ ] All relevant inputs have been gathered before producing output172- [ ] Recommendations are prioritized by impact173- [ ] Stakeholders and audience are identified174- [ ] Output format matches the audience's needs175- [ ] Key assumptions are documented176- [ ] Follow-up actions have clear owners