Multi-Platform Communication Aggregation NEW
Problem
Users communicate across multiple platforms (email, Slack, iMessage, etc.) and need to search for information that might exist in any of them. Searching each platform manually is slow and error-prone. An agent tasked with "find what X said about Y" must know which platform to check—or check all of them.
Solution
Create a unified search interface that queries all communication platforms in parallel and aggregates results into a single, consistent format.
graph TD
A["User Query: find messages about project deadline"] --> B[Aggregator Agent]
B --> C[iMessage Search]
B --> D[Slack Search]
B --> E[Email Search]
B --> F[Other Platforms...]
C --> G[Result Collector]
D --> G
E --> G
F --> G
G --> H[Unified Results Table]
Key components:
- Platform Adapters: Each platform has a CLI/API wrapper with consistent interface
- Parallel Dispatcher: Spawns searches concurrently (sub-agent pattern or background jobs)
- Result Normalizer: Converts platform-specific formats to unified schema
- Aggregator: Combines, deduplicates, and ranks results
# Example: Unified search skill implementation
search_all() {
query="$1"
# Spawn parallel searches
messages search "$query" > /tmp/messages.json &
slack-messages search "$query" > /tmp/slack.json &
fastmail.sh search "$query" > /tmp/fastmail.json &
gmail.sh search "$query" > /tmp/gmail.json &
wait # All complete
# Aggregate and normalize
aggregate_results /tmp/*.json
}
How to use it
When to apply:
- User asks "where did someone mention X"
- User needs to find a conversation but doesn't remember the platform
- Cross-platform audit or compliance searches
- Building unified inbox or communication hub features
Implementation steps:
- Create CLI wrappers for each platform with consistent output format (JSON)
- Define a common schema:
{platform, sender, timestamp, content, url} - Build parallel dispatch mechanism (bash background jobs, sub-agents, or async)
- Implement result ranking (by recency, relevance, or platform priority)
- Present in unified table format with platform badges
Skill definition example:
## Unified Communication Search
**Proactive triggers:** "search everywhere", "find across all", "where did someone say"
Searches in parallel:
- Apple Messages
- Slack
- Fastmail
- Gmail
Results presented in unified table, grouped by platform.
Trade-offs
Pros:
- Single query searches all platforms—no context switching
- Parallel execution minimizes latency (total time ≈ slowest platform)
- Unified format makes comparison and filtering easy
- Extensible: add new platforms without changing interface
- Reduces "which platform was that on?" friction
Cons:
- Requires maintaining adapters for each platform
- Rate limits may apply across platforms simultaneously
- Result ranking across platforms is subjective (is a Slack message more relevant than an email?)
- Privacy/security: aggregating data across platforms increases exposure
- Some platforms have poor search APIs (result quality varies)
References
- Sub-Agent Spawning pattern for parallel execution
- LLM Map-Reduce pattern for result aggregation
- Claude Code
/search-allskill implementation