-
Notifications
You must be signed in to change notification settings - Fork 0
Description
ℹ This was originally a Pull Request (not recreated)
Original PR: simstudioai/sim#3079
Opened by: +EwanTauran
Created at: 2026-01-30 12:54:27 UTC
Base branch:main→ Head branch:feat/block/airweave-integration
Summary
Adds Airweave integration to Sim, enabling agents to search across 30+ connected data sources including Stripe, GitHub, Notion, Slack, HubSpot, Zendesk, and more through a unified semantic search API.
Airweave makes any app searchable by syncing data from various sources with minimal configuration. This integration allows Sim workflows to query internal company data, customer information, and business metrics from all connected sources in a single search.
What is Airweave?
Airweave is an open-source platform that provides unified search across multiple business applications. It:
- Connects to 30+ data sources: Stripe, GitHub, Notion, Slack, HubSpot, Zendesk, Linear, Jira, and more
- Syncs data automatically: Keeps internal knowledge up-to-date with incremental updates
- Semantic & keyword search: Uses vector embeddings for intelligent search with multiple retrieval strategies
- Multi-tenant architecture: Supports OAuth2 and API key authentication
- AI-powered answers: Can generate natural language answers from search results
Why This Integration Matters
Currently, Sim workflows that need to access company data require:
- Multiple tool blocks (one per data source)
- Complex workflow logic to aggregate results
- Separate API keys and configurations for each service
With Airweave, agents can:
- Search across all data sources with a single query
- Choose retrieval strategies (hybrid, neural, or keyword) for optimal results
- Get AI-generated summaries with the "Generate Answer" feature
- Improve relevance with LLM-powered reranking
Type of Change
- Bug fix
- New feature
- Breaking change
- Documentation
- Other: ___________
Implementation Details
Files Added
Tools (tools/airweave/):
| File | Description |
|---|---|
types.ts |
TypeScript type definitions for Airweave API |
search.ts |
Search tool implementation with ToolConfig |
index.ts |
Barrel exports |
Block:
| File | Description |
|---|---|
blocks/blocks/airweave.ts |
Block configuration with UI elements |
Files Modified
| File | Change |
|---|---|
components/icons.tsx |
Added AirweaveIcon |
tools/registry.ts |
Registered airweave_search tool |
blocks/registry.ts |
Registered airweave block |
Documentation Generated
| File | Description |
|---|---|
apps/docs/content/docs/en/tools/airweave.mdx |
Auto-generated tool documentation |
apps/docs/components/icons.tsx |
Added AirweaveIcon to docs |
apps/docs/components/ui/icon-mapping.ts |
Added icon mapping |
apps/docs/content/docs/en/tools/meta.json |
Added to tools list |
Tool Configuration
| Property | Value |
|---|---|
| Tool ID | airweave_search |
| Block Type | airweave |
| Category | Tools |
| Authentication | API Key |
Parameters
| Parameter | Type | Required | Visibility | Description |
|---|---|---|---|---|
collectionId |
string | Yes | user-or-llm | The Airweave collection readable ID to search |
query |
string | Yes | user-or-llm | Search query text |
apiKey |
string | Yes | user-only | Airweave API key |
limit |
number | No | user-only | Maximum results (10, 25, 50, or 100) |
retrievalStrategy |
string | No | user-only | Search strategy: hybrid, neural, or keyword |
expandQuery |
boolean | No | user-only | Generate query variations to improve recall |
rerank |
boolean | No | user-only | Reorder results using LLM for better relevance |
generateAnswer |
boolean | No | user-only | Generate AI-powered answer from results |
Outputs
| Output | Type | Description |
|---|---|---|
results |
array | Search results with entity_id, source_name, md_content, score, metadata, breadcrumbs, url |
completion |
string | AI-generated answer (when generateAnswer is enabled) |
Block Features
- Visual Design: Indigo background (
#6366F1) with Airweave logo - Retrieval Strategies: Dropdown to choose hybrid, neural, or keyword search
- Query Expansion: Toggle to generate query variations for better recall
- LLM Reranking: Toggle to reorder results by relevance
- AI Answers: Toggle to generate natural language answers from results
- Error Handling: Clear feedback for API errors and empty results
Usage Examples
As Standalone Block
Search for customer feedback across all connected platforms:
blocks:
- id: airweave1
type: airweave
params:
collectionId: "customer-data"
query: "complaints about billing in the last week"
retrievalStrategy: "hybrid"
limit: 25
rerank: true
apiKey: <env.AIRWEAVE_API_KEY>As Agent Tool with AI Answers
Enable agents to get summarized answers from company knowledge:
blocks:
- id: agent1
type: agent
params:
model: "openai/gpt-4o"
systemPrompt: "You are a customer support agent with access to all company data."
tools:
- type: airweave
params:
collectionId: "company-knowledge"
generateAnswer: true
apiKey: <env.AIRWEAVE_API_KEY>Setup Requirements
- Create Airweave account at https://app.airweave.ai
- Get API key from Airweave dashboard
- Create collection and connect data sources (Stripe, Slack, Notion, etc.)
- Copy collection readable ID from Airweave
- Use in Sim with the Airweave block or as an agent tool
Testing
- Tool and block configuration verified against Airweave API documentation
- Generated tool documentation using
generate-docsscript - Block appears in toolbar under "tools" category
- Zero linter errors
- Follows SimStudio naming conventions
Reviewers should verify:
- Tool parameters match Airweave API contract
- Block UI renders correctly with all subBlocks
- Airweave block works and is query-able
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)
Related Resources
Breaking Changes
None - this is a new integration with no impact on existing functionality.