New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsSearch & Research
Tool

Airweave

Search synced data collections in Airweave with semantic, hybrid, or keyword retrieval

Search and retrieve information from your Airweave data collections using natural language. Supports hybrid, neural, and keyword retrieval strategies, optional query expansion, result reranking, and AI-generated answers — ideal for building RAG pipelines over your connected data sources.

Overview

PropertyValue
Typeairweave
CategoryTool — Vector Database / Knowledge Retrieval
AuthAPI Key (X-API-Key header)

Operations

OperationTool IDDescription
Searchairweave_searchSearch a collection using semantic, hybrid, or keyword retrieval, with optional query expansion, reranking, and AI-generated answers

Configuration

SettingTypeRequiredDescription
apiKeystring (secret)YesYour Airweave API key, sent as the X-API-Key request header. Store as {{AIRWEAVE_API_KEY}}.
collectionIdstringYesThe readable ID of the Airweave collection to search (e.g. my-collection).
querystringYesThe natural-language search query text.
limitnumberNoMaximum number of results to return. Defaults to 100. Block UI offers 5 / 10 / 20 / 50.
retrievalStrategystringNoRetrieval strategy: hybrid (default), neural, or keyword. The block UI also exposes auto and semantic labels — pass the string value that matches what Airweave's API accepts for your account.
expandQuerybooleanNoWhen true, Airweave generates query variations to improve recall before searching.
rerankbooleanNoWhen true, results are reordered by an LLM for improved relevance after retrieval.
generateAnswerbooleanNoWhen true, Airweave generates a natural-language answer synthesized from the top search results, returned in the completion field.

Outputs

FieldTypeDescription
resultsarrayList of search result objects (see result fields below).
results[].entity_idstringUnique identifier for the result entity within Airweave.
results[].source_namestringName of the originating data source (e.g. "GitHub", "Slack").
results[].md_contentstringMarkdown-formatted content of the result (optional — may be null).
results[].scorenumberRelevance score returned by the retrieval strategy.
results[].metadataobjectAdditional metadata associated with the result (optional).
results[].breadcrumbsarrayNavigation path segments leading to the result within its source (optional).
results[].urlstringURL pointing to the original content in the source system (optional).
completionstringAI-generated answer to the query (only present when generateAnswer is true).

Example

[Starter] → [Airweave: Search] → [Agent: answer from results]

Connect a Starter block that accepts a user question as {{starter.query}}, pass it to Airweave with collectionId set to your knowledge-base collection (e.g. engineering-docs), and authenticate with {{AIRWEAVE_API_KEY}}. Enable generateAnswer so Airweave returns a completion you can pipe directly to a Response block, or feed {{airweave.results}} into an Agent block that synthesizes a final answer from the raw chunks.

Tips

  • Choose the right retrieval strategy. hybrid (the default) combines neural and keyword signals and works well for most queries. Use neural/semantic for conceptual queries where exact terms do not matter, and keyword when you need precise term matching (e.g. error codes, identifiers).
  • Enable expandQuery for broad recall. When users phrase queries loosely, query expansion generates richer variants that surface more relevant chunks — especially useful in support or Q&A workflows.
  • Enable rerank for precision. Reranking re-scores the initial result set with an LLM, which improves top-result quality at the cost of a small added latency. Use it when the downstream block (Agent, Response) consumes only the top few results.
  • Use generateAnswer for direct responses. If you do not need to post-process individual chunks, set generateAnswer: true and wire {{airweave.completion}} straight to a Response block to skip the Agent step entirely.
  • Keep limit small for RAG. Passing hundreds of chunks to an LLM inflates token usage. Values of 5–20 are typically sufficient; increase only when broad coverage matters more than latency.