Discovery Tools
Find nodes and templates across the n8n ecosystem. Search 500+ nodes and 2,700+ templates with full-text and semantic search capabilities.
search_nodes
Full-text search across all 500+ n8n nodes. Returns most relevant nodes first, with frequently-used nodes (HTTP Request, Webhook, Set, Code, Slack) prioritized in results.
| Parameter | Type | Description |
|---|---|---|
query* | string | Search keywords. Use quotes for exact phrases like "google sheets" |
limit | number | Maximum results to return (max: 100) |
mode | string | Search modeORANDFUZZY |
includeExamples | boolean | Include real-world configuration examples from templates |
Basic keyword search
search_nodes({query: "webhook"})Returns Webhook node as top result
Search with all words required
search_nodes({query: "google sheets", mode: "AND"})Only returns nodes matching both words
Handle typos with fuzzy search
search_nodes({query: "slak", mode: "FUZZY"})Returns Slack despite the typo
Search with examples
search_nodes({query: "http api", includeExamples: true})Returns HTTP Request, GraphQL, REST nodes with real-world configs
- •Finding nodes when you know partial names
- •Discovering nodes by functionality (e.g., "email", "database", "transform")
- •Handling user typos in node names
- •Finding all nodes related to a service (e.g., "google", "aws", "microsoft")
- •Start with single keywords for broadest results
- •Use FUZZY mode when users might misspell node names
- •AND mode works best for 2-3 word searches
- •Combine with get_node after finding the right node
- •AND mode searches all fields (name, description) not just node names
- •FUZZY mode with very short queries (1-2 chars) may return unexpected results
- •Exact matches in quotes are case-sensitive
search_templates
Unified template search with multiple modes across 2,700+ templates. Search by keyword, node types, task type, or metadata.
| Parameter | Type | Description |
|---|---|---|
searchMode | string | Search modekeywordby_nodesby_taskby_metadata |
query | string | For keyword mode: search keywords |
nodeTypes | array | For by_nodes mode: array of node types |
task | string | For by_task mode: task typeai_automationdata_syncwebhook_processingemail_automationslack_integrationdata_transformationfile_processingschedulingapi_integrationdatabase_operations |
complexity | string | For by_metadata: workflow complexitysimplemediumcomplex |
maxSetupMinutes | number | For by_metadata: maximum setup time (5-480) |
requiredService | string | For by_metadata: e.g., "openai", "slack" |
targetAudience | string | For by_metadata: e.g., "developers", "marketers" |
limit | number | Maximum results (max: 100) |
offset | number | Pagination offset |
Keyword search (default)
search_templates({query: "chatbot"})Find templates using specific nodes
search_templates({
searchMode: "by_nodes",
nodeTypes: ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]
})Get templates for a task type
search_templates({searchMode: "by_task", task: "webhook_processing"})Filter by metadata
search_templates({
searchMode: "by_metadata",
complexity: "simple",
requiredService: "openai"
})- •Find workflows by business purpose (keyword search)
- •Find templates using specific integrations (by_nodes)
- •Get pre-built solutions for common tasks (by_task)
- •Filter by complexity for team skill level (by_metadata)
- •Find templates requiring specific services (by_metadata)
- •Use searchMode="by_task" for common automation patterns
- •Use searchMode="by_nodes" when you know which integrations you need
- •Use searchMode="keyword" for general discovery
- •Use get_template(id) to get the full workflow JSON