> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Airweave

> Unified search across 35+ data sources with semantic search

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    U[Input] --> A[Agent]
    A --> T[Tool]
    T --> O[Output]

    classDef agent fill:#8B0000,color:#fff
    classDef tool fill:#189AB4,color:#fff

    class A agent
    class U,O tool
    class T tool
```

# 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 theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
npm install @airweave/ai-sdk
```

## Environment Variables

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
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

<Steps>
  <Step title="Simple Usage">
    ```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    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);
    ```
  </Step>

  <Step title="With Configuration">
    Adjust agent instructions, tool options, and provider settings for production — see the Configuration section below.
  </Step>
</Steps>

## Configuration Options

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
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 theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
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 theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
interface AirweaveSearchResult {
  results: Array<{
    title: string;
    content: string;
    source: string;
    url?: string;
    score: number;
    metadata?: Record<string, unknown>;
  }>;
}
```

## Best Practices

<AccordionGroup>
  <Accordion title="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
  </Accordion>
</AccordionGroup>

## Related Tools

* [Exa](/docs/js/tools/exa) - Web search
* [Valyu](/docs/js/tools/valyu) - Domain-specific search
