Airweave

Unified search across 35+ data sources with semantic search

Diagram

Input

Agent

Tool

Output

Airweave Search Tool

Airweave is an open-source platform that makes any app searchable for your agent. Sync and search across 35+ data sources (Notion, Slack, Google Drive, databases, and more) with semantic search.

Installation

bash
npm install @airweave/ai-sdk

Environment Variables

bash
AIRWEAVE_API_KEY=your-airweave-api-key

Supported Data Sources

  • Productivity: Notion, Slack, Google Drive, Dropbox
  • Databases: PostgreSQL, MySQL, MongoDB
  • Code: GitHub, GitLab
  • Documents: Confluence, SharePoint
  • CRM: Salesforce, HubSpot
  • And 25+ more…

Quick Start

  1. Simple Usage
    typescript
    import { Agent } from 'praisonai';
    import { airweaveSearch } from 'praisonai/tools';
    
    const agent = new Agent({
      name: 'DataSearcher',
      instructions: 'Search across connected data sources.',
      tools: [airweaveSearch()],
    });
    
    const result = await agent.run('Find documents about Q4 planning');
    console.log(result.text);
  2. With Configuration

    Adjust agent instructions, tool options, and provider settings for production — see the Configuration section below.

Configuration Options

typescript
import { airweaveSearch } from 'praisonai/tools';

const searchTool = airweaveSearch({
  // Filter by data source
  sources: ['notion', 'slack', 'google-drive'],

  // Number of results
  numResults: 10,

  // Semantic search threshold
  threshold: 0.7,
});

Advanced Example

typescript
import { Agent } from 'praisonai';
import { airweaveSearch } from 'praisonai/tools';

const agent = new Agent({
  name: 'KnowledgeAssistant',
  instructions: `You help find information across company data sources.
    Search Notion for documentation, Slack for discussions, 
    and Google Drive for files.`,
  tools: [
    airweaveSearch({
      sources: ['notion', 'slack', 'google-drive'],
      numResults: 5,
    }),
  ],
});

const result = await agent.run('Find all information about the new product launch');
console.log(result.text);

Response Format

typescript
interface AirweaveSearchResult {
  results: Array<{
    title: string;
    content: string;
    source: string;
    url?: string;
    score: number;
    metadata?: Record<string, unknown>;
  }>;
}

Best Practices

Guidelines
  1. Connect sources first – Set up data source connections in Airweave
  2. Filter by source – Narrow search to relevant sources
  3. Use semantic queries – Natural language works best
  4. Set thresholds – Adjust for precision vs recall

Related Tools

  • Exa – Web search
  • Valyu – Domain-specific search