More Information: n8n.io | GitHub
Follow: @data_popcorn | linktr.ee/datapopcorn
Version: v2025.04
Download this as infographic here.
Clone Git: self-hosting-all-in-one
Latest Version: docker pull n8n/n8n:latest
Specific Version: docker pull n8n/n8n:0.181.0
Stop Container: sudo docker stop n8n
Remove Container: sudo docker rm n8n
Docker Run:
Interactive Mode: docker run -it --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.io/n8n/n8n
Persistent Volume: docker volume create n8n_data
A typical workflow in n8n consists of a trigger node followed by one or more action nodes. Here's how it works:
Trigger Examples:
Expressions in n8n allow you to dynamically reference data from previous nodes. Here are some examples:
Category | Description |
---|---|
Trigger | Executes workflows at specified time intervals. |
Manual | Manually trigger a workflow. |
Schedule | Runs workflows on a set schedule. |
Form | Collects user input via forms. |
Chat | Triggers based on chat or messages. |
Webhook | Receives data from external systems via HTTP. |
Workflow | Executes when called from other workflows. |
Core Nodes | Description |
---|---|
Edit Fields (Set) | Sets or modifies field values. |
Remove Duplicates | Removes duplicated data entries. |
IF | Branches flow using conditions. |
Aggregate | Groups multiple data items. |
Split Out | Splits data into individual elements. |
Filter | Filters data that meets conditions. |
Summarize | Summarizes data counts, averages, etc. |
Code | Runs custom JavaScript code. |
Merge | Combines two data streams. |
Sort | Sorts data by specified criteria. |
Limit | Limits the amount of data to output. |
Loop | Executes nodes repeatedly. |
Wait | Pauses execution for a specified time. |
Convert to File | Converts data to a file format. |
Extract from File | Extracts data from files. |
Compression | Compresses or decompresses files. |
Stop and Error | Stops the workflow or generates errors. |
HTTP Request | Sends HTTP requests to external APIs. |
The AI Agent in n8n processes user requests using predefined tools and memory. It includes:
Make HTTP requests to external APIs using the HTTP Request node:
Import cURL Command:
curl --request GET --url 'https://api.example.com/data' --header 'Authorization: Bearer YOUR_TOKEN' --header 'Content-Type: application/json' --data '{"name":"Alice","email":"alice@example.com"}'
Category | Setting | Description |
---|---|---|
Parameters | Always Output Data | Returns an empty event even if there's no output, useful for infinite loops with IF nodes. |
Execute Once | Processes only the first item and ignores the rest. | |
Retry on Fail | On Error Stop | Stops the workflow on error. |
On Continue | Retries the node on error, using the last valid data. | |
Error Workflow | Continues to the next node even on error, passes error info to the next node. | |
Note | Display Note in Flow | Allows you to add a memo to the node when enabled. |
One Click Auto Fill | Displays the note as a subtitle inside the workflow. |
Category | Action | Shortcut/Gesture |
---|---|---|
Control | Create New Workflow | Ctrl + N |
Open Workflow | Ctrl + O | |
Canvas | Save Canvas | Ctrl + S |
Redo | Ctrl + Z | |
Canvas Navigation | Run Workflow | Ctrl + Shift + Z |
Move Node View | Ctrl + Left Mouse + Drag | |
Canvas Nodes | Move Node View | Ctrl + Middle Mouse + Drag |
Move Node View | Space + Drag | |
Canvas Zoom | Zoom In | + or - |
Zoom Out | Ctrl + Mouse Wheel | |
When Node is Selected | Add Note | Ctrl + V |
Paste Note | Shift + S | |
Node Operations | Select Node Below | ↓ |
Select Node to the Left | ← | |
Select Node to the Right | → | |
Select Node Above | ↑ | |
Copy | Ctrl + C | |
Cut | Ctrl + X | |
Delete | Delete | |
Open | Enter | |
Panel Operations | Select All Left-side Nodes | Shift + ← |
Select All Right-side Nodes | Shift + → | |
Insert Node | Tab | |
Close Node Panel | Escape | |
Expand Category | → |
Here’s a cheat sheet list of ways to leverage n8n for growth hacking strategies:
Function | Description |
---|---|
Automate Lead Generation | Use Webhook and HTTP Request nodes to scrape leads from platforms like LinkedIn or Twitter, then store them in a CRM like HubSpot. |
Social Media Posting | Schedule posts across multiple platforms (e.g., Twitter, Instagram) using the Schedule node and HTTP Request to APIs. |
Email Campaign Automation | Trigger personalized email campaigns via SMTP nodes when users sign up or perform actions, integrating with tools like Mailchimp. |
Competitor Analysis | Monitor competitors by pulling data (e.g., pricing, posts) from their websites or APIs using HTTP Request, then analyze trends with Code nodes. |
Referral Program Tracking | Track referrals by setting up a Form node to collect user data, then use IF nodes to reward users via email or notifications. |
Dynamic Content Personalization | Use expressions and Edit Fields nodes to personalize content for users based on their behavior or demographics. |
A/B Testing Automation | Run A/B tests by splitting traffic with IF nodes, then use Summarize nodes to analyze results and optimize campaigns. |
Customer Feedback Loop | Collect feedback via Form nodes, process it with AI Agent nodes for sentiment analysis, and send follow-ups via email. |
Viral Loop Automation | Create viral loops by triggering invites to new users via email or SMS when a user completes an action, using Loop and Wait nodes. |
SEO Monitoring | Use HTTP Request to pull keyword rankings or backlinks from SEO tools, then set alerts via email or Slack for changes. |