Skip to main content

Overview

Unified template search with multiple modes: keyword search, by node types, by task type, or by metadata. Access to 2,700+ curated workflow templates from the n8n community library. Performance: Fast (< 100ms) with FTS5 full-text search

Parameters

searchMode
string
default:"keyword"
Search mode for finding templates.

Parameters for searchMode=“keyword”

query
string
Search keywords for keyword mode.Examples: "chatbot", "automation", "slack notification"
fields
array
Fields to include in response.Available fields: id, name, description, author, nodes, views, created, url, metadataDefault: all fields

Parameters for searchMode=“by_nodes”

nodeTypes
array
Array of node types to find templates using.Example:
["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]

Parameters for searchMode=“by_task”

task
string
Task type for curated templates.

Parameters for searchMode=“by_metadata”

category
string
Filter by category.Examples: "automation", "integration", "data processing"
complexity
string
Filter by complexity level.Options: simple, medium, complex
maxSetupMinutes
number
Maximum setup time in minutes.Range: 5-480 minutes
minSetupMinutes
number
Minimum setup time in minutes.Range: 5-480 minutes
requiredService
string
Filter by required service.Examples: "openai", "slack", "google", "postgres"
targetAudience
string
Filter by target audience.Examples: "developers", "marketers", "sales"

Common Parameters (all modes)

limit
number
default:20
Maximum number of results.
  • Default: 20
  • Maximum: 100
offset
number
default:0
Pagination offset.Default: 0

Response

templates
array
Array of matching templates
totalFound
number
Total number of matching templates
searchMode
string
The search mode that was used

Examples

{
  "query": "chatbot"
}

Response Example

{
  "templates": [
    {
      "id": 1234,
      "name": "Slack Notification on Webhook",
      "description": "Send Slack notification when webhook is triggered",
      "author": {
        "name": "n8n Team",
        "username": "n8n",
        "verified": true
      },
      "nodes": [
        "n8n-nodes-base.webhook",
        "n8n-nodes-base.slack"
      ],
      "views": 15234,
      "created": "2023-05-15T10:30:00Z",
      "url": "https://n8n.io/workflows/1234",
      "metadata": {
        "complexity": "simple",
        "setupMinutes": 10,
        "requiredServices": ["slack"],
        "targetAudience": "developers",
        "category": "notification"
      }
    },
    {
      "id": 5678,
      "name": "Daily Slack Summary",
      "description": "Send daily summary to Slack channel",
      "author": {
        "name": "Community User",
        "username": "user123",
        "verified": false
      },
      "nodes": [
        "n8n-nodes-base.schedule",
        "n8n-nodes-base.httpRequest",
        "n8n-nodes-base.slack"
      ],
      "views": 8521,
      "created": "2023-08-22T14:15:00Z",
      "url": "https://n8n.io/workflows/5678",
      "metadata": {
        "complexity": "medium",
        "setupMinutes": 20,
        "requiredServices": ["slack"],
        "targetAudience": "all",
        "category": "reporting"
      }
    }
  ],
  "totalFound": 47,
  "searchMode": "keyword"
}

Use Cases

  • Find workflows by business purpose: Use keyword search to discover relevant workflows
  • Find templates using specific integrations: Use by_nodes mode to find templates with specific nodes
  • Get pre-built solutions for common tasks: Use by_task mode for curated task templates
  • Filter by complexity for team skill level: Use by_metadata with complexity filter
  • Find templates requiring specific services: Use by_metadata with requiredService filter

Best Practices

For common automation patterns, use by_task mode to get curated templates.
{"searchMode": "by_task", "task": "webhook_processing"}
When you know which integrations you need, use by_nodes mode.
{
  "searchMode": "by_nodes",
  "nodeTypes": ["n8n-nodes-base.slack", "n8n-nodes-base.googleSheets"]
}
For broad exploration, use keyword mode with descriptive terms.
{"query": "customer notification"}
Use multiple metadata filters for precise matching.
{
  "searchMode": "by_metadata",
  "complexity": "simple",
  "maxSetupMinutes": 15,
  "requiredService": "openai"
}
After finding a template, use get_template(id) to get the complete workflow JSON.
// 1. Search
search_templates({"query": "slack"})

// 2. Get full workflow
get_template({"templateId": 1234})

Common Pitfalls

Keyword searches names/descriptions, not nodes: searchMode="keyword" searches template metadata, not which nodes they use. To find templates using specific nodes, use searchMode="by_nodes".
by_nodes requires full node type: Node types must include the full prefix: "n8n-nodes-base.httpRequest" not just "httpRequest".
Metadata filters reduce results: Using multiple by_metadata filters may significantly reduce the number of results.
Not all templates have complete metadata: Some templates may have incomplete or missing metadata fields.

Performance by Mode

ModePerformanceUse Case
keyword< 50msText search with FTS5 indexing
by_nodes< 100msFind templates by integrations
by_task< 50msCurated task templates (cached)
by_metadata< 100msFiltered metadata queries

get_template

Get full workflow JSON

search_nodes

Search for individual nodes

validate_workflow

Validate template workflows

Build docs developers (and LLMs) love