Skip to content

[PR] feat(airweave): add airweave block #92

@Sebmono

Description

@Sebmono

ℹ 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: mainHead 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

  1. Create Airweave account at https://app.airweave.ai
  2. Get API key from Airweave dashboard
  3. Create collection and connect data sources (Stripe, Slack, Notion, etc.)
  4. Copy collection readable ID from Airweave
  5. 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-docs script
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions