mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-12 05:17:28 -08:00
📚 add an awesome collection of n8n workflows
This commit is contained in:
parent
c339dfd5d6
commit
92b4988fde
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/docs/images/n8n-logo.png)
|
![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/docs/images/n8n-logo.png)
|
||||||
|
|
||||||
Documentation coming soon...
|
Documentation coming soon... in the meantime, you can browse the [awesome collection of n8n workflows](workflows/README.md).
|
68
docs/workflows/README.md
Normal file
68
docs/workflows/README.md
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
<div align="center">
|
||||||
|
<img width="464" height="106" src="../images/n8n-logo.png" alt="n8n">
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
Awesome n8n workflows collection
|
||||||
|
================================
|
||||||
|
|
||||||
|
|
||||||
|
You will find here a collection of n8n worflow examples that can be easily imported in n8n.
|
||||||
|
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
|
- [For loop](#for-loop) - how to iterate over an JSON array
|
||||||
|
- [Excel to Postgres](#excel-to-postgres) - how to migrate data from Excel to PostgreSQL
|
||||||
|
- [Postgres to Excel](#postgres-to-excel) - how to migrate data from Postgres to Excel
|
||||||
|
- [Update Postgres rows](#update-postgres-rows) - how to update PostreSQL rows
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## For loop
|
||||||
|
|
||||||
|
![](for-loop.png)
|
||||||
|
|
||||||
|
1. Make an HTTP request that responds with a JSON array
|
||||||
|
1. For each item in the response array, make an HTTP request
|
||||||
|
|
||||||
|
[Download workflow](for-loop.json)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Excel to Postgres
|
||||||
|
|
||||||
|
![](excel-to-postgres.png)
|
||||||
|
|
||||||
|
1. Read XLS from file
|
||||||
|
1. convert it to JSON
|
||||||
|
1. insert it in Postgres
|
||||||
|
|
||||||
|
[Download workflow](excel-to-postgres.json)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Postgres to Excel
|
||||||
|
|
||||||
|
![](postgres-to-excel.png)
|
||||||
|
|
||||||
|
1. Read data from Postgres
|
||||||
|
1. Converting it to XLS
|
||||||
|
1. save it to disk
|
||||||
|
|
||||||
|
[Download workflow](postgres-to-excel.json)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Update Postgres rows
|
||||||
|
|
||||||
|
![](update-postgres-rows.png)
|
||||||
|
|
||||||
|
- Simple update of data
|
||||||
|
|
||||||
|
[Download workflow](update-postgres-rows.json)
|
76
docs/workflows/excel-to-postgres.json
Normal file
76
docs/workflows/excel-to-postgres.json
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"name": "Start",
|
||||||
|
"type": "n8n-nodes-base.start",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
250,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"filePath": "spreadsheet.xls"
|
||||||
|
},
|
||||||
|
"name": "Read Binary File",
|
||||||
|
"type": "n8n-nodes-base.readBinaryFile",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
450,
|
||||||
|
650
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"name": "Spreadsheet File1",
|
||||||
|
"type": "n8n-nodes-base.spreadsheetFile",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
600,
|
||||||
|
650
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"table": "product",
|
||||||
|
"columns": "name,ean"
|
||||||
|
},
|
||||||
|
"name": "Insert Rows1",
|
||||||
|
"type": "n8n-nodes-base.postgres",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
750,
|
||||||
|
650
|
||||||
|
],
|
||||||
|
"credentials": {
|
||||||
|
"postgres": "postgres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": {
|
||||||
|
"Read Binary File": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Spreadsheet File1",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Spreadsheet File1": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Insert Rows1",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
docs/workflows/excel-to-postgres.png
Normal file
BIN
docs/workflows/excel-to-postgres.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
97
docs/workflows/for-loop.json
Normal file
97
docs/workflows/for-loop.json
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"name": "Start",
|
||||||
|
"type": "n8n-nodes-base.start",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
250,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"url": "https://jsonplaceholder.typicode.com/posts?userId=1",
|
||||||
|
"headerParametersUi": {
|
||||||
|
"parameter": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Http Request",
|
||||||
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
400,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"functionCode": "const newItems = [];\nfor (const item of items[0].json) {\n newItems.push({json: item});\n}\nreturn newItems;"
|
||||||
|
},
|
||||||
|
"name": "Function",
|
||||||
|
"type": "n8n-nodes-base.function",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
550,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"url": "https://postman-echo.com/get",
|
||||||
|
"responseFormat": "string",
|
||||||
|
"queryParametersUi": {
|
||||||
|
"parameter": [
|
||||||
|
{
|
||||||
|
"name": "title",
|
||||||
|
"value": "={{$node[\"Function\"].data[\"title\"]}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Http Request1",
|
||||||
|
"type": "n8n-nodes-base.httpRequest",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
700,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": {
|
||||||
|
"Start": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Http Request",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Http Request": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Function",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Function": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Http Request1",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
docs/workflows/for-loop.png
Normal file
BIN
docs/workflows/for-loop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
78
docs/workflows/postgres-to-excel.json
Normal file
78
docs/workflows/postgres-to-excel.json
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"name": "Start",
|
||||||
|
"type": "n8n-nodes-base.start",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
250,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"operation": "executeQuery",
|
||||||
|
"query": "SELECT name, ean FROM product"
|
||||||
|
},
|
||||||
|
"name": "Run Query",
|
||||||
|
"type": "n8n-nodes-base.postgres",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
450,
|
||||||
|
450
|
||||||
|
],
|
||||||
|
"credentials": {
|
||||||
|
"postgres": "postgres"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"operation": "toFile"
|
||||||
|
},
|
||||||
|
"name": "Spreadsheet File",
|
||||||
|
"type": "n8n-nodes-base.spreadsheetFile",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
600,
|
||||||
|
450
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"fileName": "spreadsheet.xls"
|
||||||
|
},
|
||||||
|
"name": "Write Binary File",
|
||||||
|
"type": "n8n-nodes-base.writeBinaryFile",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
750,
|
||||||
|
450
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": {
|
||||||
|
"Run Query": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Spreadsheet File",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Spreadsheet File": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Write Binary File",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
docs/workflows/postgres-to-excel.png
Normal file
BIN
docs/workflows/postgres-to-excel.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
56
docs/workflows/update-postgres-rows.json
Normal file
56
docs/workflows/update-postgres-rows.json
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"name": "Start",
|
||||||
|
"type": "n8n-nodes-base.start",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
250,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"functionCode": "const newItems = [];\nfor (let i=1;i < 6; i++) {\n newItems.push({\n json: {\n id: i,\n name: `New name ${i}`,\n ean: `New EAN ${i}`,\n }\n });\n}\nreturn newItems;"
|
||||||
|
},
|
||||||
|
"name": "Function1",
|
||||||
|
"type": "n8n-nodes-base.function",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
460,
|
||||||
|
300
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"operation": "update",
|
||||||
|
"table": "product",
|
||||||
|
"columns": "name,ean"
|
||||||
|
},
|
||||||
|
"name": "Update Rows",
|
||||||
|
"type": "n8n-nodes-base.postgres",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
610,
|
||||||
|
300
|
||||||
|
],
|
||||||
|
"credentials": {
|
||||||
|
"postgres": "postgres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": {
|
||||||
|
"Function1": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Update Rows",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
docs/workflows/update-postgres-rows.png
Normal file
BIN
docs/workflows/update-postgres-rows.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
Loading…
Reference in a new issue