feat: add folder support for workflows (fixes #70)
This commit is contained in:
133
workflows/Http/0015_HTTP_Cron_Update_Webhook.json
Normal file
133
workflows/Http/0015_HTTP_Cron_Update_Webhook.json
Normal file
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"id": "102",
|
||||
"name": "Send updates about the position of the ISS every minute to a topic in ActiveMQ",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
510,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
710,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now();}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
910,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "Latitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Longitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Timestamp",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "Name",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "AMQP Sender",
|
||||
"type": "n8n-nodes-base.amqp",
|
||||
"position": [
|
||||
1110,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"sink": "iss-postition",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"amqp": "ampq"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AMQP Sender",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
129
workflows/Http/0021_HTTP_Awssqs_Automation_Scheduled.json
Normal file
129
workflows/Http/0021_HTTP_Awssqs_Automation_Scheduled.json
Normal file
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "AWS SQS",
|
||||
"type": "n8n-nodes-base.awsSqs",
|
||||
"position": [
|
||||
1050,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"queue": "",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"aws": "AWS SQS Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
850,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "Latitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Longitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Timestamp",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "Name",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
650,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now();}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
450,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AWS SQS",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Google BigQuery",
|
||||
"type": "n8n-nodes-base.googleBigQuery",
|
||||
"position": [
|
||||
1010,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"columns": "name, latitude, longitude, timestamp",
|
||||
"options": {},
|
||||
"tableId": "position",
|
||||
"datasetId": "iss",
|
||||
"projectId": "supple-cabinet-289219"
|
||||
},
|
||||
"credentials": {
|
||||
"googleBigQueryOAuth2Api": "BigQuery Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
810,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "latitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "longitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "timestamp",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "name",
|
||||
"value": "={{$json[\"0\"][\"name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
610,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now();}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
410,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google BigQuery",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
127
workflows/Http/0033_HTTP_Mqtt_Automation_Webhook.json
Normal file
127
workflows/Http/0033_HTTP_Mqtt_Automation_Webhook.json
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
490,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
690,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now()}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
890,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Name",
|
||||
"value": "={{$json[\"0\"][\"name\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Latitude",
|
||||
"value": "={{$json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Longitude",
|
||||
"value": "={{$json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Timestamp",
|
||||
"value": "={{$json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "MQTT",
|
||||
"type": "n8n-nodes-base.mqtt",
|
||||
"position": [
|
||||
1090,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"topic": "iss-position",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mqtt": "mqtt"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "MQTT",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
215
workflows/Http/0048_HTTP_Htmlextract_Create_Webhook.json
Normal file
215
workflows/Http/0048_HTTP_Htmlextract_Create_Webhook.json
Normal file
@@ -0,0 +1,215 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"webhookId": "45e2593e-f25d-4be5-9b50-4a7c1e566a9e",
|
||||
"parameters": {
|
||||
"path": "45e2593e-f25d-4be5-9b50-4a7c1e566a9e",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
850,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://{{$json[\"body\"][\"data\"][\"options\"][0][\"value\"]}}",
|
||||
"options": {},
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Check type",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$json[\"body\"][\"type\"]}}",
|
||||
"value2": 1,
|
||||
"operation": "notEqual"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Extract Title",
|
||||
"type": "n8n-nodes-base.htmlExtract",
|
||||
"position": [
|
||||
1050,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"extractionValues": {
|
||||
"values": [
|
||||
{
|
||||
"key": "title",
|
||||
"cssSelector": "title"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Add Link to Notion",
|
||||
"type": "n8n-nodes-base.notion",
|
||||
"position": [
|
||||
1250,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"resource": "databasePage",
|
||||
"databaseId": "8a1638ce-da33-41b7-8fd9-37a4c272ba95",
|
||||
"propertiesUi": {
|
||||
"propertyValues": [
|
||||
{
|
||||
"key": "Name|title",
|
||||
"title": "={{$json[\"title\"]}}"
|
||||
},
|
||||
{
|
||||
"key": "Link|url",
|
||||
"urlValue": "={{$node[\"Check type\"].json[\"body\"][\"data\"][\"options\"][0][\"value\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"notionApi": "Notion API Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Reply on Discord",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1450,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "type",
|
||||
"value": 4
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "data.content",
|
||||
"value": "Added Link to notion"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Register URL",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
850,
|
||||
410
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "type",
|
||||
"value": 1
|
||||
}
|
||||
],
|
||||
"string": []
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Check type",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Check type": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Register URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Extract Title",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Extract Title": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Add Link to Notion",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Add Link to Notion": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Reply on Discord",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
224
workflows/Http/0077_HTTP_Noop_Sync_Webhook.json
Normal file
224
workflows/Http/0077_HTTP_Noop_Sync_Webhook.json
Normal file
@@ -0,0 +1,224 @@
|
||||
{
|
||||
"id": 117,
|
||||
"name": "Syncro Alert to OpsGenie",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
460,
|
||||
380
|
||||
],
|
||||
"webhookId": "fromsyncro",
|
||||
"parameters": {
|
||||
"path": "fromsyncro",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseData": "allEntries",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
780,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "AlertID",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Description",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"computer_name\"]}} ({{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"customer\"][\"business_then_name\"]}}): {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"formatted_output\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Create Alert",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1180,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.opsgenie.com/v2/alerts",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "message",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"computer_name\"]}} ({{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"customer\"][\"business_then_name\"]}}): {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"formatted_output\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "alias",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "description",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}\n{{$node[\"Webhook\"].json[\"body\"][\"link\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": null,
|
||||
"name": "OpsGenie"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Close Alert",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1180,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.opsgenie.com/v2/alerts/{{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"id\"]}}/close?identifierType=alias",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "note",
|
||||
"value": "Issue resolved automatically according to Syncro."
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": null,
|
||||
"name": "OpsGenie"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
780,
|
||||
560
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
940,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"boolean": [
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"resolved\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
620,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"rules": [
|
||||
{
|
||||
"value2": "agent_offline_trigger"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"properties\"][\"trigger\"]}}",
|
||||
"dataType": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Alert",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Close Alert",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
362
workflows/Http/0084_HTTP_Cron_Automation_Webhook.json
Normal file
362
workflows/Http/0084_HTTP_Cron_Automation_Webhook.json
Normal file
@@ -0,0 +1,362 @@
|
||||
{
|
||||
"id": "11",
|
||||
"name": "What To Eat",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
100,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Search Criteria",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
300,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "RecipeCount",
|
||||
"value": 3
|
||||
},
|
||||
{
|
||||
"name": "IngredientCount",
|
||||
"value": 5
|
||||
},
|
||||
{
|
||||
"name": "CaloriesMin"
|
||||
},
|
||||
{
|
||||
"name": "CaloriesMax",
|
||||
"value": 1500
|
||||
},
|
||||
{
|
||||
"name": "TimeMin"
|
||||
},
|
||||
{
|
||||
"name": "TimeMax",
|
||||
"value": 30
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "Diet",
|
||||
"value": "balanced"
|
||||
},
|
||||
{
|
||||
"name": "Health",
|
||||
"value": "random"
|
||||
},
|
||||
{
|
||||
"name": "SearchItem",
|
||||
"value": "chicken"
|
||||
},
|
||||
{
|
||||
"name": "AppID",
|
||||
"value": "Enter Your Edamam AppID Here"
|
||||
},
|
||||
{
|
||||
"name": "AppKey",
|
||||
"value": "Enter Your Edamam AppKey Here"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set Query Values",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
500,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.calories = items[0].json.CaloriesMin + \"-\" + items[0].json.CaloriesMax;\nitems[0].json.time = items[0].json.TimeMin + \"-\" + items[0].json.TimeMax;\n\nif (items[0].json.Diet.toUpperCase() == \"RANDOM\") {\n arrDiet = [\"balanced\",\"high-fiber\",\"high-protein\",\"low-carb\",\"low-fat\",\"low-sodium\"];\n intRandomNumber = Math.floor(Math.random() * 6);\n items[0].json.Diet = arrDiet[intRandomNumber];\n}\n\nif (items[0].json.Health.toUpperCase() == \"RANDOM\") {\n arrHealth = [\"alcohol-free\",\"immuno-supportive\",\"celery-free\",\"crustacean-free\",\"dairy-free\",\"egg-free\",\"fish-free\",\"fodmap-free\",\"gluten-free\",\"keto-friendly\",\"kidney-friendly\",\"kosher\",\"low-potassium\",\"lupine-free\",\"mustard-free\",\"low-fat-abs\",\"no-oil-added\",\"low-sugar\",\"paleo\",\"peanut-free\",\"pecatarian\",\"pork-free\",\"red-meat-free\",\"sesame-free\",\"shellfish-free\",\"soy-free\",\"sugar-conscious\",\"tree-nut-free\",\"vegan\",\"vegetarian\",\"wheat-free\"];\n intRandomNumber = Math.floor(Math.random() * 31);\n items[0].json.Health = arrHealth[intRandomNumber];\n}\n\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set Recipe ID Values",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1080,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.from = Math.floor(Math.random() * items[0].json.RecipeCount) + 1;\nitems[0].json.to = items[0].json.from + items[0].json.ReturnCount;\n\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Retrieve Recipe Counts",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
700,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.edamam.com/search",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "q",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"SearchItem\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "app_id",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"AppID\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "app_key",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"AppKey\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "ingr",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"IngredientCount\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "diet",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"Diet\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "calories",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"calories\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "time",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"time\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "from",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"name": "to",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Retrieve Recipes",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1260,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.edamam.com/search",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "q",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"SearchItem\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "app_id",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"AppID\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "app_key",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"AppKey\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "from",
|
||||
"value": "={{$node[\"Set Recipe ID Values\"].json[\"from\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "to",
|
||||
"value": "={{$node[\"Set Recipe ID Values\"].json[\"to\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "ingr",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"IngredientCount\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "diet",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"Diet\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "calories",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"calories\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "time",
|
||||
"value": "={{$node[\"Set Query Values\"].json[\"time\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set Counts",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
880,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "RecipeCount",
|
||||
"value": "={{$node[\"Retrieve Recipe Counts\"].json[\"count\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "ReturnCount",
|
||||
"value": "={{$node[\"Search Criteria\"].json[\"RecipeCount\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send Recipes",
|
||||
"type": "n8n-nodes-base.emailSend",
|
||||
"position": [
|
||||
1660,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"html": "={{$node[\"Create Email Body in HTML\"].json[\"emailBody\"]}}",
|
||||
"options": {},
|
||||
"subject": "={{$node[\"Set Query Values\"].json[\"RecipeCount\"]}} {{$node[\"Set Query Values\"].json[\"Diet\"]}}, {{$node[\"Set Query Values\"].json[\"Health\"]}} {{$node[\"Set Query Values\"].json[\"SearchItem\"]}} recipes under {{$node[\"Set Query Values\"].json[\"CaloriesMax\"]}} calories ready in under {{$node[\"Set Query Values\"].json[\"TimeMax\"]}} minutes",
|
||||
"toEmail": "Enter Your Email Address Here",
|
||||
"fromEmail": "Enter Your Email Address Here"
|
||||
},
|
||||
"credentials": {
|
||||
"smtp": "Gmail Creds"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Create Email Body in HTML",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1460,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "arrRecipes = items[0].json.hits;\nitems[0].json = {};\n\nstrEmailBody = \"Here are your recipes for today:<br><ul>\";\n\narrRecipes.forEach(createHTML);\n\nfunction createHTML(value, index, array) {\n strEmailBody = strEmailBody + \"<li><a href=\\\"\"+ value.recipe.shareAs + \"\\\">\" + value.recipe.label + \"</a></li>\";\n}\n\nstrEmailBody = strEmailBody + \"</ul>\";\n\nitems[0].json.emailBody = strEmailBody\n\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Search Criteria",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Counts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Recipe ID Values",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Search Criteria": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Query Values",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Recipes": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Email Body in HTML",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Query Values": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Recipe Counts",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Recipe ID Values": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Recipes",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Recipe Counts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Counts",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Email Body in HTML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Recipes",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
301
workflows/Http/0093_HTTP_GitHub_Create_Scheduled.json
Normal file
301
workflows/Http/0093_HTTP_GitHub_Create_Scheduled.json
Normal file
@@ -0,0 +1,301 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "GitHub Edit",
|
||||
"type": "n8n-nodes-base.github",
|
||||
"position": [
|
||||
1190,
|
||||
610
|
||||
],
|
||||
"parameters": {
|
||||
"owner": "YOUR_USERNAME",
|
||||
"filePath": "={{$json[\"data\"][\"name\"]}}.json",
|
||||
"resource": "file",
|
||||
"operation": "edit",
|
||||
"repository": "REPO_NAME",
|
||||
"fileContent": "={{JSON.stringify($json[\"data\"])}}",
|
||||
"commitMessage": "=[N8N Backup] {{$json.data[\"name\"]}} ({{new Date(Date.now()).toLocaleDateString()}})"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": "GitHub@harshil1712"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get Files",
|
||||
"type": "n8n-nodes-base.github",
|
||||
"position": [
|
||||
200,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"owner": "YOUR_USERNAME",
|
||||
"filePath": "/",
|
||||
"resource": "file",
|
||||
"operation": "get",
|
||||
"repository": "REPO",
|
||||
"asBinaryProperty": false
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": "GitHub@harshil1712"
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"name": "Transform",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
400,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "return items[0].json.map(item => {\n return {\n json: item\n }\n});\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Create file",
|
||||
"type": "n8n-nodes-base.github",
|
||||
"position": [
|
||||
1240,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"owner": "YOUR_USERNAME",
|
||||
"filePath": "={{$json[\"data\"][\"name\"]}}.json",
|
||||
"resource": "file",
|
||||
"repository": "REPO",
|
||||
"fileContent": "={{JSON.stringify($node['Merge'].json[\"data\"])}}",
|
||||
"commitMessage": "=[N8N Backup] {{$json.data[\"name\"]}}.json ({{new Date(Date.now()).toLocaleDateString()}})"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": "GitHub@harshil1712"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Merge",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
930,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "removeKeyMatches",
|
||||
"propertyName1": "data.name",
|
||||
"propertyName2": "data.name"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get workflows",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
200,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "http://localhost:5678/rest/workflows",
|
||||
"options": {},
|
||||
"authentication": "basicAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": "n8n instance auth"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get workflow data",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
600,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=http://localhost:5678/rest/workflows/{{$json[\"id\"]}}",
|
||||
"options": {},
|
||||
"authentication": "basicAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": "n8n instance auth"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Download Raw Content",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
600,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$json[\"download_url\"]}}",
|
||||
"options": {},
|
||||
"authentication": "headerAuth",
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "GitHub Token"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "transform",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
390,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const newItems = [];\nfor (item of items[0].json.data) {\n newItems.push({json: item});\n}\nreturn newItems;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Daily at 23:59",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
-20,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 23,
|
||||
"minute": 59
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Merge1",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
970,
|
||||
610
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "removeKeyMatches",
|
||||
"propertyName1": "data.updatedAt",
|
||||
"propertyName2": "data.updatedAt"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Merge": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create file",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Merge1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GitHub Edit",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Files": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Transform",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Transform": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Download Raw Content",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"transform": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get workflow data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get workflows": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "transform",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Daily at 23:59": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get workflows",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get workflow data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Merge1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Download Raw Content": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
},
|
||||
{
|
||||
"node": "Merge1",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"id": "134",
|
||||
"name": "Receive updates for the position of the ISS every minute and push it to a database",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
550,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
750,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now();}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
950,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "latitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "longitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "timestamp",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
],
|
||||
"string": []
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Cloud Realtime Database",
|
||||
"type": "n8n-nodes-base.googleFirebaseRealtimeDatabase",
|
||||
"position": [
|
||||
1150,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"path": "iss",
|
||||
"operation": "push",
|
||||
"projectId": "",
|
||||
"attributes": "latitude, longitude, timestamp"
|
||||
},
|
||||
"credentials": {
|
||||
"googleFirebaseRealtimeDatabaseOAuth2Api": "firebase realtime credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Cloud Realtime Database",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
163
workflows/Http/0139_HTTP_Mysql_Automation_Webhook.json
Normal file
163
workflows/Http/0139_HTTP_Mysql_Automation_Webhook.json
Normal file
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "emitirEtiqueta",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
440,
|
||||
1290
|
||||
],
|
||||
"webhookId": "4431a14c-62c6-4602-8e20-e661f1d3d706",
|
||||
"parameters": {
|
||||
"path": "emitirEtiqueta",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseData": "allEntries",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "dadosProduto",
|
||||
"type": "n8n-nodes-base.mySql",
|
||||
"position": [
|
||||
1270,
|
||||
1440
|
||||
],
|
||||
"parameters": {
|
||||
"query": "=-- CONSULTA DO PRODUTO GRADE\nWITH pg as (\n\tSELECT\n\t\tid,\n\t\tid_produto,\n\t\tid_gradex,\n\t\tid_gradey,\n\t\tcodigo \n\tFROM\n\t\tproduto_grade \n\tWHERE\n\t\tid = '{{$node[\"emitirEtiqueta\"].json[\"body\"][\"id_produto_grade\"]}}'\n),\n\n-- CONSULTA DO PRODUTO\np as (\n\tSELECT * FROM produto \n\tWHERE id IN ( SELECT id_produto FROM pg)\n\tAND situacao = 'ATIVO'\n),\n\n-- CONSULTA TECIDO\nt as (\n\tSELECT\n\t\ttoken,\n\t\t JSON_UNQUOTE(json_extract( objeto, '$.largura')) AS largura\n\tFROM\n\t\t`{{$node[\"PegarConfiguracaoImpressao\"].json[\"params\"][\"bancoRelatorio\"]}}`.`i_objeto` \n\tWHERE\n\t\tmodulo = 'produto_grade_tecido'\n\t\tand token in (select id from pg)\n\t\tand situacao = 'ATIVO'\n),\n\n\n-- CONSULTA COMPOSICAO\ncp as (\n\t\n\tSELECT\n\t token,\n group_concat(concat(cps.participacao,'% ',cps.descricao)) as composicao\n\tFROM\n\t\t`{{$node[\"PegarConfiguracaoImpressao\"].json[\"params\"][\"bancoRelatorio\"]}}`.`i_objeto`,\n\t\tJSON_TABLE (\n\t\t\t\t\t\t\t\t\tobjeto,\n\t\t\t\t\t\t\t\t\t\t\t'$[*]' COLUMNS ( \n\t\t\t\t\t\t\t\t\t\t\t\t\tparticipacao INT path '$.participacao',\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescricao TEXT path '$.descricao'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) AS cps \n\t\tWHERE modulo = 'produto_grade_tecido_composicao'\n\t\tAND token in (select id from pg)\n\t\tAND situacao = 'ATIVO'\n\t\tAND cps.participacao > 0\n\t\tGROUP BY token\n\t\tORDER BY participacao desc\n\t\t\n)\n\n\n-- CONSULTA RELATORIO\nSELECT\n{{$node[\"emitirEtiqueta\"].json[\"body\"][\"id_movimentacao_detalhe\"]}} as id_movimentacao_detalhe ,\n pg.id, \n\tpg.codigo,\n\tp.descricao,\n\tm.nome as marca,\n\tgx.nome as gradex,\n\tgy.nome as gradey,\n\tcurdate() as data_entrada,\n t.largura,\n\tcp.composicao\nFROM\n\tpg inner join p on (p.id = pg.id_produto)\n\tinner join marca m on(m.id = p.id_marca)\n\tleft join grade gx on (gx.id = pg.id_gradex)\n\tleft join grade gy on (gy.id = pg.id_gradey)\n\tleft join t on (t.token = pg.id)\n\tleft join cp on (cp.token = pg.id)",
|
||||
"operation": "executeQuery"
|
||||
},
|
||||
"credentials": {
|
||||
"mySql": {
|
||||
"id": "2",
|
||||
"name": "illi"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "PegarConfiguracaoImpressao",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
730,
|
||||
1290
|
||||
],
|
||||
"parameters": {
|
||||
"url": "http://localhost:1337/parse/config",
|
||||
"options": {},
|
||||
"jsonParameters": true,
|
||||
"headerParametersJson": "{\"X-Parse-Application-Id\": \"iwms\"}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "dadosRolo",
|
||||
"type": "n8n-nodes-base.postgres",
|
||||
"position": [
|
||||
1260,
|
||||
1220
|
||||
],
|
||||
"parameters": {
|
||||
"query": "=select * from \"tecido_rolo\"\nwhere \"objectId\" in ('{{$json[\"idRolos\"].join(\"','\")}}')",
|
||||
"operation": "executeQuery",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"postgres": {
|
||||
"id": "1",
|
||||
"name": "Postgres account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "trataRetorno",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1010,
|
||||
1220
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "// Code here will run only once, no matter how many input items there are.\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.function\n\n\n// var produto = items[0].json;\n\n\nvar rolos = $node[\"emitirEtiqueta\"].json[\"body\"][\"rolos\"];\n\n\nvar idRolos = rolos.map(\n function(rolo){\n return rolo.objectId\n });\n \nvar retorno = [];\n\nretorno.push({json:{\n // produto:produto,\n idRolos:idRolos \n}})\n\nreturn retorno;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "roloProduto",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1640,
|
||||
1330
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "mergeByKey",
|
||||
"propertyName1": "id_movimentacao_detalhe",
|
||||
"propertyName2": "id_movimentacao_detalhe"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"dadosRolo": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "roloProduto",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"dadosProduto": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "roloProduto",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"trataRetorno": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "dadosRolo",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"emitirEtiqueta": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "PegarConfiguracaoImpressao",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"PegarConfiguracaoImpressao": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "dadosProduto",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "trataRetorno",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
80
workflows/Http/0143_HTTP_Gitlab_Automation_Webhook.json
Normal file
80
workflows/Http/0143_HTTP_Gitlab_Automation_Webhook.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Gitlab Trigger",
|
||||
"type": "n8n-nodes-base.gitlabTrigger",
|
||||
"position": [
|
||||
240,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"owner": "tennox",
|
||||
"events": [
|
||||
"tag_push"
|
||||
],
|
||||
"repository": "ci-test"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
820,
|
||||
40
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://app.getoutline.com/api/documents.create",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={ \n\"collectionId\": \"PLACEHOLDER\",\n\"parentDocumentId\": \"PLACEHOLDER\",\n\"publish\": true, \n\"title\": {{JSON.stringify(\"Release \" + $json.body.name)}},\n\"text\": {{JSON.stringify($json.body.description + '\\n\\n\\\\\\n[More info](' + $json.body.url + ')')}}\n}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
540,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json.body.object_kind}}",
|
||||
"value2": "release"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Gitlab Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
106
workflows/Http/0144_HTTP_Twitter_Automation_Scheduled.json
Normal file
106
workflows/Http/0144_HTTP_Twitter_Automation_Scheduled.json
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Request blablagues",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
750,
|
||||
250
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.blablagues.net/?rub=images",
|
||||
"options": {},
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Recup image",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1000,
|
||||
250
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Request blablagues\"].json[\"data\"][\"data\"][\"content\"][\"media\"]}}",
|
||||
"options": {},
|
||||
"responseFormat": "file"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "At 17H image jokes",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
500,
|
||||
250
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 17
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Tweet image jokes",
|
||||
"type": "n8n-nodes-base.twitter",
|
||||
"position": [
|
||||
1250,
|
||||
250
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{$node[\"Request blablagues\"].json[\"data\"][\"data\"][\"content\"][\"text\"]}}",
|
||||
"additionalFields": {
|
||||
"attachments": "data"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"twitterOAuth1Api": {
|
||||
"id": "",
|
||||
"name": ""
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Recup image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Tweet image jokes",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"At 17H image jokes": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Request blablagues",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Request blablagues": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Recup image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
123
workflows/Http/0153_HTTP_Dropbox_Update_Webhook.json
Normal file
123
workflows/Http/0153_HTTP_Dropbox_Update_Webhook.json
Normal file
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "To JSON",
|
||||
"type": "n8n-nodes-base.xml",
|
||||
"position": [
|
||||
700,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Change title",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
900,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "slideshow.title",
|
||||
"value": "New Title Name"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get XML Data",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
500,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://httpbin.org/xml",
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Dropbox",
|
||||
"type": "n8n-nodes-base.dropbox",
|
||||
"position": [
|
||||
1300,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"path": "/my-xml-file.xml",
|
||||
"fileContent": "={{$node[\"To XML\"].data[\"data\"]}}"
|
||||
},
|
||||
"credentials": {
|
||||
"dropboxApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "To XML",
|
||||
"type": "n8n-nodes-base.xml",
|
||||
"position": [
|
||||
1100,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "jsonToxml",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"To XML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Dropbox",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"To JSON": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Change title",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Change title": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "To XML",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get XML Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "To JSON",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
81
workflows/Http/0154_HTTP_Mattermost_Automation_Webhook.json
Normal file
81
workflows/Http/0154_HTTP_Mattermost_Automation_Webhook.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"id": "13",
|
||||
"name": "Mattermost Webhook",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
340,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"path": "webhook",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
570,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.thecocktaildb.com/api/json/v1/1/random.php",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
770,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=Why not try {{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrink\"]}}?\n{{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strInstructions\"]}} Serve in {{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strGlass\"]}}.",
|
||||
"channelId": "={{$node[\"Webhook\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [
|
||||
{
|
||||
"image_url": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrinkThumb\"]}}"
|
||||
}
|
||||
],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
123
workflows/Http/0156_HTTP_Awsrekognition_Automation_Webhook.json
Normal file
123
workflows/Http/0156_HTTP_Awsrekognition_Automation_Webhook.json
Normal file
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
500,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.googleapis.com/customsearch/v1?imgType=photo&key=AIzaSyBQry407hE5VwMaDedHogPuwJeIbAIidQU&cx=e51ced3f3563dfac9&q=street&searchType=image",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "AWS Rekognition1",
|
||||
"type": "n8n-nodes-base.awsRekognition",
|
||||
"position": [
|
||||
680,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"type": "detectLabels",
|
||||
"binaryData": true,
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"aws": {
|
||||
"id": "9",
|
||||
"name": "aws"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets2",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1040,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"sheetId": "qwertz",
|
||||
"operation": "append",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "2",
|
||||
"name": "google_sheets_oauth"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set3",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
860,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [],
|
||||
"string": [
|
||||
{
|
||||
"name": "img_name",
|
||||
"value": "={{$node[\"HTTP Request1\"].json[\"items\"][0][\"title\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "img_link",
|
||||
"value": "={{$node[\"HTTP Request1\"].json[\"items\"][0][\"link\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "img_labels",
|
||||
"value": "={{$node[\"AWS Rekognition\"][\"Labels\"][\"Name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set3": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AWS Rekognition1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"AWS Rekognition1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set3",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
464
workflows/Http/0162_HTTP_Telegram_Send_Webhook.json
Normal file
464
workflows/Http/0162_HTTP_Telegram_Send_Webhook.json
Normal file
@@ -0,0 +1,464 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
440,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Airtable2",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"notes": "Grab our list of chats from Airtable to send a random recipe",
|
||||
"position": [
|
||||
660,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"table": "Table 1",
|
||||
"operation": "list",
|
||||
"application": "your_sheet_id",
|
||||
"additionalOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"airtableApi": {
|
||||
"id": "5",
|
||||
"name": "Airtable account"
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
860,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "chatid",
|
||||
"value": "={{$node[\"Airtable2\"].json[\"fields\"][\"chatid\"]}}"
|
||||
}
|
||||
],
|
||||
"string": []
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Recipe Photo",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
1240,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"file": "={{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"image\"]}}",
|
||||
"chatId": "={{$node[\"Set\"].json[\"chatid\"]}}",
|
||||
"operation": "sendPhoto",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"name": "Recipe URL",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
1420,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=\n{{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"title\"]}}\n\n{{$node[\"Get recipes from API\"].json[\"recipes\"][0][\"sourceUrl\"]}}",
|
||||
"chatId": "={{$node[\"Set\"].json[\"chatid\"]}}",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"notes": "If the chat ID isn't in our airtable, we add it. This is to send a new recipe daily. ",
|
||||
"position": [
|
||||
860,
|
||||
-80
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [],
|
||||
"string": [
|
||||
{
|
||||
"value1": "= {{$node[\"Airtable1\"].parameter[\"fields\"][1]}}",
|
||||
"value2": "= {{$node[\"Airtable1\"].parameter[\"fields\"][0]}}",
|
||||
"operation": "notEqual"
|
||||
}
|
||||
],
|
||||
"boolean": []
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Airtable",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
620,
|
||||
-80
|
||||
],
|
||||
"parameters": {
|
||||
"table": "Table 1",
|
||||
"operation": "list",
|
||||
"application": "your_sheet_id",
|
||||
"additionalOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"airtableApi": {
|
||||
"id": "5",
|
||||
"name": "Airtable account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Airtable1",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
1340,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"table": "Table 1",
|
||||
"fields": [
|
||||
"chatid",
|
||||
"={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"Name",
|
||||
"={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"from\"][\"first_name\"]}}"
|
||||
],
|
||||
"options": {},
|
||||
"operation": "append",
|
||||
"application": "your_sheet_id",
|
||||
"addAllFields": false
|
||||
},
|
||||
"credentials": {
|
||||
"airtableApi": {
|
||||
"id": "5",
|
||||
"name": "Airtable account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram Recipe Image",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
980,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"file": "={{$node[\"Get recipes\"].json[\"recipes\"][0][\"image\"]}}",
|
||||
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"operation": "sendPhoto",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram Recipe URL",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
1180,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=\n{{$node[\"Get recipes\"].json[\"recipes\"][0][\"title\"]}}\n\n{{$node[\"Get recipes\"].json[\"recipes\"][0][\"sourceUrl\"]}}",
|
||||
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1120,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "chatid",
|
||||
"value": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"value": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"from\"][\"first_name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get recipes from API",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "https://spoonacular.com/food-api/docs",
|
||||
"position": [
|
||||
1080,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.spoonacular.com/recipes/random?apiKey=APIKEYHERE&number=1&tags=vegan",
|
||||
"options": {
|
||||
"fullResponse": false
|
||||
},
|
||||
"queryParametersUi": {
|
||||
"parameter": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get recipes",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "https://spoonacular.com/food-api/docs",
|
||||
"position": [
|
||||
800,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.spoonacular.com/recipes/random?apiKey=APIKEYHERE&number=1&tags=vegan",
|
||||
"options": {
|
||||
"fullResponse": false
|
||||
},
|
||||
"queryParametersUi": {
|
||||
"parameter": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram Trigger - people join bot",
|
||||
"type": "n8n-nodes-base.telegramTrigger",
|
||||
"position": [
|
||||
420,
|
||||
140
|
||||
],
|
||||
"webhookId": "your_bot_id",
|
||||
"parameters": {
|
||||
"updates": [
|
||||
"message"
|
||||
],
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram - Welcome Message",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
620,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=Welcome! This bot will send you one vegan recipe a day. Here is your first recipe!",
|
||||
"chatId": "={{$node[\"Telegram Trigger - people join bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "1",
|
||||
"name": "Telegram account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get recipes from API",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Airtable2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Airtable1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Airtable": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Airtable2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get recipes": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram Recipe Image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Recipe Photo": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Recipe URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get recipes from API": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Recipe Photo",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Telegram Recipe Image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram Recipe URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Telegram - Welcome Message": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get recipes",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Telegram Trigger - people join bot": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Airtable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Telegram - Welcome Message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
workflows/Http/0167_HTTP_Slack_Create_Webhook.json
Normal file
169
workflows/Http/0167_HTTP_Slack_Create_Webhook.json
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "8c8c5237b8e37b006a7adce87f4369350c58e41f3ca9de16196d3197f69eabcd"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "9a0c7f24-a344-4955-8bdc-b129e5d8d619",
|
||||
"name": "Check Result",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"notes": "IF\ndeliverability is not good\nOR\nDomain is not valid\nOR\nEmail is Disposable",
|
||||
"position": [
|
||||
860,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"statusCode\"]}}",
|
||||
"value2": "200"
|
||||
}
|
||||
],
|
||||
"boolean": []
|
||||
},
|
||||
"combineOperation": "any"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b4d3619e-1327-4b79-a81b-caed93efa5aa",
|
||||
"name": "Post to Slack",
|
||||
"type": "n8n-nodes-base.slack",
|
||||
"position": [
|
||||
1060,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=:warning: New Company with suspicious domain :warning:\n*Name: * {{$node[\"Get company information\"].json[\"properties\"][\"name\"][\"value\"]}}\n*Domain: * {{$node[\"Get company information\"].json[\"properties\"][\"website\"][\"value\"]}}\n*ID: * {{$node[\"Get company information\"].json[\"companyId\"]}}",
|
||||
"channel": "#hubspot-alerts",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"slackApi": {
|
||||
"id": "39",
|
||||
"name": "Slack Access Token"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f0e82b09-8311-49c5-b295-694ea5147b50",
|
||||
"name": "On new company created",
|
||||
"type": "n8n-nodes-base.hubspotTrigger",
|
||||
"position": [
|
||||
320,
|
||||
420
|
||||
],
|
||||
"webhookId": "748453fc-65ef-48bc-bae9-a5a6d13ade54",
|
||||
"parameters": {
|
||||
"eventsUi": {
|
||||
"eventValues": [
|
||||
{
|
||||
"name": "company.creation"
|
||||
}
|
||||
]
|
||||
},
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotDeveloperApi": {
|
||||
"id": "44",
|
||||
"name": "Hubspot Developer account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "81dd8835-e61f-44de-b650-23b35fbebb0d",
|
||||
"name": "Get company information",
|
||||
"type": "n8n-nodes-base.hubspot",
|
||||
"position": [
|
||||
500,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"resource": "company",
|
||||
"companyId": "={{$json[\"companyId\"]}}",
|
||||
"operation": "get",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotApi": {
|
||||
"id": "43",
|
||||
"name": "Hubspot account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "62017a8b-a6cd-452f-a8a4-576dbd10dc4e",
|
||||
"name": "Try to load the domain",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
660,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$json[\"properties\"][\"domain\"][\"value\"]}}",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"fullResponse": true,
|
||||
"responseFormat": "text"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Check Result": {
|
||||
"main": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"node": "Post to Slack",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"On new company created": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get company information",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Try to load the domain": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Check Result",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get company information": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Try to load the domain",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
139
workflows/Http/0223_HTTP_GoogleSheets_Automation_Webhook.json
Normal file
139
workflows/Http/0223_HTTP_GoogleSheets_Automation_Webhook.json
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
560,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://randomuser.me/api/",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
960,
|
||||
700
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:C",
|
||||
"options": {
|
||||
"usePathForKeyRow": true
|
||||
},
|
||||
"sheetId": "qwertz",
|
||||
"operation": "append",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "2",
|
||||
"name": "google_sheets_oauth"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
760,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "name",
|
||||
"value": "={{$json[\"results\"][0][\"name\"][\"first\"]}} {{$json[\"results\"][0][\"name\"][\"last\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "country",
|
||||
"value": "={{$json[\"results\"][0][\"location\"][\"country\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Spreadsheet File",
|
||||
"type": "n8n-nodes-base.spreadsheetFile",
|
||||
"position": [
|
||||
960,
|
||||
980
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"fileName": "users_spreadsheet"
|
||||
},
|
||||
"operation": "toFile",
|
||||
"fileFormat": "csv"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1160,
|
||||
720
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## JSON > Google Sheets"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1140,
|
||||
980
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## JSON > CSV"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Spreadsheet File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
337
workflows/Http/0224_HTTP_GoogleSheets_Send_Webhook.json
Normal file
337
workflows/Http/0224_HTTP_GoogleSheets_Send_Webhook.json
Normal file
@@ -0,0 +1,337 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
560,
|
||||
700
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://randomuser.me/api/",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
960,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:C",
|
||||
"options": {
|
||||
"usePathForKeyRow": true
|
||||
},
|
||||
"sheetId": "qwertz",
|
||||
"operation": "append",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "2",
|
||||
"name": "google_sheets_oauth"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
760,
|
||||
700
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "name",
|
||||
"value": "={{$json[\"results\"][0][\"name\"][\"first\"]}} {{$json[\"results\"][0][\"name\"][\"last\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "country",
|
||||
"value": "={{$json[\"results\"][0][\"location\"][\"country\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Spreadsheet File",
|
||||
"type": "n8n-nodes-base.spreadsheetFile",
|
||||
"position": [
|
||||
960,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"fileName": "users_spreadsheet"
|
||||
},
|
||||
"operation": "toFile",
|
||||
"fileFormat": "csv"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Spreadsheet File1",
|
||||
"type": "n8n-nodes-base.spreadsheetFile",
|
||||
"position": [
|
||||
960,
|
||||
1200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Write Binary File",
|
||||
"type": "n8n-nodes-base.writeBinaryFile",
|
||||
"position": [
|
||||
1360,
|
||||
1200
|
||||
],
|
||||
"parameters": {
|
||||
"fileName": "randomusers.json"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Move Binary Data1",
|
||||
"type": "n8n-nodes-base.moveBinaryData",
|
||||
"position": [
|
||||
1160,
|
||||
1200
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "jsonToBinary",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Gmail1",
|
||||
"type": "n8n-nodes-base.gmail",
|
||||
"position": [
|
||||
1360,
|
||||
1420
|
||||
],
|
||||
"parameters": {
|
||||
"message": "Hello, attached is a JSON file with random user information.",
|
||||
"subject": "JSON file with users",
|
||||
"additionalFields": {
|
||||
"attachmentsUi": {
|
||||
"attachmentsBinary": [
|
||||
{
|
||||
"property": "data"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"gmailOAuth2": {
|
||||
"id": "16",
|
||||
"name": "gmail"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets2",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"notes": "Append data to sheet",
|
||||
"position": [
|
||||
1760,
|
||||
1420
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:C",
|
||||
"options": {
|
||||
"usePathForKeyRow": true
|
||||
},
|
||||
"sheetId": "qwertz",
|
||||
"operation": "append",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "2",
|
||||
"name": "google_sheets_oauth"
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Move Binary Data2",
|
||||
"type": "n8n-nodes-base.moveBinaryData",
|
||||
"position": [
|
||||
1560,
|
||||
1420
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"sourceKey": "attachment_0"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1200,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## JSON > Google Sheets"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1200,
|
||||
860
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## JSON > CSV"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
580,
|
||||
1220
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## CSV > JSON file"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
980,
|
||||
1460
|
||||
],
|
||||
"parameters": {
|
||||
"width": 320,
|
||||
"height": 80,
|
||||
"content": "## JSON file > Google Sheets"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Spreadsheet File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Gmail1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Move Binary Data2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Spreadsheet File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Spreadsheet File1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Move Binary Data1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Write Binary File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Move Binary Data2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Spreadsheet File1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Move Binary Data1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Write Binary File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Gmail1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
240
workflows/Http/0245_HTTP_Stripe_Create_Webhook.json
Normal file
240
workflows/Http/0245_HTTP_Stripe_Create_Webhook.json
Normal file
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "acf47a04-1f3f-448a-b571-a94c84004c45",
|
||||
"name": "Current won time Not Equal to Previous",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
140,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{ $json[\"current\"].won_time}}",
|
||||
"value2": "={{ $json[\"previous\"].won_time}}",
|
||||
"operation": "notEqual"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "452a0208-be12-4aac-8c1a-9101ab79f8fb",
|
||||
"name": "On deal updated",
|
||||
"type": "n8n-nodes-base.pipedriveTrigger",
|
||||
"position": [
|
||||
-80,
|
||||
260
|
||||
],
|
||||
"webhookId": "af0f5626-e92f-4e29-bdc8-8e13c9c9cf99",
|
||||
"parameters": {
|
||||
"action": "updated",
|
||||
"object": "deal"
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "202b9a47-2f00-43ec-bbab-ba82f94e4174",
|
||||
"name": "Get organisation details",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"resource": "organization",
|
||||
"operation": "get",
|
||||
"organizationId": "={{ $json[\"current\"].org_id }}",
|
||||
"resolveProperties": true
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b88e18a3-1514-424f-ba96-c8bb94c14cb3",
|
||||
"name": "Search customer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
600,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.stripe.com/v1/customers/search",
|
||||
"options": {},
|
||||
"authentication": "predefinedCredentialType",
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "query",
|
||||
"value": "=name:'{{ $json[\"Name\"] }}'"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "stripeApi"
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "3",
|
||||
"name": "Stripe account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "b4a4491e-8d69-41b6-83a4-128f228108e3",
|
||||
"name": "Customer does not exist",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
860,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{ JSON.stringify($json[\"data\"]) }}",
|
||||
"value2": "[]"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6aeaa043-ce4b-4665-a1eb-9fe66d86202f",
|
||||
"name": "Continue with organisation data",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1120,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "passThrough",
|
||||
"output": "input2"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "21bc3b5a-72eb-4015-957a-7facfce371e0",
|
||||
"name": "Create customer",
|
||||
"type": "n8n-nodes-base.stripe",
|
||||
"position": [
|
||||
1360,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"name": "={{ $json[\"Name\"] }}",
|
||||
"resource": "customer",
|
||||
"operation": "create",
|
||||
"additionalFields": {
|
||||
"address": {
|
||||
"details": {
|
||||
"city": "={{ $json[\"City/town/village/locality\"] }}",
|
||||
"line1": "={{ $json[\"Street/road name\"] }} {{ $json[\"House number\"] }}",
|
||||
"state": "={{ $json[\"State/county\"] }}",
|
||||
"country": "={{ $json[\"Country\"] }}",
|
||||
"postal_code": "={{ $json[\"ZIP/Postal code\"] }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "3",
|
||||
"name": "Stripe account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"On deal updated": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Current won time Not Equal to Previous",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Search customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Customer does not exist",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Customer does not exist": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Continue with organisation data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get organisation details": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Search customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Continue with organisation data",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Continue with organisation data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Current won time Not Equal to Previous": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get organisation details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
276
workflows/Http/0252_HTTP_GitHub_Create_Webhook.json
Normal file
276
workflows/Http/0252_HTTP_GitHub_Create_Webhook.json
Normal file
@@ -0,0 +1,276 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "a84fa822-fd74-45db-93c6-f51be75ef307",
|
||||
"name": "person exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
920,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"name\"]}}",
|
||||
"operation": "isNotEmpty"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "500ef1bd-8965-4245-81d7-14c3897b4275",
|
||||
"name": "Set person Id",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1480,
|
||||
320
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "PipedrivePersonId",
|
||||
"value": "={{ $json[\"id\"] }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ab1a1335-92c8-41f8-b008-5b19530f08e9",
|
||||
"name": "Create lead",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
1740,
|
||||
320
|
||||
],
|
||||
"parameters": {
|
||||
"title": "=Repo '{{$node[\"On fork\"].json[\"body\"][\"repository\"][\"full_name\"]}}' forked by {{$json[\"name\"]}}",
|
||||
"resource": "lead",
|
||||
"person_id": "={{$json[\"PipedrivePersonId\"]}}",
|
||||
"associateWith": "person",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4fd06c6a-4975-4a6a-95f3-bb48f3e9bdf6",
|
||||
"name": "On fork",
|
||||
"type": "n8n-nodes-base.githubTrigger",
|
||||
"position": [
|
||||
180,
|
||||
340
|
||||
],
|
||||
"webhookId": "ff05ca29-9ed3-4b97-a4ce-4f9b1c05255f",
|
||||
"parameters": {
|
||||
"owner": "John-n8n",
|
||||
"events": [
|
||||
"fork"
|
||||
],
|
||||
"repository": "DemoRepo"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": {
|
||||
"id": "7",
|
||||
"name": "GitHub account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "86554078-ce7c-4dd3-b36f-d1bf22530f7b",
|
||||
"name": "Create person",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
1200,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"name": "={{ $node[\"On fork\"].json[\"body\"].forkee.owner.login }}",
|
||||
"resource": "person",
|
||||
"additionalFields": {
|
||||
"email": [
|
||||
"={{$node[\"Get Github user information\"].email}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c4a8dae8-d6f3-4309-8fa5-78d69cf1b1e8",
|
||||
"name": "Create note with github url",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
1980,
|
||||
320
|
||||
],
|
||||
"parameters": {
|
||||
"content": "=Github user url: {{ $node[\"On fork\"].json[\"body\"].sender.html_url }}",
|
||||
"resource": "note",
|
||||
"additionalFields": {
|
||||
"lead_id": "={{ $json[\"id\"] }}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8dfa3e8e-29d8-4098-825d-8ec915ca6f3f",
|
||||
"name": "Get Github user information",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
440,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$json[\"body\"].sender.url}}",
|
||||
"options": {},
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "githubApi"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": {
|
||||
"id": "7",
|
||||
"name": "GitHub account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "c4c2538a-28e8-4c75-856d-000a727a4f13",
|
||||
"name": "Search forkee in Pipedrive by email",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
680,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"term": "={{ $json[\"email\"]}}",
|
||||
"resource": "person",
|
||||
"operation": "search",
|
||||
"additionalFields": {
|
||||
"fields": "email"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"On fork": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Github user information",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create lead": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create note with github url",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create person": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set person Id",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set person Id": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create lead",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"person exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set person Id",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Create person",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Github user information": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Search forkee in Pipedrive by email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Search forkee in Pipedrive by email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "person exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
185
workflows/Http/0253_HTTP_GitHub_Send_Webhook.json
Normal file
185
workflows/Http/0253_HTTP_GitHub_Send_Webhook.json
Normal file
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "28409b8d-3ae2-4cdb-a4ba-b0af9f31c1f2",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
940,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$json[\"body\"].sender.url}}",
|
||||
"options": {},
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "githubApi"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": {
|
||||
"id": "7",
|
||||
"name": "GitHub account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "aa604a92-7691-4b25-bbd0-ce42b8147fd8",
|
||||
"name": "Search PR user in Pipedrive by email",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
1220,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"term": "={{ $json[\"email\"]}}",
|
||||
"resource": "person",
|
||||
"operation": "search",
|
||||
"additionalFields": {
|
||||
"fields": "email"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"id": "444a840f-3d34-48c4-b539-fe23a2a2a39c",
|
||||
"name": "person exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1460,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"name\"]}}",
|
||||
"operation": "isNotEmpty"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b713ebee-0346-453e-bc1e-5dec1c74057f",
|
||||
"name": "Pipedrive",
|
||||
"type": "n8n-nodes-base.pipedrive",
|
||||
"position": [
|
||||
1780,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"content": "=Created a PR \n{{$node[\"ON Pull Request\"].json[\"body\"][\"pull_request\"][\"html_url\"]}}",
|
||||
"resource": "note",
|
||||
"additionalFields": {
|
||||
"person_id": "={{ $json[\"id\"] }}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pipedriveApi": {
|
||||
"id": "1",
|
||||
"name": "Pipedrive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "72b08b20-5b30-4f06-bf7e-34ab28421455",
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1780,
|
||||
540
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e0a1b859-16d4-4884-a17a-6e857fdbe8d4",
|
||||
"name": "ON Pull Request",
|
||||
"type": "n8n-nodes-base.githubTrigger",
|
||||
"position": [
|
||||
640,
|
||||
440
|
||||
],
|
||||
"webhookId": "ec0c326f-4ccd-4c07-8653-ec0fe23765d5",
|
||||
"parameters": {
|
||||
"owner": "John-n8n",
|
||||
"events": [
|
||||
"pull_request"
|
||||
],
|
||||
"repository": "DemoRepo"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": {
|
||||
"id": "7",
|
||||
"name": "GitHub account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Search PR user in Pipedrive by email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"person exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Pipedrive",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ON Pull Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Search PR user in Pipedrive by email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "person exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
133
workflows/Http/0287_HTTP_Rabbitmq_Update_Scheduled.json
Normal file
133
workflows/Http/0287_HTTP_Rabbitmq_Update_Scheduled.json
Normal file
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"id": "184",
|
||||
"name": "Send updates about the position of the ISS every minute to a topic in RabbitMQ",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "RabbitMQ",
|
||||
"type": "n8n-nodes-base.rabbitmq",
|
||||
"position": [
|
||||
1300,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"queue": "iss-position",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"rabbitmq": "RabbitMQ Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1110,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "Latitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"latitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Longitude",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"longitude\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Timestamp",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"timestamp\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "Name",
|
||||
"value": "={{$node[\"HTTP Request\"].json[\"0\"][\"name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
910,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wheretheiss.at/v1/satellites/25544/positions",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timestamps",
|
||||
"value": "={{Date.now();}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
710,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "RabbitMQ",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "0357b17f-9fcf-4725-8311-28bd9c76c37c",
|
||||
"name": "On GET request",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
820,
|
||||
400
|
||||
],
|
||||
"webhookId": "454eb4ea-e460-4196-b31c-284abf234fc3",
|
||||
"parameters": {
|
||||
"path": "download-pdf",
|
||||
"options": {},
|
||||
"responseMode": "responseNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "21d8c543-33c2-45eb-b392-2cb7139344c6",
|
||||
"name": "Fetch binary file",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1040,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.deutschebahn.com/resource/blob/8813300/bdf106f07186f66e4448f95aca02bd4a/Faktenblatt-ICE-L_Mai23-data.pdf",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "file"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "3ced3067-d82c-4bb4-b5fe-53a8d79c2177",
|
||||
"name": "Respond with attachment",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"position": [
|
||||
1260,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"responseHeaders": {
|
||||
"entries": [
|
||||
{
|
||||
"name": "content-disposition",
|
||||
"value": "=attachment; filename=\"my_document_{{ $now.toFormat('yyyy-MM-dd') }}.pdf\""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"respondWith": "binary"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"On GET request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch binary file",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Fetch binary file": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond with attachment",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
232
workflows/Http/0310_HTTP_Manual_Automation_Webhook.json
Normal file
232
workflows/Http/0310_HTTP_Manual_Automation_Webhook.json
Normal file
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "3d58a8a9-50dd-4f06-8955-c73c30b64225",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://randomuser.me/api/",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "ceaf349d-3fa6-44b0-9238-2998ce026175",
|
||||
"name": "Spreadsheet File",
|
||||
"type": "n8n-nodes-base.spreadsheetFile",
|
||||
"position": [
|
||||
920,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"fileName": "users_spreadsheet"
|
||||
},
|
||||
"operation": "toFile",
|
||||
"fileFormat": "csv"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a8cd75a4-1b2c-4e1f-bd96-0377cc156025",
|
||||
"name": "Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
680,
|
||||
-14
|
||||
],
|
||||
"parameters": {
|
||||
"width": 523,
|
||||
"height": 302,
|
||||
"content": "### JSON to Google Sheets\nWe map data from the HTTP Request directly in the `Google Sheets` node, so we don't need a `Set` node before to transform the incoming data."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a81fb564-f34a-4fd8-9758-6a2fb9bac6e0",
|
||||
"name": "Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
680,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"width": 522,
|
||||
"height": 299,
|
||||
"content": "### JSON to .CSV\nWe use the `Set` node to trim down the data that we convert to CSV file format (and flatten it from it's previous object-like data structure). Change settings in `Spreadsheet File` node to convert to .xls etc."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "003a33f1-e060-4373-a97a-0be2c4a5e2a1",
|
||||
"name": "When clicking \"Execute Workflow\"",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
140,
|
||||
240
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b63a19f6-008c-4a38-8112-073433a2d125",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-340,
|
||||
20
|
||||
],
|
||||
"parameters": {
|
||||
"width": 377.1993316649719,
|
||||
"height": 590.2004455566864,
|
||||
"content": "## 👋 How to use this template\nThis template shows how you can load JSON data from an API and load it into an App (Google Sheets) or convert to a file. Here's how to use it:\n\n1. Open the `Google Sheets` node and add a credential (or disabled the node)\n2. Click the `Execute Workflow` button, then double click the nodes to see their input and output data\n\n### To customize this template to you needs:\n1. Swap `When clicking \"Execute Workflow\"` and the `HTTP Request` node with an App trigger. If we don't have a Native app trigger, just replace `When clicking \"Execute Workflow\"` with a [Schedule trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/).\n2. Disable or remove parts of the workflow that are not relevant to your usecase.\n4. Activate the workflow \n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "426c8cce-0af6-4c9a-9702-9695093fe7fd",
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
720,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"columns": {
|
||||
"value": {},
|
||||
"schema": [
|
||||
{
|
||||
"id": "id",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "id",
|
||||
"defaultMatch": true,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "status",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"required": false,
|
||||
"displayName": "status",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "name",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"required": false,
|
||||
"displayName": "name",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"operation": "append",
|
||||
"sheetName": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gid=0",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1fAy_eUTZqaUBnCHTvF7F-VCu0zqlGlupgcAdL68UuJA/edit#gid=0",
|
||||
"cachedResultName": "Sheet1"
|
||||
},
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "1fAy_eUTZqaUBnCHTvF7F-VCu0zqlGlupgcAdL68UuJA",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1fAy_eUTZqaUBnCHTvF7F-VCu0zqlGlupgcAdL68UuJA/edit?usp=drivesdk",
|
||||
"cachedResultName": "Sync data from one app to another [one-way sync] (Destination example)"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "uJ1SWmfKH3MikNyZ",
|
||||
"name": "Google Sheets account 2"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4
|
||||
},
|
||||
{
|
||||
"id": "5886f624-ab5a-4cd2-be2b-b166f617f77c",
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
720,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Full Name",
|
||||
"value": "={{ $json.results[0].name.first }} {{ $json.results[0].name.last }}"
|
||||
},
|
||||
{
|
||||
"name": "Country",
|
||||
"value": "={{ $json.results[0].location.country }}"
|
||||
},
|
||||
{
|
||||
"name": "email",
|
||||
"value": "={{ $json.results[0].email }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Spreadsheet File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When clicking \"Execute Workflow\"": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
284
workflows/Http/0313_HTTP_Schedule_Create_Scheduled.json
Normal file
284
workflows/Http/0313_HTTP_Schedule_Create_Scheduled.json
Normal file
@@ -0,0 +1,284 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "78d5f452-5ba1-4d59-9d52-8f32512d2c25",
|
||||
"name": "List scheduled events from Discord",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1940,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://discord.com/api/guilds/{{ $('Configure').first().json.guild_id }}/scheduled-events",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "with_user_count",
|
||||
"value": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "fxbcosIH3MYkufX8",
|
||||
"name": "FILL ME"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "af149917-0d46-4a40-b377-69c088a4a7b9",
|
||||
"name": "On schedule",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
1420,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "619c149f-f954-4f5d-a160-01a8b85f3eb7",
|
||||
"name": "Update event details",
|
||||
"type": "n8n-nodes-base.googleCalendar",
|
||||
"position": [
|
||||
2600,
|
||||
900
|
||||
],
|
||||
"parameters": {
|
||||
"eventId": "={{ $json.id }}",
|
||||
"calendar": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "[UPDATE ME]",
|
||||
"cachedResultName": "Events"
|
||||
},
|
||||
"operation": "update",
|
||||
"updateFields": {
|
||||
"end": "={{ $('List scheduled events from Discord').item.json.scheduled_end_time }}",
|
||||
"start": "={{ $('List scheduled events from Discord').item.json.scheduled_start_time }}",
|
||||
"summary": "={{ $('List scheduled events from Discord').item.json.name }}",
|
||||
"location": "={{ $('List scheduled events from Discord').item.json.entity_metadata.location }}",
|
||||
"description": "={{ $('List scheduled events from Discord').item.json.description }}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleCalendarOAuth2Api": {
|
||||
"id": "dRGPTy0BjDpAYjYl",
|
||||
"name": "FILL ME"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "56e60042-d345-46f2-b1c6-4e21825cb5c9",
|
||||
"name": "Create event",
|
||||
"type": "n8n-nodes-base.googleCalendar",
|
||||
"position": [
|
||||
2600,
|
||||
1100
|
||||
],
|
||||
"parameters": {
|
||||
"end": "={{ $('List scheduled events from Discord').item.json.scheduled_end_time }}",
|
||||
"start": "={{ $('List scheduled events from Discord').item.json.scheduled_start_time }}",
|
||||
"calendar": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "[UPDATE ME]",
|
||||
"cachedResultName": "Events"
|
||||
},
|
||||
"additionalFields": {
|
||||
"id": "={{ $('List scheduled events from Discord').item.json.id }}",
|
||||
"summary": "={{ $('List scheduled events from Discord').item.json.name }}",
|
||||
"location": "={{ $('List scheduled events from Discord').item.json.entity_metadata.location }}",
|
||||
"description": "={{ $('List scheduled events from Discord').item.json.description }}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleCalendarOAuth2Api": {
|
||||
"id": "dRGPTy0BjDpAYjYl",
|
||||
"name": "FILL ME"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "afb05bee-eb5f-453f-8e95-277296ce94b8",
|
||||
"name": "Get events",
|
||||
"type": "n8n-nodes-base.googleCalendar",
|
||||
"position": [
|
||||
2160,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"eventId": "={{ $json.id }}",
|
||||
"options": {},
|
||||
"calendar": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "[UPDATE ME]",
|
||||
"cachedResultName": "Events"
|
||||
},
|
||||
"operation": "get"
|
||||
},
|
||||
"credentials": {
|
||||
"googleCalendarOAuth2Api": {
|
||||
"id": "dRGPTy0BjDpAYjYl",
|
||||
"name": "FILL ME"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"id": "56b731bd-4676-4b77-bafa-7120a51bf75d",
|
||||
"name": "Create or update?",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
2380,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{ $json.id }}",
|
||||
"operation": "isNotEmpty"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "12e40b0e-3740-47db-8647-eff8c0c959df",
|
||||
"name": "Configure",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1680,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "guild_id",
|
||||
"value": "447359847986495498"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "4160a727-6a50-40ce-a7f2-0abbd5a6b1bc",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1600,
|
||||
940
|
||||
],
|
||||
"parameters": {
|
||||
"width": 254.7946768060834,
|
||||
"height": 296.7300380228139,
|
||||
"content": "### Configuration\n\n\n\n\n\n\n\n\n\n\n\n\n\n__`guild_id`__: the server ID in Discord. See how to get that [from this Wikipedia tutorial](https://en.wikipedia.org/wiki/Template:Discord_server#:~:text=Getting%20Guild%20ID,to%20get%20the%20guild%20ID.)."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ac717afe-1d30-4994-a134-0d535d04b932",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
920,
|
||||
760
|
||||
],
|
||||
"parameters": {
|
||||
"width": 420.45280925604845,
|
||||
"height": 639.1273068962362,
|
||||
"content": "## Sync Discord scheduled events to Google Calendar\nThis workflow syncs Discord scheduled events to Google Calendar. On a specified schedule, a request to Discord's API is made to get the scheduled events on a particular server. Only the events that have not been created or have recently been updated will be sent to Google Calendar.\n\n### Setup\nYou will need to create a Discord bot. See how to do that [here](https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token). Once you have created your bot, create **Header Auth** in `List scheduled events from Discord` node. Your header auth fields should be:\n\nName: Authorization\nValue: Bot _<your token>_ \n(i.e. Bot MTEzMTgw...uQdg)\n\n### How it works\n1. Triggers off on the `On schedule` node.\n2. Gets the scheduled events from Discord.\n3. The IDs of the Discord scheduled events are used to get the events from Google Calendar, since the IDs are the same on creation of the Google Calendar event.\n4. We can now determine which events are new or have been updated.\n5. The new or updated events are created or updated in Google Calendar."
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Configure": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "List scheduled events from Discord",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get events": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create or update?",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"On schedule": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Configure",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create or update?": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update event details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Create event",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"List scheduled events from Discord": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get events",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
92
workflows/Http/0344_HTTP_Emailreadimap_Create_Webhook.json
Normal file
92
workflows/Http/0344_HTTP_Emailreadimap_Create_Webhook.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Create Nextcloud Deck card from email",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "IMAP Email",
|
||||
"type": "n8n-nodes-base.emailReadImap",
|
||||
"notes": "Check email",
|
||||
"position": [
|
||||
480,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"imap": {
|
||||
"id": "2",
|
||||
"name": "todo@yourdomain.com"
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Function",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"notes": "Strip HTML code",
|
||||
"position": [
|
||||
730,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "// Code here will run only once, no matter how many input items there are.\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.function\n\n// Loop over inputs and add a new field called 'myNewField' to the JSON of each one\nfor (item of items) {\n if (item.json.textHtml) {\n // Remove HTML, double quotations, line breaks, carriage returns\n item.json.body = item.json.textHtml.replace(/<br(\\s*?\\/?)>/g, \"\\\\n\").replace(/(<([^>]+)>)/g, \"\").replace(/\\\"/g, \"\");\n //item.json.body = item.json.textHtml.eplace(/(<([^>]+)>)/g, \"\").replace(/\\\"/g, \"\").replace(/\\n/g, \"\").replace(/\\r/g, \"\");\n } else {\n // Remove double quotations, line breaks, carriage returns\n item.json.body = item.json.textPlain.replace(/\\\"/g, \"\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\");\n }\n}\n\n// You can write logs to the browser console\nconsole.log('Done!');\n\nreturn items;"
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "Add card to Nextcloud Deck App. Configure board / stack id to your environment.",
|
||||
"position": [
|
||||
970,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://your.nextcloud.com/index.php/apps/deck/api/v1.0/boards/YOUR-BOARD-ID/stacks/YOUR-STACK-ID/cards",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "basicAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n\"title\": \"{{$json[\"subject\"]}}\",\n\"type\": \"plain\",\n\"order\": -1,\n\"description\": \"{{$json[\"body\"]}}\"\n}",
|
||||
"headerParametersJson": "{\n\"OCS-APIRequest\": \"true\",\n\"Content-Type\": \"application/json\"\n}"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"id": "3",
|
||||
"name": "Nextcloud credential"
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Function": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IMAP Email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Function",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
696
workflows/Http/0347_HTTP_GoogleSheets_Sync_Webhook.json
Normal file
696
workflows/Http/0347_HTTP_GoogleSheets_Sync_Webhook.json
Normal file
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Dialpad to Syncro",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "GetCustomer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
350,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/search?query={{$json[\"body\"][\"external_number\"].replace(/\\+/g, '').replace(/^[01]/, '')}}",
|
||||
"options": {},
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
-60,
|
||||
180
|
||||
],
|
||||
"webhookId": "ec452bb5-58d9-4e0d-9cd2-c6df1c2cd957",
|
||||
"parameters": {
|
||||
"path": "moezdialpad",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseData": "allEntries",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "CreateTicket",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1190,
|
||||
110
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets",
|
||||
"options": {
|
||||
"bodyContentType": "json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "customer_id",
|
||||
"value": "={{$node[\"Contacts\"].json[\"contacts\"][0][\"customer_id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "subject",
|
||||
"value": "=Phone call from {{$node[\"Function\"].json[\"contacts\"][0][\"firstname\"]}} {{$node[\"Function\"].json[\"contacts\"][0][\"lastname\"]}} ({{$node[\"Webhook\"].json[\"body\"][\"contact\"][\"phone\"]}})"
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"value": "In Progress"
|
||||
},
|
||||
{
|
||||
"name": "contact_id",
|
||||
"value": "={{$node[\"Contacts\"].json[\"contacts\"][0][\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "={{$node[\"EnvVariables\"].parameter[\"values\"][\"string\"][1][\"value\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "GetTicket",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
860,
|
||||
40
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets?contact_id={{$json[\"contacts\"][0][\"id\"]}}&status=Not%20Closed",
|
||||
"options": {},
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IFMoreThanOne",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1000,
|
||||
40
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$node[\"GetTicket\"].json[\"tickets\"].length}}",
|
||||
"value2": 1,
|
||||
"operation": "equal"
|
||||
}
|
||||
],
|
||||
"boolean": [
|
||||
{
|
||||
"value1": "={{$json[\"tickets\"]}}",
|
||||
"value2": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"combineOperation": "any"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1480,
|
||||
-40
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:B",
|
||||
"options": {
|
||||
"valueInputMode": "USER_ENTERED"
|
||||
},
|
||||
"sheetId": "xxx",
|
||||
"operation": "append"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "ForGoogle",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1340,
|
||||
-40
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Call",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"call_id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Ticket",
|
||||
"value": "={{$node[\"GetTicket\"].json[\"tickets\"][0][\"id\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "UpdateTicket",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1190,
|
||||
-40
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets/{{$json[\"tickets\"][0][\"id\"]}}/comment",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "subject",
|
||||
"value": "=Phone call from {{$node[\"GetCustomer\"].json[\"results\"][0][\"table\"][\"_source\"][\"table\"][\"firstname\"]}} {{$node[\"GetCustomer\"].json[\"results\"][0][\"table\"][\"_source\"][\"table\"][\"lastname\"]}} ({{$node[\"Webhook\"].json[\"body\"][\"contact\"][\"phone\"]}})"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"value": "={{$node[\"GetCustomer\"].json[\"results\"][0][\"table\"][\"_source\"][\"table\"][\"firstname\"]}} {{$node[\"GetCustomer\"].json[\"results\"][0][\"table\"][\"_source\"][\"table\"][\"lastname\"]}} called."
|
||||
},
|
||||
{
|
||||
"name": "hidden",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "={{$node[\"EnvVariables\"].parameter[\"values\"][\"string\"][1][\"value\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "ForGoogle1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1340,
|
||||
110
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Call",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"call_id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Ticket",
|
||||
"value": "={{$node[\"CreateTicket\"].json[\"ticket\"][\"id\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets1",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1480,
|
||||
110
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:B",
|
||||
"options": {
|
||||
"valueInputMode": "USER_ENTERED"
|
||||
},
|
||||
"sheetId": "xxx",
|
||||
"operation": "append"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
830,
|
||||
220
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Contacts",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
510,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const { json: { results } } = items[0];\n\nconst getData = (results, type) => results.filter(r => r.table._index === type).map(x => ({\n id: x.table._id,\n firstname: x.table._source.table.firstname,\n lastname: x.table._source.table.lastname,\n customer_id: x.table._source.table.customer_id,\n email: x.table._source.table.email,\n business_name: x.table._source.table.business_name,\n phones: x.table._source.table.phones\n }));\n \nreturn [ { json: { contacts: getData(results, 'contacts') } } ];\n"
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"name": "IFContacts",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
670,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$node[\"Contacts\"].json[\"contacts\"].length}}",
|
||||
"value2": 1,
|
||||
"operation": "equal"
|
||||
}
|
||||
],
|
||||
"string": [],
|
||||
"boolean": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Customers",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
510,
|
||||
370
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const { json: { results } } = items[0];\n\nconst getData = (results, type) => results.filter(r => r.table._index === type).map(x => ({\n id: x.table._id,\n firstname: x.table._source.table.firstname,\n lastname: x.table._source.table.lastname,\n customer_id: x.table._source.table.customer_id,\n email: x.table._source.table.email,\n business_name: x.table._source.table.business_name,\n phones: x.table._source.table.phones\n }));\n \nreturn [ { json: { customers: getData(results, 'customers') } } ];\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IFCustomers",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
670,
|
||||
370
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$node[\"Customers\"].json[\"customers\"].length}}",
|
||||
"value2": 1,
|
||||
"operation": "equal"
|
||||
}
|
||||
],
|
||||
"string": [],
|
||||
"boolean": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp1",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
810,
|
||||
520
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "CreateTicketForCustomer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
860,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets",
|
||||
"options": {
|
||||
"bodyContentType": "json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "customer_id",
|
||||
"value": "={{$node[\"Customers\"].json[\"customers\"][0][\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "subject",
|
||||
"value": "=Phone call from {{$node[\"Customers\"].json[\"customers\"][0][\"business_name\"]}} ({{$node[\"Webhook\"].json[\"body\"][\"contact\"][\"phone\"]}})"
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"value": "In Progress"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "={{$node[\"EnvVariables\"].parameter[\"values\"][\"string\"][1][\"value\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "ForGoogle2",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1040,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Call",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"call_id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Ticket",
|
||||
"value": "={{$node[\"CreateTicketForCustomer\"].json[\"ticket\"][\"id\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets2",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1210,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:B",
|
||||
"options": {
|
||||
"valueInputMode": "USER_ENTERED"
|
||||
},
|
||||
"sheetId": "xxx",
|
||||
"operation": "append"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "EnvVariables",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
210,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "syncro_baseurl",
|
||||
"value": "https://subdomain.syncromsp.com"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "1234"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
70,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"direction\"]}}",
|
||||
"value2": "inbound"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp2",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
70,
|
||||
370
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "EnvVariables",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Contacts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IFContacts",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Customers": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IFCustomers",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ForGoogle": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"GetTicket": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IFMoreThanOne",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ForGoogle1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ForGoogle2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IFContacts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GetTicket",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"GetCustomer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Contacts",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Customers",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IFCustomers": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "CreateTicketForCustomer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CreateTicket": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ForGoogle1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"EnvVariables": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GetCustomer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"UpdateTicket": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ForGoogle",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IFMoreThanOne": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "UpdateTicket",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "CreateTicket",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CreateTicketForCustomer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ForGoogle2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
149
workflows/Http/0350_HTTP_Emailreadimap_Send_Webhook.json
Normal file
149
workflows/Http/0350_HTTP_Emailreadimap_Send_Webhook.json
Normal file
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"id": "1",
|
||||
"name": "ImapEmail, XmlToJson, POST-HTTP-Request",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "IMAP Email",
|
||||
"type": "n8n-nodes-base.emailReadImap",
|
||||
"position": [
|
||||
450,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": true
|
||||
},
|
||||
"downloadAttachments": true
|
||||
},
|
||||
"credentials": {
|
||||
"imap": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Move Binary Data",
|
||||
"type": "n8n-nodes-base.moveBinaryData",
|
||||
"position": [
|
||||
600,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"encoding": "utf8",
|
||||
"keepSource": false
|
||||
},
|
||||
"sourceKey": "attachment_0",
|
||||
"setAllData": false,
|
||||
"destinationKey": "xml"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "XML",
|
||||
"type": "n8n-nodes-base.xml",
|
||||
"position": [
|
||||
800,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"ignoreAttrs": true,
|
||||
"explicitRoot": true
|
||||
},
|
||||
"dataPropertyName": "xml"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1210,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"url": "http://localhost:5679/api/sales-order",
|
||||
"options": {
|
||||
"bodyContentType": "form-urlencoded"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"responseFormat": "string",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "orderRequest",
|
||||
"value": "={{$node[\"Set\"].data}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"dataPropertyName": "status",
|
||||
"allowUnauthorizedCerts": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
960,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {
|
||||
"errorWorkflow": "2"
|
||||
},
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"XML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IMAP Email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Move Binary Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Move Binary Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "XML",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
124
workflows/Http/0358_HTTP_Discord_Monitor_Scheduled.json
Normal file
124
workflows/Http/0358_HTTP_Discord_Monitor_Scheduled.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Website check",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
400,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "",
|
||||
"options": {},
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
550,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"HTTP Request\"].json[\"data\"]}}",
|
||||
"value2": "Out Of Stock",
|
||||
"operation": "contains"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Discord",
|
||||
"type": "n8n-nodes-base.discord",
|
||||
"position": [
|
||||
700,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"text": "value found",
|
||||
"webhookUri": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Discord1",
|
||||
"type": "n8n-nodes-base.discord",
|
||||
"position": [
|
||||
700,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"text": "value not found",
|
||||
"webhookUri": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
210,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyHour"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[],
|
||||
[
|
||||
{
|
||||
"node": "Discord1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
596
workflows/Http/0363_HTTP_Executeworkflow_Automate_Webhook.json
Normal file
596
workflows/Http/0363_HTTP_Executeworkflow_Automate_Webhook.json
Normal file
@@ -0,0 +1,596 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "02072c77-9eee-43bc-a046-bdc31bf1bc51",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-240,
|
||||
1280
|
||||
],
|
||||
"parameters": {
|
||||
"width": 616,
|
||||
"height": 236,
|
||||
"content": "### Convert the query string into JSON, apply the limit for a page length"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "31e7582c-9289-4bd3-b89d-c3d866754313",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
820,
|
||||
980
|
||||
],
|
||||
"parameters": {
|
||||
"width": 491,
|
||||
"height": 285.7,
|
||||
"content": "## Send an error message:\n1. If query param was incorrect, return the instruction. AI Agent should pick up on this and adapt the query on the next iteration.\n2. If the query is OK and an error was during the HTTP Request, then send back the original error message."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "0f3ec3c8-076a-4f22-a9ab-4623494914ff",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
820,
|
||||
1300
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1200,
|
||||
"height": 493,
|
||||
"content": "## Post-processing of the HTML page:\n1. Keep only <BODY> content\n2. Remove inline <SCRIPT> tag entirely, as well as: NOSCRIPT, IFRAME, OBJECT, EMBED, VIDEO, AUDIO, SVG, and HTML comments.\n3. In case query parameter method=simplified, replace all page URLs (a href) and IMG (src) with NOURL / NOIMG - this may save up to 20% of the page length\n4. Convert the remaining HTML to Markdown. This step further reduces the length of the page: long HTML tags and styles are eliminated, but the markdown syntax keeps some page structure. This gives much better results compared to just a blank text.\n5. Finally, check the page length. If it's too long, send an \"ERROR: PAGE CONTENT TOO LONG\" instead of the actual page. Of course, you could split the page content in chunks, but sometimes long pages just don't have a needed content, so it makes little sense to burn tokens on them."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "139733cc-7954-459e-9b55-15a3bde4d8b7",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-240,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"width": 617,
|
||||
"height": 503,
|
||||
"content": "## Example ReAct AI Agent\n1. Agent Prompt is default\n2. Check the description of the HTTP_Request_Tool, it guides the agent to provide a query string with several parameters instead of a JSON object"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2b5ee7e4-061d-4a17-8581-54e02086a49a",
|
||||
"name": "When chat message received",
|
||||
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
|
||||
"position": [
|
||||
-200,
|
||||
840
|
||||
],
|
||||
"webhookId": "e0a11ea2-9dd7-496a-8078-1a96f05fc04b",
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "adc5e4d7-bccf-4ee7-9464-5cbb7b1409ba",
|
||||
"name": "AI Agent",
|
||||
"type": "@n8n/n8n-nodes-langchain.agent",
|
||||
"position": [
|
||||
20,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1.8
|
||||
},
|
||||
{
|
||||
"id": "10ccad7d-2c83-4fd9-beb9-a99e1c034947",
|
||||
"name": "OpenAI Chat Model1",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
20,
|
||||
1040
|
||||
],
|
||||
"parameters": {
|
||||
"model": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4o-mini"
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "4btCKq9GjcZHsUb1",
|
||||
"name": "x.ai compat"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "5d582c5f-35d3-4cdb-96ad-fa750be0b889",
|
||||
"name": "When Executed by Another Workflow",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
-160,
|
||||
1340
|
||||
],
|
||||
"parameters": {
|
||||
"inputSource": "passthrough"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "1f073e7d-2cdd-426e-8d05-287fdf20f564",
|
||||
"name": "QUERY_PARAMS",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
20,
|
||||
1340
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "f3a339da-66dc-45f1-852a-cdfe0daa4552",
|
||||
"name": "query",
|
||||
"type": "object",
|
||||
"value": "={{ $json.query.substring($json.query.indexOf('?') + 1).split('&').reduce((result, item) => (result[item.split('=')[0]] = decodeURIComponent(item.split('=')[1]), result), {}) }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "e9f627af-e935-478e-a2b1-b50ea57d14b1",
|
||||
"name": "CONFIG",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
200,
|
||||
1340
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "ce4bb35a-c5ac-430e-b11a-6bf04de2dd90",
|
||||
"name": "query.maxlimit",
|
||||
"type": "number",
|
||||
"value": "={{ $json?.query?.maxlimit == null ? 70000 : Number($json?.query?.maxlimit) }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "0309fb92-6785-4e38-aaeb-05ee4b6a64e2",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
440,
|
||||
1340
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ encodeURI($json.query.url) }}",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"neverError": true
|
||||
}
|
||||
},
|
||||
"allowUnauthorizedCerts": true
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "9c8b9856-a403-405c-afd4-9e9fecaa5913",
|
||||
"name": "Is error?",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
620,
|
||||
1340
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "33937446-5010-47d2-b98f-2f0ceae3fbf5",
|
||||
"operator": {
|
||||
"type": "boolean",
|
||||
"operation": "true",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "={{ $json.hasOwnProperty('error') }}",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "d7275d78-2c59-4b8f-bb8e-481f73827fd5",
|
||||
"name": "Stringify error message",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
880,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"include": "selected",
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "510f74a1-17da-4a2a-b207-9eda19f97ee0",
|
||||
"name": "page_content",
|
||||
"type": "string",
|
||||
"value": "={{ $('QUERY_PARAMS').first()?.json?.query?.url == null ? \"INVALID action_input. This should be an HTTP query string like this: \\\"?url=VALIDURL&method=SELECTEDMETHOD\\\". Only a simple string value is accepted. JSON object as an action_input is NOT supported!\" : JSON.stringify($json.error) }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeFields": "HTML",
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "f7ca9e36-5edb-4573-a258-150c5bdcc644",
|
||||
"name": "Exctract HTML Body",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
900,
|
||||
1620
|
||||
],
|
||||
"parameters": {
|
||||
"include": "selected",
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "3639b76e-3ae9-4461-8d4c-552bf1c8a6bf",
|
||||
"name": "HTML",
|
||||
"type": "string",
|
||||
"value": "={{ $json?.data.match(/<body[^>]*>([\\s\\S]*?)<\\/body>/i)[1] }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeFields": "HTML",
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "9fef995b-d8ab-4d01-b2fb-01a605062fd1",
|
||||
"name": "Remove extra tags",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1080,
|
||||
1620
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "89b927c9-ddc1-4735-a0ea-c1e50a057f76",
|
||||
"name": "HTML",
|
||||
"type": "string",
|
||||
"value": "={{ ($json.HTML || \"HTML BODY CONTENT FOR THIS SEARCH RESULT IS NOT AVAILABLE\").replace(/<script[^>]*>([\\s\\S]*?)<\\/script>|<style[^>]*>([\\s\\S]*?)<\\/style>|<noscript[^>]*>([\\s\\S]*?)<\\/noscript>|<!--[\\s\\S]*?-->|<iframe[^>]*>([\\s\\S]*?)<\\/iframe>|<object[^>]*>([\\s\\S]*?)<\\/object>|<embed[^>]*>([\\s\\S]*?)<\\/embed>|<video[^>]*>([\\s\\S]*?)<\\/video>|<audio[^>]*>([\\s\\S]*?)<\\/audio>|<svg[^>]*>([\\s\\S]*?)<\\/svg>/ig, '')}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "4897d31a-6425-4838-b934-95b1451cae61",
|
||||
"name": "Simplify?",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1260,
|
||||
1620
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "9c3a2a78-b236-4f47-89b0-34967965e01c",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "contains"
|
||||
},
|
||||
"leftValue": "={{ $('CONFIG').first()?.json?.query?.method }}",
|
||||
"rightValue": "simplify"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "997c724c-ea8f-4536-a389-ac8429d57448",
|
||||
"name": "Simplify output",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1440,
|
||||
1520
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "92b08041-799b-4335-aefe-3781a42f8ec0",
|
||||
"name": "HTML",
|
||||
"type": "string",
|
||||
"value": "={{ $json.HTML.replace(/href\\s*=\\s*\"(.+?)\"/gi, 'href=\"NOURL\"').replace(/src\\s*=\\s*\"(.+?)\"/gi, 'src=\"NOIMG\"')}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "440a8076-3901-42e2-a36a-bc47ff588dd4",
|
||||
"name": "Convert to Markdown",
|
||||
"type": "n8n-nodes-base.markdown",
|
||||
"position": [
|
||||
1620,
|
||||
1620
|
||||
],
|
||||
"parameters": {
|
||||
"html": "={{ $json.HTML }}",
|
||||
"options": {},
|
||||
"destinationKey": "page_content"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a2fbeb5e-3e82-4777-bb61-3e475ffe2fc8",
|
||||
"name": "Send Page Content",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1820,
|
||||
1620
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "48a78432-2103-44ed-b4d6-7e429ae9e742",
|
||||
"name": "page_content",
|
||||
"type": "string",
|
||||
"value": "={{ $json.page_content.length < $('CONFIG').first()?.json?.query?.maxlimit ? $json.page_content : \"ERROR: PAGE CONTENT TOO LONG\" }}"
|
||||
},
|
||||
{
|
||||
"id": "ec0130f1-16a2-474f-a7cb-96d0e6fc644f",
|
||||
"name": "page_length",
|
||||
"type": "string",
|
||||
"value": "={{ $json.page_content.length }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "d367adfd-efd8-49e3-bed3-d65f23a60a9a",
|
||||
"name": "HTTP_Request_Tool",
|
||||
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
|
||||
"position": [
|
||||
200,
|
||||
1040
|
||||
],
|
||||
"parameters": {
|
||||
"name": "HTTP_Request_Tool",
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $workflow.id }}",
|
||||
"cachedResultName": "={{ $workflow.id }}"
|
||||
},
|
||||
"description": "Call this tool to fetch a webpage content. The input should be a stringified HTTP query parameter like this: \"?url=VALIDURL&method=SELECTEDMETHOD\". \"url\" parameter should contain the valid URL string. \"method\" key can be either \"full\" or \"simplified\". method=full will fetch the whole webpage content in the Markdown format, including page links and image links. method=simplified will return the Markdown content of the page but remove urls and image links from the page content for simplicity. Before calling this tool, think strategically which \"method\" to call. Best of all to use method=simplified. However, if you anticipate that the page request is not final or if you need to extract links from the page, pick method=full.",
|
||||
"workflowInputs": {
|
||||
"value": {},
|
||||
"schema": [],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"CONFIG": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Is error?": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Stringify error message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Exctract HTML Body",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Simplify?": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Simplify output",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Convert to Markdown",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Is error?",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"QUERY_PARAMS": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "CONFIG",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Simplify output": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Convert to Markdown",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP_Request_Tool": {
|
||||
"ai_tool": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "ai_tool",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Remove extra tags": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Simplify?",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Exctract HTML Body": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Remove extra tags",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI Chat Model1": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Convert to Markdown": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Page Content",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When chat message received": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When Executed by Another Workflow": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "QUERY_PARAMS",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
204
workflows/Http/0364_HTTP_Twilio_Automate_Webhook.json
Normal file
204
workflows/Http/0364_HTTP_Twilio_Automate_Webhook.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"id": "200",
|
||||
"name": "BillBot",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Set relevant data",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
780,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Category",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"category\"][\"value\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Date",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"date\"][\"iso\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Merchant",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"merchant\"][\"name\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Time",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"time\"][\"iso\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Amount",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"total\"][\"amount\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Currency",
|
||||
"value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"locale\"][\"currency\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Added by",
|
||||
"value": "={{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"first_name\"]}} {{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"last_name\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send confirmation",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
1180,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=✅ Bill of {{$node[\"Set relevant data\"].json[\"Amount\"]}} {{$node[\"Set relevant data\"].json[\"Currency\"]}} from {{$node[\"Set relevant data\"].json[\"Merchant\"]}}, dated {{$node[\"Set relevant data\"].json[\"Date\"]}} at {{$node[\"Set relevant data\"].json[\"Time\"]}}. Category was {{$node[\"Set relevant data\"].json[\"Category\"]}}.",
|
||||
"chatId": "={{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get receipts from bot",
|
||||
"type": "n8n-nodes-base.telegramTrigger",
|
||||
"position": [
|
||||
380,
|
||||
460
|
||||
],
|
||||
"webhookId": "ef81fe75-10c8-40c3-8bea-d65648556705",
|
||||
"parameters": {
|
||||
"updates": [
|
||||
"*"
|
||||
],
|
||||
"additionalFields": {
|
||||
"download": true
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Parse details from receipt",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
580,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mindee.net/products/expense_receipts/v2/predict",
|
||||
"options": {
|
||||
"bodyContentType": "multipart-form-data"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"jsonParameters": true,
|
||||
"sendBinaryData": true
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Add to expense record",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
980,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:G",
|
||||
"options": {},
|
||||
"sheetId": "",
|
||||
"operation": "append",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send SMS notification",
|
||||
"type": "n8n-nodes-base.twilio",
|
||||
"position": [
|
||||
1380,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"to": "",
|
||||
"from": "",
|
||||
"message": "=A receipt worth {{$node[\"Set relevant data\"].json[\"Amount\"]}} {{$node[\"Set relevant data\"].json[\"Currency\"]}} was submitted by {{$node[\"Set relevant data\"].json[\"Added by\"]}} and has been added to the following spreadsheet:\nhttps://docs.google.com/spreadsheets/d/{{$node[\"Add to expense record\"].parameter[\"sheetId\"]}}/"
|
||||
},
|
||||
"credentials": {
|
||||
"twilioApi": "Twilio Programmable SMS"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Send confirmation": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send SMS notification",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set relevant data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Add to expense record",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Add to expense record": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send confirmation",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get receipts from bot": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Parse details from receipt",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Parse details from receipt": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set relevant data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1437
workflows/Http/0384_HTTP_Manual_Create_Webhook.json
Normal file
1437
workflows/Http/0384_HTTP_Manual_Create_Webhook.json
Normal file
File diff suppressed because it is too large
Load Diff
293
workflows/Http/0390_HTTP_Manual_Automation_Webhook.json
Normal file
293
workflows/Http/0390_HTTP_Manual_Automation_Webhook.json
Normal file
@@ -0,0 +1,293 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833",
|
||||
"templateId": "2062"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "aac9c0d2-a278-4ea3-acf1-1aca547e30da",
|
||||
"name": "HTML",
|
||||
"type": "n8n-nodes-base.html",
|
||||
"position": [
|
||||
1520,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"operation": "extractHtmlContent",
|
||||
"extractionValues": {
|
||||
"values": [
|
||||
{
|
||||
"key": "Title",
|
||||
"cssSelector": "h2.single-post-title"
|
||||
},
|
||||
{
|
||||
"key": "Introduction",
|
||||
"cssSelector": ".kiwi-highlighter-content-area > p:nth-child(1)"
|
||||
},
|
||||
{
|
||||
"key": "Header",
|
||||
"cssSelector": "div.kiwi-highlighter-content-area",
|
||||
"returnValue": "html"
|
||||
},
|
||||
{
|
||||
"key": "={{ $json.data }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b0eb2240-ffa3-4e80-af7a-2aff470c02ee",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
660,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://mailsafi.com/blog/",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"id": "e8dd3215-2cec-48ba-9a0b-7b3c01a4a637",
|
||||
"name": "HTML1",
|
||||
"type": "n8n-nodes-base.html",
|
||||
"position": [
|
||||
840,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"operation": "extractHtmlContent",
|
||||
"extractionValues": {
|
||||
"values": [
|
||||
{
|
||||
"key": "post",
|
||||
"cssSelector": ".entry-title > a",
|
||||
"returnArray": true
|
||||
},
|
||||
{
|
||||
"key": "Link",
|
||||
"attribute": "href",
|
||||
"cssSelector": " .lae-read-more > a",
|
||||
"returnArray": true,
|
||||
"returnValue": "attribute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "5e408e44-7424-419f-9e24-1b619a96a1e0",
|
||||
"name": "Item Lists",
|
||||
"type": "n8n-nodes-base.itemLists",
|
||||
"position": [
|
||||
1000,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fieldToSplitOut": "post , Link"
|
||||
},
|
||||
"typeVersion": 3.1
|
||||
},
|
||||
{
|
||||
"id": "d7c6088e-efa3-4fbb-a53f-a7fc7bebdb84",
|
||||
"name": "Medium",
|
||||
"type": "n8n-nodes-base.medium",
|
||||
"position": [
|
||||
1580,
|
||||
700
|
||||
],
|
||||
"parameters": {
|
||||
"title": "={{ $json.Title }}",
|
||||
"content": "={{ $json.Header }}",
|
||||
"contentFormat": "html",
|
||||
"additionalFields": {
|
||||
"tags": "Email Hosting, Email, Email Marketing",
|
||||
"publishStatus": "public",
|
||||
"notifyFollowers": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"id": "5004a96e-16df-4100-84ae-df0b3be3a008",
|
||||
"name": "HTTP Request1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1360,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $json.Link }}",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"id": "a34c5b31-c6ba-4e87-9177-a078aa100157",
|
||||
"name": "Loop Over Items",
|
||||
"type": "n8n-nodes-base.splitInBatches",
|
||||
"position": [
|
||||
1300,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "ee3e4f81-fa05-4ad0-a46e-6452d2f3c521",
|
||||
"name": "Item Lists1",
|
||||
"type": "n8n-nodes-base.itemLists",
|
||||
"position": [
|
||||
1140,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"maxItems": 5,
|
||||
"operation": "limit"
|
||||
},
|
||||
"typeVersion": 3.1
|
||||
},
|
||||
{
|
||||
"id": "f472a15d-aa5a-4c40-b283-78d69a2a9b57",
|
||||
"name": "When clicking \"Execute Workflow\"",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
460,
|
||||
640
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f89e199d-72e5-4426-8e9d-82f6ce39ac42",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
380,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"width": 688.6526946107781,
|
||||
"height": 522.559880239521,
|
||||
"content": "## Usage \n**How to use me** This workflow gets all the posts from your WordPress site and sorts them into a clear format before publishing them to medium.\n\nStep 1. Set up the HTTP node and set the URL of the source destination. This will be the URL of the blog you want to use. We shall be using https://mailsafi.com/blog for this.\n\nStep 2. Extract the URLs of all the blogs on the page\nThis gets all the blog titles and their URLs. Its an easy way to sort ou which blogs to share and which not to share.\n\nStep 3. Split the entries for easy sorting or a cleaner view.\n\nStep 4. Set a new https node with all the blog URLs that we got from the previous steps. \n\nStep 5. Extract the contents of the blog\n\nStep 6. Add the medium node and then set the contents that you want to be shared out.\n\nExecute your work flow and you are good to go\n\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"HTML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Medium",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTML1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Item Lists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Medium": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Item Lists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Item Lists1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Item Lists1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTML1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTML",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Loop Over Items": {
|
||||
"main": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When clicking \"Execute Workflow\"": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
529
workflows/Http/0394_HTTP_Spreadsheetfile_Create_Webhook.json
Normal file
529
workflows/Http/0394_HTTP_Spreadsheetfile_Create_Webhook.json
Normal file
@@ -0,0 +1,529 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833",
|
||||
"templateId": "2071"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "577fb3b7-b0a6-4f2b-9b53-36d1f77de5a0",
|
||||
"name": "Get File ID",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
1120,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"id": "={{ $node[\"New Upload\"].json[\"id\"] }}",
|
||||
"base": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Base ID\"] }}"
|
||||
},
|
||||
"table": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Upload Table ID\"] }}"
|
||||
},
|
||||
"options": {},
|
||||
"operation": "get"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "a287658f-50e0-4d08-9342-a5143dc20ff2",
|
||||
"name": "Status Failed",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
2820,
|
||||
1180
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.airtable.com/v0/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Base ID\"] }}/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Upload Table ID\"] }}",
|
||||
"method": "PATCH",
|
||||
"options": {},
|
||||
"jsonBody": "={\n\"records\":[{\n\"id\":\"{{ $item(\"0\").$node[\"Get File ID\"].json[\"record_id\"] }}\",\n\"fields\":{\n\"Status\":\"Failed\"\n}\n}\n]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "airtableTokenApi"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "e3aae523-4803-4f69-9697-ab677c3f216d",
|
||||
"name": "Status Uploaded",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
2820,
|
||||
1020
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.airtable.com/v0/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Base ID\"] }}/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Upload Table ID\"] }}",
|
||||
"method": "PATCH",
|
||||
"options": {},
|
||||
"jsonBody": "={\n\"records\":[{\n\"id\":\"{{ $item(\"0\").$node[\"Get File ID\"].json[\"record_id\"] }}\",\n\"fields\":{\n\"Status\":\"Uploaded\"\n}\n}\n]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "airtableTokenApi"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "833515af-bf3a-4bc7-b79c-a6c1731f4714",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
2280,
|
||||
820
|
||||
],
|
||||
"parameters": {
|
||||
"width": 319.2310328152142,
|
||||
"height": 538.9310265075466,
|
||||
"content": "## Confirm the key names and column references\n\n\n\n\nWhen adapting this to your own base and Google Sheets (CSV) template, make sure to modify this node accordingly, as key values you will need to set the Airtable Fields, and the Expressions need to match the Read File column names\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nMake sure that the fields have the correct data type (Strings, Integers (numbers), etc)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e3cfcf21-3210-455c-b539-2dcacda3172a",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
840,
|
||||
920
|
||||
],
|
||||
"parameters": {
|
||||
"height": 416.06551185206945,
|
||||
"content": "### Input your Airtables relevant ID's. These will be used in the API Calls"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c244d6fe-21bf-4488-9780-32b56baa9998",
|
||||
"name": "Campaign is Not Empty",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1880,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{ $item(\"0\").$node[\"Get File ID\"].json[\"Campaign\"][\"0\"] }}",
|
||||
"operation": "isNotEmpty"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ced8a7f4-4ccc-4fcf-8c13-c1b8f099283e",
|
||||
"name": "Campaign Not Empty",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
2120,
|
||||
1020
|
||||
],
|
||||
"parameters": {
|
||||
"fields": {
|
||||
"values": [
|
||||
{
|
||||
"name": "Campaign",
|
||||
"stringValue": "=\"Campaigns\":[\"{{ $item(\"0\").$node[\"Get File ID\"].json[\"Campaign\"][\"0\"] }}\"],"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3.2
|
||||
},
|
||||
{
|
||||
"id": "23e0a41c-cbbd-401d-88b4-a4b190dbcd72",
|
||||
"name": "Campaign Not Empty1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
2120,
|
||||
1200
|
||||
],
|
||||
"parameters": {
|
||||
"fields": {
|
||||
"values": [
|
||||
{
|
||||
"name": "Campaign"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3.2
|
||||
},
|
||||
{
|
||||
"id": "f6c40cf2-4893-42ee-859c-f430b4dc5cf1",
|
||||
"name": "Read File",
|
||||
"type": "n8n-nodes-base.spreadsheetFile",
|
||||
"position": [
|
||||
1660,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"options": {
|
||||
"headerRow": true
|
||||
},
|
||||
"binaryPropertyName": "=data"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "b7495a65-32bf-430d-9998-483582bbe6ef",
|
||||
"name": "Airtable Base IDs",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
900,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"fields": {
|
||||
"values": [
|
||||
{
|
||||
"name": "Base ID",
|
||||
"stringValue": "=appZ0qelhmC2Y9igI"
|
||||
},
|
||||
{
|
||||
"name": "Upload Table ID",
|
||||
"stringValue": "tblDzSabZcP47sIMp"
|
||||
},
|
||||
{
|
||||
"name": "Lead Table ID",
|
||||
"stringValue": "tblnsXKf3TBztlIPV"
|
||||
}
|
||||
]
|
||||
},
|
||||
"include": "none",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3.2
|
||||
},
|
||||
{
|
||||
"id": "9fa8f822-f611-4af6-a2a4-7baaf2efa82d",
|
||||
"name": "Status Processing",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1280,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.airtable.com/v0/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Base ID\"] }}/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Upload Table ID\"] }}",
|
||||
"method": "PATCH",
|
||||
"options": {},
|
||||
"jsonBody": "={\n\"records\":[{\n\"id\":\"{{ $node[\"Get File ID\"].json[\"record_id\"] }}\",\n\"fields\":{\n\"Status\":\"Processing\"\n}\n}\n]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "airtableTokenApi"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "af23a338-a9a0-49db-88de-d6eb68af2be9",
|
||||
"name": "Download File",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1460,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $node[\"Get File ID\"].json[\"File\"][\"0\"][\"url\"] }}",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "file"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "4428cdc4-1ffd-4f6f-8d96-49d20b80bfba",
|
||||
"name": "Create Records",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"onError": "continueErrorOutput",
|
||||
"position": [
|
||||
2380,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.airtable.com/v0/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Base ID\"] }}/{{ $item(\"0\").$node[\"Airtable Base IDs\"].json[\"Lead Table ID\"] }}",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"batching": {
|
||||
"batch": {
|
||||
"batchSize": 8
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonBody": "={\n \"records\": [\n {\n \"fields\": {\n \"FirstName\": \"{{ $json[\"FirstName\"] }}\",\n \"LastName\": \"{{ $json[\"LastName\"] || \"\"}}\",\n \"Email\": \"{{ $json[\"Email\"] || \"\" }}\",\n \"Phone\": \"{{ $json[\"Phone\"] || \"\" }}\",\n \"Company\": \"{{ $json[\"Company\"] || \"\" }}\",\n \"Title\": \"{{ $json[\"Title\"] || \"\" }}\",\n \"Country\": \"{{ $json[\"Country\"] || \"\" }}\",\n \"City\": \"{{ $json[\"City\"] || \"\" }}\",\n \"Website\": \"{{ $json[\"Website\"] || \"\" }}\",\n \"LeadSource\": \"{{ $json[\"LeadSource\"] || \"\" }}\",\n \"LeadStatus\": \"{{ $json[\"LeadStatus\"] || \"\" }}\",\n {{ $json[\"Campaign\"] }}\n \"InterestLevel\": \"{{ $json[\"InterestLevel\"] || \"\" }}\",\n \"LastContactDate\": \"{{ $json[\"LastContactDate\"] || \"\" }}\"\n\n\n }\n }\n ]\n}",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "airtableTokenApi"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "e7a2cf60-099f-4c32-b9f0-ad2dd3d6e282",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1608.819505196552,
|
||||
"height": 349.25800232621134,
|
||||
"content": "# Bulk Upload Contacts Through CSV | Airtable Interface & Airtable Grid\n\n\n## Airtable Template - https://www.airtable.com/universe/expkxniTpHDg4Y4Ni/interfaces-upload-bulk-records-from-csv\n## Google Sheets Template - https://docs.google.com/spreadsheets/d/1SEwOGCfekc1h_ZfZ8PDQY6oGgOGSzSgtD7pEliEGaZ0/edit?usp=sharing"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "dd8b54fa-15fb-4df5-b94f-8286dae7026b",
|
||||
"name": "New Upload",
|
||||
"type": "n8n-nodes-base.airtableTrigger",
|
||||
"position": [
|
||||
660,
|
||||
1120
|
||||
],
|
||||
"parameters": {
|
||||
"baseId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "appZ0qelhmC2Y9igI"
|
||||
},
|
||||
"tableId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "tblDzSabZcP47sIMp"
|
||||
},
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"triggerField": "Created At",
|
||||
"authentication": "airtableTokenApi",
|
||||
"additionalFields": {
|
||||
"viewId": ""
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "b1TkvXJM6AdmupUh",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "32f6ec9b-3f23-4d58-9cc2-b41fd9246091",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1980,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"width": 879.3031720944707,
|
||||
"height": 224.90387533954015,
|
||||
"content": "## Walkthrough and Overview\n\n### https://www.youtube.com/watch?v=LgYxS1O-rbs"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "78363718-c1c2-4bf0-ba04-a48403cca0cb",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
60,
|
||||
820
|
||||
],
|
||||
"parameters": {
|
||||
"width": 558.4226026659302,
|
||||
"height": 768.2443727570767,
|
||||
"content": "# Setup Checklist\n\n### 1.Go to the Airtable Template and copy the latest version of the base\n### \n### 2. From your new Airtable base URL, get and replace your base and tables id's into this workflow's trigger node.\n### 3. Input your Airtable Id's in the second node \"Airtable Base ID's\"\n### 4. Make sure to add a Personal Access Token for Airtable Integration. It should, as minimum have enabled scopes for \"data.record:read\", \"data.record:write\", \"schema.bases:read\"\n### 5. Any file uploads can now be done from the Interface Form\n\n#After Setup\n\n### - Make sure you that if you add, remove or modify fields (or field names), those changes should also be applied to the \"Create Record\" node\n### - Make sure that the CSV upload header row, matches the Airtable Leads field names\n### - If you modify any field type (Text to Number, or Number to Text), those changes should also be applied to the \"Create Records\" value (Numbers go without double quotes / strings, dates and the rest of the data types go with double quotes) [JSON Syntax]"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Read File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Campaign is Not Empty",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"New Upload": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Airtable Base IDs",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get File ID": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Status Processing",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Download File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Read File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Records": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Status Uploaded",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Status Failed",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Airtable Base IDs": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get File ID",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Status Processing": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Download File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Campaign Not Empty": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Records",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Campaign Not Empty1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Records",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Campaign is Not Empty": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Campaign Not Empty",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Campaign Not Empty1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
448
workflows/Http/0405_HTTP_Executeworkflow_Send_Webhook.json
Normal file
448
workflows/Http/0405_HTTP_Executeworkflow_Send_Webhook.json
Normal file
@@ -0,0 +1,448 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "12061ba0-24f8-4853-9898-c8710b118959",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
0,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 1260,
|
||||
"height": 635,
|
||||
"content": "### Sub-workflow: Custom tool\nThe agent above can call this workflow. It calls an example API called \"Bored API\" and returns a string with an activity idea."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4a2101f4-de86-4b2c-9fbc-5a75e73e3a26",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 927.5,
|
||||
"height": 486.5625,
|
||||
"content": "### Main workflow: AI agent using custom tool"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "102ec972-1784-4b89-be6f-1d4bd8f85cf1",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
660,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 177,
|
||||
"height": 199,
|
||||
"content": "**This tool calls the sub-workflow below**"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "707d76f1-0b45-4347-b16a-3b66906711bc",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
300,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 2,
|
||||
"width": 170,
|
||||
"height": 191,
|
||||
"content": "**Set your credentials**"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d2a9637b-d988-4978-a112-4b96f279f0c0",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
280,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"color": 2,
|
||||
"width": 170,
|
||||
"height": 190,
|
||||
"content": "**Set your credentials**"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "02f5308b-61db-467d-84f4-8b2ae8655dfd",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-160,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 185.9375,
|
||||
"height": 214.8397420554627,
|
||||
"content": "## Try it out\n\nSelect **Chat** at the bottom and enter:\n\n_Hi! Please suggest something to do. I feel like learning something new._"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c012dfad-0ed8-4072-9c57-24f48aadd620",
|
||||
"name": "Sticky Note6",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
960,
|
||||
920
|
||||
],
|
||||
"parameters": {
|
||||
"width": 280,
|
||||
"height": 145,
|
||||
"content": "## Next steps\n\nLearn more about [Advanced AI in n8n](https://docs.n8n.io/advanced-ai/)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "39e0c9eb-5736-46a0-b4ce-64425f56ba8c",
|
||||
"name": "When chat message received",
|
||||
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
|
||||
"position": [
|
||||
160,
|
||||
80
|
||||
],
|
||||
"webhookId": "34e91943-c4e0-4a87-8a0f-68cbd2bca3fb",
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "38dad34c-116b-4673-b338-6fbf1d019bab",
|
||||
"name": "OpenAI Chat Model",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
340,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"model": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4o-mini"
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "8gccIjcuf3gvaoEr",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "78af18c4-3541-4ff2-8526-fb186614051b",
|
||||
"name": "Simple Memory",
|
||||
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
|
||||
"position": [
|
||||
520,
|
||||
300
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1.3
|
||||
},
|
||||
{
|
||||
"id": "45f17ad3-f7da-4d98-a597-f66c2efdbbea",
|
||||
"name": "When Executed by Another Workflow",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
120,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"workflowInputs": {
|
||||
"values": [
|
||||
{
|
||||
"name": "chatInput"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "135ac846-fcc7-4754-8127-6a810b76594a",
|
||||
"name": "OpenAI Chat Model1",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
320,
|
||||
900
|
||||
],
|
||||
"parameters": {
|
||||
"model": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4o-mini"
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "8gccIjcuf3gvaoEr",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "8e9d8b39-a7a4-44fb-8ac4-0555e632f0df",
|
||||
"name": "Work out activity type and number of people1",
|
||||
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
|
||||
"position": [
|
||||
340,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{ $('When Executed by Another Workflow').item.json.chatInput }}",
|
||||
"options": {},
|
||||
"schemaType": "manual",
|
||||
"inputSchema": "{\n \"type\": \"object\",\n \"required\": [\"type\",\"participants\"],\n \"properties\": {\n \"type\": {\n \"type\": \"object\",\n \"properties\": {\n \"data\": {\n \"enum\": [\"education\", \"recreational\",\"social\",\"diy\",\"charity\",\"cooking\",\"relaxation\",\"music\",\"busywork\"]\n }\n }\n },\n \"participants\": {\n \"type\": \"number\"\n }\n }\n}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "312f12d9-db30-48b0-aca3-a6c3a0250b2d",
|
||||
"name": "Call the API",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
700,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://bored-api.appbrewery.com/filter",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"value": "={{ $json.output.type.data }}"
|
||||
},
|
||||
{
|
||||
"name": "participicants",
|
||||
"value": "={{ $json.output.participants }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "0e97b6c1-3291-44a2-bf35-39335b9b90a1",
|
||||
"name": "Activity Tool",
|
||||
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
|
||||
"position": [
|
||||
700,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"name": "activity_tool",
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $workflow.id }}"
|
||||
},
|
||||
"description": "Suggest an activity for a person to do. Use this tool if someone is bored, or asking for ideas of things to do.",
|
||||
"workflowInputs": {
|
||||
"value": {
|
||||
"chatInput": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('chatInput', ``, 'string') }}"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "chatInput",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "chatInput",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "256b8adc-ef71-40da-a40c-10a1045c9d7d",
|
||||
"name": "Set 'response' value",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1060,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "c78b10cd-7d6d-4512-ad0b-6f6ec3c706b2",
|
||||
"name": "response",
|
||||
"type": "string",
|
||||
"value": "={{ $json.data }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "ede9e3c2-c3ce-44bd-92be-51eb90d086dc",
|
||||
"name": "Combine",
|
||||
"type": "n8n-nodes-base.aggregate",
|
||||
"position": [
|
||||
880,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"include": "specifiedFields",
|
||||
"options": {},
|
||||
"aggregate": "aggregateAllItemData",
|
||||
"fieldsToInclude": "activity"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b4b49c7f-5491-416c-98d1-518372329c77",
|
||||
"name": "AI Agent",
|
||||
"type": "@n8n/n8n-nodes-langchain.agent",
|
||||
"position": [
|
||||
420,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1.8
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Combine": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set 'response' value",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Call the API": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Combine",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Activity Tool": {
|
||||
"ai_tool": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "ai_tool",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Simple Memory": {
|
||||
"ai_memory": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "ai_memory",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI Chat Model": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI Chat Model1": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "Work out activity type and number of people1",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When chat message received": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AI Agent",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When Executed by Another Workflow": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Work out activity type and number of people1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Work out activity type and number of people1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Call the API",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
293
workflows/Http/0440_HTTP_Stickynote_Create_Webhook.json
Normal file
293
workflows/Http/0440_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,293 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "1f506d0f-e999-409c-8456-d77d1771a2f3",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
740,
|
||||
120
|
||||
],
|
||||
"webhookId": "a8877bd7-8364-4868-9f88-d9080cce0cb1",
|
||||
"parameters": {
|
||||
"path": "slack-trigger",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d5bdebab-cb97-44b5-8f85-e2bc71c0b7fb",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
220,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 446,
|
||||
"height": 321,
|
||||
"content": "## Needed pre-work: Add a Slack App\n1. Visit https://api.slack.com/apps, click on `New App` and choose a name and workspace.\n2. Click on `OAuth & Permissions` and scroll down to Scopes -> Bot token Scopes\n3. Add the `chat:write` scope\n4. Head over to `Slash Commands` and click on `Create New Command`\n5. Use `/idea` as the command\n6. Copy the test URL from the **Webhook** node into `Request URL`\n7. Add whatever feels best to the description and usage hint\n8. Go to `Install app` and click install"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "fa0734a5-6794-4ba8-9675-b54ba9ddf6e8",
|
||||
"name": "Notion",
|
||||
"type": "n8n-nodes-base.notion",
|
||||
"position": [
|
||||
1620,
|
||||
20
|
||||
],
|
||||
"parameters": {
|
||||
"title": "={{ $json.body.text }}",
|
||||
"options": {},
|
||||
"resource": "databasePage",
|
||||
"databaseId": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": "={{ $('Set me up').first().json['Notion URL'] }}"
|
||||
},
|
||||
"propertiesUi": {
|
||||
"propertyValues": [
|
||||
{
|
||||
"key": "Creator|rich_text",
|
||||
"textContent": "={{ $json.body.user_name }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"notionApi": {
|
||||
"id": "1exvaAn7wzyBgkXZ",
|
||||
"name": "Nik's Notion Cred"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "28116568-f19c-47b3-9cd2-e08032db4dd5",
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
1360,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"values": [
|
||||
{
|
||||
"outputKey": "New idea",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.body.command }}",
|
||||
"rightValue": "/idea"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
},
|
||||
{
|
||||
"outputKey": "Add more here",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "25221a2c-18e9-47f6-a112-0edc85b63cda",
|
||||
"operator": {
|
||||
"name": "filter.operator.equals",
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.body.command }}",
|
||||
"rightValue": "/some-other-command"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "8a153fab-dd1a-4108-8522-766b09b4caf3",
|
||||
"name": "Hidden message to add feature details",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1840,
|
||||
20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Webhook').item.json.body.response_url }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "text",
|
||||
"value": "=Thanks for adding the idea `{{ $('Webhook').item.json[\"body\"][\"text\"] }}` <@{{$('Webhook').item.json[\"body\"][\"user_id\"]}}> :rocket: Please make sure to add some details and a hypothesis to it to make it easier for us to work with it.\n\n:point_right: <{{$json[\"url\"]}}|Add your details here>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "68d6136b-291f-4e17-b07f-da3672b6622f",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
920,
|
||||
-315
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 331,
|
||||
"height": 422.85671270290686,
|
||||
"content": "## Setup\n1. Add a Database in Notion with the columns `Name` and `Creator`\n2. Add your Notion credentials and add the integration to your Notion page.\n3. Fill the setup node below\n4. Create your slack app (*see other sticky*)\n5. Click `Test` workflow and use the `/idea` comment in Slack\n6. Activate the workflow and exchange the Request URL with the production URL from the webhook"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4a2d6224-352a-4625-b4ae-bc856b2602fd",
|
||||
"name": "Set me up",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1020,
|
||||
-40
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "9bcc3fa7-a09e-48f0-b4ff-2c78264dec2d",
|
||||
"name": "Notion URL",
|
||||
"type": "string",
|
||||
"value": "https://www.notion.so/n8n/12f1bb41e54345f6bdbe85085a67a5a9?v=72d337e995204017a24aa648edb5e7cc"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "89dc4c0d-7fab-4a6f-b8e9-65a0701c7d49",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1300,
|
||||
40
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"height": 237.2740046838409,
|
||||
"content": "You can easily support more commands, like `/bug` or `/pain` here"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"Webhook": [
|
||||
{
|
||||
"body": {
|
||||
"text": "Some name",
|
||||
"token": "OROQZiopO3NiQVLFg0muEISq",
|
||||
"command": "/idea",
|
||||
"team_id": "TG9695PUK",
|
||||
"user_id": "U047V1J0E7J",
|
||||
"user_name": "niklas",
|
||||
"api_app_id": "A06MQ8S7QM6",
|
||||
"channel_id": "C04KYPACRJA",
|
||||
"trigger_id": "6718698191332.553213193971.2b472ec4e6e0fb9094507f09a98d01e7",
|
||||
"team_domain": "n8nio",
|
||||
"channel_name": "nik-wf-testing",
|
||||
"response_url": "https://hooks.slack.com/commands/TG9695PUK/6701685292247/8Q0IUAqaVcycw4skTzdYLSx3",
|
||||
"is_enterprise_install": "false"
|
||||
},
|
||||
"query": {},
|
||||
"params": {},
|
||||
"headers": {
|
||||
"host": "internal.users.n8n.cloud",
|
||||
"accept": "application/json,*/*",
|
||||
"x-real-ip": "10.255.0.2",
|
||||
"user-agent": "Slackbot 1.0 (+https://api.slack.com/robots)",
|
||||
"content-type": "application/x-www-form-urlencoded",
|
||||
"content-length": "420",
|
||||
"accept-encoding": "gzip,deflate",
|
||||
"x-forwarded-for": "10.255.0.2",
|
||||
"x-forwarded-host": "internal.users.n8n.cloud",
|
||||
"x-forwarded-port": "443",
|
||||
"x-forwarded-proto": "https",
|
||||
"x-slack-signature": "v0=9fb3ff0c0b84fd7ec95a0847b38c365124c8294b451dd29941d8fcd85fbd0eb9",
|
||||
"x-forwarded-server": "3d9f11a36e52",
|
||||
"x-slack-request-timestamp": "1709130534"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Notion": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Hidden message to add feature details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Notion",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set me up",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
287
workflows/Http/0441_HTTP_GoogleSheets_Create_Webhook.json
Normal file
287
workflows/Http/0441_HTTP_GoogleSheets_Create_Webhook.json
Normal file
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833",
|
||||
"templateId": "2141"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "ec952e64-698b-4e3a-a82d-4474a3bf8b6b",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
900,
|
||||
460
|
||||
],
|
||||
"webhookId": "0f85cfa2-29d7-48c8-bea1-298a61a07b77",
|
||||
"parameters": {
|
||||
"path": "slack-trigger",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c6bc7004-9bec-48a3-99f2-e0d89e32730c",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 446,
|
||||
"height": 321,
|
||||
"content": "## Needed pre-work: Add a Slack App\n1. Visit https://api.slack.com/apps, click on `New App` and choose a name and workspace.\n2. Click on `OAuth & Permissions` and scroll down to Scopes -> Bot token Scopes\n3. Add the `chat:write` scope\n4. Head over to `Slash Commands` and click on `Create New Command`\n5. Use `/idea` as the command\n6. Copy the test URL from the **Webhook** node into `Request URL`\n7. Add whatever feels best to the description and usage hint\n8. Go to `Install app` and click install"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e8850a88-b91a-4496-b8d2-a391f17e67ad",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1100,
|
||||
198.48837209302332
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 331,
|
||||
"height": 404.36834060988355,
|
||||
"content": "## Setup\n1. Create a Google Sheets document with the columns `Name` and `Creator`\n2. Add your Google Sheets credentials \n3. Fill the setup node below\n4. Create your Slack app (*see other sticky*)\n5. Click `Test` workflow and use the `/idea` comment in Slack\n6. Activate the workflow and exchange the Request URL with the production URL from the webhook"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f1814a18-9301-4e86-9023-e16c5704db65",
|
||||
"name": "Set me up",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1220,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "9bcc3fa7-a09e-48f0-b4ff-2c78264dec2d",
|
||||
"name": "Google Sheets URL",
|
||||
"type": "string",
|
||||
"value": "https://docs.google.com/spreadsheets/d/17mugx8JYjbxaTMK9aqDkJywbc0NlNmStGYq-M5fKmG8/edit#gid=0"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "4824c23f-6477-4ee7-a6a0-2b83eaf61430",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1460,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"height": 224.48192284396475,
|
||||
"content": "You can easily support more commands, like `/bug` or `/pain` here"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f8966efa-0576-48b9-89fe-bf49f10d703b",
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
1520,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"values": [
|
||||
{
|
||||
"outputKey": "New idea",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $('Webhook').item.json.body.command }}",
|
||||
"rightValue": "/idea"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
},
|
||||
{
|
||||
"outputKey": "Add more here",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "25221a2c-18e9-47f6-a112-0edc85b63cda",
|
||||
"operator": {
|
||||
"name": "filter.operator.equals",
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $('Webhook').item.json.body.command }}",
|
||||
"rightValue": "/some-other-command"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "1caf810e-8b40-4430-8840-8e17a176b67a",
|
||||
"name": "Add to Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1780,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"columns": {
|
||||
"value": {
|
||||
"Name": "={{ $('Webhook').item.json.body.text }}",
|
||||
"Creator": "={{ $('Webhook').item.json.body.user_name }}"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "Name",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "Name",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "Creator",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"required": false,
|
||||
"displayName": "Creator",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [
|
||||
"Name"
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"cellFormat": "USER_ENTERED"
|
||||
},
|
||||
"operation": "appendOrUpdate",
|
||||
"sheetName": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gid=0",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17mugx8JYjbxaTMK9aqDkJywbc0NlNmStGYq-M5fKmG8/edit#gid=0",
|
||||
"cachedResultName": "Sheet1"
|
||||
},
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": "={{ $json['Google Sheets URL'] }}"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.3
|
||||
},
|
||||
{
|
||||
"id": "51f80b29-4b8c-4e2a-9da9-a7409763af0c",
|
||||
"name": "Hidden message to Slack to add feature details",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
2000,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Webhook').item.json.body.response_url }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "text",
|
||||
"value": "=Thanks for adding the idea `{{ $('Webhook').item.json[\"body\"][\"text\"] }}` <@{{$('Webhook').item.json[\"body\"][\"user_id\"]}}> :rocket: Please make sure to add some details and a hypothesis to it to make it easier for us to work with it.\n\n:point_right: <{{ $('Set me up').item.json[\"Google Sheets URL\"] }}|Add your details here>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Add to Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set me up",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set me up": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Add to Google Sheets": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Hidden message to Slack to add feature details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
322
workflows/Http/0450_HTTP_Stickynote_Create_Webhook.json
Normal file
322
workflows/Http/0450_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,322 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "72c8c4a7-ee03-4e43-97db-f6fc8904e5e0",
|
||||
"name": "Bug Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
1100,
|
||||
360
|
||||
],
|
||||
"webhookId": "e6d88547-5423-4b01-bc7f-e1f94274c4b2",
|
||||
"parameters": {
|
||||
"path": "e6d88547-5423-4b01-bc7f-e1f94274c4b2",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d1f3a8c8-d4af-452f-b4df-1e2dc73f7bd3",
|
||||
"name": "Hidden message to add bug details",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1840,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Bug Webhook').item.json.body.response_url }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "text",
|
||||
"value": "=Thanks for adding the bug `{{$node[\"Bug Webhook\"].json[\"body\"][\"text\"]}}` <@{{$node[\"Bug Webhook\"].json[\"body\"][\"user_id\"]}}> :rocket: Please make sure to add a way to reproduce, expected behavior and current behavior.\n\n:point_right: <{{ $json[\"data\"][\"issueCreate\"][\"issue\"][\"url\"] }}|Add your details here>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "42977fb4-389f-4cef-855d-104f4cf0754f",
|
||||
"name": "Create linear issue",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1660,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.linear.app/graphql",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"query\":\"mutation IssueCreate($input: IssueCreateInput!) {issueCreate(input: $input) {issue {id title url}}}\",\n \"variables\":{\"input\":{\"title\":\"{{ $json[\"body\"][\"text\"].replaceAll('\"',\"'\") }}\",\"teamId\":\"7a330c36-4b39-4bf1-922e-b4ceeb91850a\", \"description\":\"## Description \\n [Add a description here] \\n## Expected \\n [What behavior did you expect?] \\n## Actual \\n [What was the actual behavior? Use screenshots or videos to show the behavior] \\n## Steps or workflow to reproduce (with screenshots/recordings) \\n **n8n version:** [Deployment type] [version] \\n 1. [Replace me] \\n \\n Created by: {{ $json[\"body\"][\"user_name\"].toSentenceCase() }}\", \"labelIds\": [\"f2b6e3e9-b42d-4106-821c-6a08dcb489a9\"]}} \n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "linearOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"linearOAuth2Api": {
|
||||
"id": "02MqKUMdPxr9t3mX",
|
||||
"name": "Nik's Linear Creds"
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "ff733f62-3381-46c1-af9f-53d35f4b76ec",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
580,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 446,
|
||||
"height": 321,
|
||||
"content": "## Needed pre-work: Add a Slack App\n1. Visit https://api.slack.com/apps, click on `New App` and choose a name and workspace.\n2. Click on `OAuth & Permissions` and scroll down to Scopes -> Bot token Scopes\n3. Add the `chat:write` scope\n4. Head over to `Slash Commands` and click on `Create New Command`\n5. Use `/bug` as the command\n6. Copy the test URL from the **Webhook** node into `Request URL`\n7. Add whatever feels best to the description and usage hint\n8. Go to `Install app` and click install"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "eca6f08d-fa8d-4ac7-a048-42ce839d3e01",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
580,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 599.3676814988288,
|
||||
"height": 298.0562060889928,
|
||||
"content": "## Helper nodes\nRun these to find the IDs of your team and wanted labels"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9d42e8ea-0f35-4c46-bb75-9c6a6123f4d5",
|
||||
"name": "Set me up",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1380,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "38e3a1ba-fd53-43f7-949d-427425727c7e",
|
||||
"name": "labelIds",
|
||||
"type": "array",
|
||||
"value": "[\"f2b6e3e9-b42d-4106-821c-6a08dcb489a9\"]"
|
||||
},
|
||||
{
|
||||
"id": "3825e332-a905-48d3-ac9a-46b0ce3439f6",
|
||||
"name": "teamId",
|
||||
"type": "string",
|
||||
"value": "7a330c36-4b39-4bf1-922e-b4ceeb91850a"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "b95148b2-17e0-444e-a642-a4319df9c4c5",
|
||||
"name": "Get all linear teams",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
634,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.linear.app/graphql",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "query",
|
||||
"value": "{ teams { nodes { id name } } }"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "linearOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"linearOAuth2Api": {
|
||||
"id": "02MqKUMdPxr9t3mX",
|
||||
"name": "Nik's Linear Creds"
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "04ad2f49-ef78-4d08-ab6b-d0384aee5b80",
|
||||
"name": "Get linear labels for a team",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1014,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.linear.app/graphql",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "query",
|
||||
"value": "query { team(id: \"16de8638-2729-4245-b9f8-74daf4780cb3\") { labels { nodes { id name } } } }"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "linearOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"linearOAuth2Api": {
|
||||
"id": "02MqKUMdPxr9t3mX",
|
||||
"name": "Nik's Linear Creds"
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "4045dc92-4b9f-471c-8fb1-4d76942d0330",
|
||||
"name": "Set team ID",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
854,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "25ed1c7d-e2c0-44b0-8b43-aa19122f6e88",
|
||||
"name": "teamId",
|
||||
"type": "string",
|
||||
"value": "38b31539-61e2-451c-ba06-ba8cf0d33650"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "e45fe192-6846-41ad-ad75-699184486b6f",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1246.2295081967216,
|
||||
164.12177985948486
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 372.78688524590143,
|
||||
"height": 358.12646370023407,
|
||||
"content": "## Setup\n1. Congifure your Slack bot using the sticky to the left\n2. Fill the `Set me up` node. You can find the IDs easily using the Helper nodes section\n3. Make sure to exchange the `Request URL` in your Slack with the Prod URL of the Webhook node before activating this workflow "
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"Bug Webhook": [
|
||||
{
|
||||
"body": {
|
||||
"text": "My bug",
|
||||
"token": "OROQZiopO3NiQVLFg0muEISq",
|
||||
"command": "/bug",
|
||||
"team_id": "TG9695PUK",
|
||||
"user_id": "U047V1J0E7J",
|
||||
"user_name": "niklas",
|
||||
"api_app_id": "A06MQ8S7QM6",
|
||||
"channel_id": "C03600UUFSS",
|
||||
"trigger_id": "6716864450738.553213193971.0ef33a2db05a1d2dcf02c178d8efc534",
|
||||
"team_domain": "n8nio",
|
||||
"channel_name": "updates-workflow-templates",
|
||||
"response_url": "https://hooks.slack.com/commands/TG9695PUK/6713943368277/ogqoFMjMytSkbWNUdtg9Cp73",
|
||||
"is_enterprise_install": "false"
|
||||
},
|
||||
"query": {},
|
||||
"params": {},
|
||||
"headers": {
|
||||
"host": "internal.users.n8n.cloud",
|
||||
"accept": "application/json,*/*",
|
||||
"x-real-ip": "10.255.0.2",
|
||||
"user-agent": "Slackbot 1.0 (+https://api.slack.com/robots)",
|
||||
"content-type": "application/x-www-form-urlencoded",
|
||||
"content-length": "428",
|
||||
"accept-encoding": "gzip,deflate",
|
||||
"x-forwarded-for": "10.255.0.2",
|
||||
"x-forwarded-host": "internal.users.n8n.cloud",
|
||||
"x-forwarded-port": "443",
|
||||
"x-forwarded-proto": "https",
|
||||
"x-slack-signature": "v0=dae629e837d8585faf0feffd1778020aa7a47dfe759def3088179a4a70cf31db",
|
||||
"x-forwarded-server": "3d9f11a36e52",
|
||||
"x-slack-request-timestamp": "1709135352"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Set me up": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create linear issue",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Bug Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set me up",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set team ID": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get linear labels for a team",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create linear issue": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Hidden message to add bug details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
312
workflows/Http/0463_HTTP_Stickynote_Create_Webhook.json
Normal file
312
workflows/Http/0463_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,312 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "041bccf206a3546a759ec4c0a3bf1256e62051945bb270c48f91f3acb13dc080"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "401dbfb3-5475-4b00-b2df-3aa685815b05",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
340,
|
||||
-260
|
||||
],
|
||||
"parameters": {
|
||||
"width": 747,
|
||||
"height": 428,
|
||||
"content": "## Purpose \nTo verify the mailing address for new contacts in HighLevel. \n\nWhenever I add a new contact to HighLevel, I run this automation to ensure I have a valid mailing address. It also helps me check for misspellings if the contact address was manually entered.\n\nQuick Video Overview:\nhttps://www.loom.com/share/8995ca0b41ce473ebbad9c1973109c0f\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "abca87a6-91ca-4597-aec7-28913c3a33b8",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1480,
|
||||
-180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 515,
|
||||
"height": 763,
|
||||
"content": "Update HighLevel to indicate if the address is deliverable.\nYou could: \n- Add Tag\n- Start Automation\n- Update a Field\n\nFor Deliverable Addresses - I apply a tag that the address was verified.\n\nFor Non Deliverable Addresses - I apply a tag, which triggers an automation for my team to manually verify the address. You could also trigger an automation to reach out to the contact to verify their address.\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "0f21121c-c7fb-4697-9663-8ecf03ca76a5",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
520,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"height": 339,
|
||||
"content": "Receive a webhook from your CRM with the contact address fields"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "47c9e17d-0b30-41a3-bf83-eb4558fa7b85",
|
||||
"name": "Set Address Fields",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
840,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "8216105e-23ad-4c5c-8f4a-4f97658e0947",
|
||||
"name": "address",
|
||||
"type": "string",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"id": "111da971-2473-4c5e-a106-22589cf47daf",
|
||||
"name": "address2",
|
||||
"type": "string",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"id": "ed62cf39-10f1-42f6-b18f-bfa58b4fe646",
|
||||
"name": "city",
|
||||
"type": "string",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"id": "d9550200-04ac-4cf4-b7e6-cd40b793ce97",
|
||||
"name": "state",
|
||||
"type": "string",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"id": "62269d11-c98c-4016-83ef-291176f2fc12",
|
||||
"name": "zip",
|
||||
"type": "string",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "1ee9fabf-a456-4877-8f2c-1150b8e43c7a",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1000,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 430,
|
||||
"height": 216,
|
||||
"content": "1. Create an Account a LOB.com\n2. Create API Key (https://help.lob.com/account-management/api-keys)\n3. Update Node with your Credentials (Basic Auth)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6bc67404-b292-4211-a8f9-568802e12786",
|
||||
"name": "CRM Webhook Trigger",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
620,
|
||||
280
|
||||
],
|
||||
"webhookId": "912a0210-7d6a-4517-9055-b8633c59a631",
|
||||
"parameters": {
|
||||
"path": "727deb6f-9d10-4492-92e6-38f3292510b0",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "9ab388c0-8e84-45da-9475-9b83d3f2852d",
|
||||
"name": "Address Verification",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1060,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.lob.com/v1/us_verifications",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "primary_line",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"name": "secondary_line",
|
||||
"value": "={{ $json.address2 }}"
|
||||
},
|
||||
{
|
||||
"name": "city",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"name": "zip_code",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "50921e14-2fdf-4bac-8ef7-06fcb9e73176",
|
||||
"name": "Update HighLevel - Deliverable",
|
||||
"type": "n8n-nodes-base.highLevel",
|
||||
"position": [
|
||||
1580,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"email": "={{ $('CRM Webhook Trigger').item.json.email }}",
|
||||
"phone": "={{ $('CRM Webhook Trigger').item.json.phone }}",
|
||||
"additionalFields": {
|
||||
"tags": "Mailing Address Deliverable"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"highLevelApi": {
|
||||
"id": "qJqOS89WQuqj4wXh",
|
||||
"name": "Test"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c81889cb-aeff-4afe-ae1c-747b30a4b6b1",
|
||||
"name": "Update HighLevel - NOT Deliverable",
|
||||
"type": "n8n-nodes-base.highLevel",
|
||||
"position": [
|
||||
1580,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"email": "={{ $('CRM Webhook Trigger').item.json.email }}",
|
||||
"phone": "={{ $('CRM Webhook Trigger').item.json.phone }}",
|
||||
"additionalFields": {
|
||||
"tags": "Mailing Address NOT Deliverable"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"highLevelApi": {
|
||||
"id": "qJqOS89WQuqj4wXh",
|
||||
"name": "Test"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9f896b41-eeb9-4cde-9fc8-e1ba000a2b61",
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
1280,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"rules": [
|
||||
{
|
||||
"value2": "=deliverable",
|
||||
"outputKey": "deliverable"
|
||||
},
|
||||
{
|
||||
"value2": "deliverable",
|
||||
"operation": "notEqual",
|
||||
"outputKey": "NOT deliverable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value1": "={{ $json.deliverability }}",
|
||||
"dataType": "string"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"CRM Webhook Trigger": [
|
||||
{
|
||||
"city": "Washington",
|
||||
"email": "mr.president@gmail.com",
|
||||
"phone": "877-555-1212",
|
||||
"state": "DC",
|
||||
"address": "1600 Pennsylvania Avenue NW",
|
||||
"zip_code": "20500",
|
||||
"contact_id": "5551212"
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update HighLevel - Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Update HighLevel - NOT Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Address Fields": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Address Verification",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CRM Webhook Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Address Fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Address Verification": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
245
workflows/Http/0470_HTTP_GoogleSheets_Update_Webhook.json
Normal file
245
workflows/Http/0470_HTTP_GoogleSheets_Update_Webhook.json
Normal file
@@ -0,0 +1,245 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "8eadf351d49a11e77d3a57adf374670f06c5294af8b1b7c86a1123340397e728"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "e033bb47-6d34-487b-9cb4-952d002f387e",
|
||||
"name": "Google Sheets Trigger",
|
||||
"type": "n8n-nodes-base.googleSheetsTrigger",
|
||||
"position": [
|
||||
-320,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"sheetName": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gid=0",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4/edit#gid=0",
|
||||
"cachedResultName": "Sheet1"
|
||||
},
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": "https://docs.google.com/spreadsheets/d/1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4/edit#gid=0"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsTriggerOAuth2Api": {
|
||||
"id": "o5WqBpa5EJcKTpKq",
|
||||
"name": "5@gmail"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "1b6af5fd-90ee-44e7-8afe-cb3c844491f7",
|
||||
"name": "Remove Duplicates",
|
||||
"type": "n8n-nodes-base.removeDuplicates",
|
||||
"position": [
|
||||
120,
|
||||
520
|
||||
],
|
||||
"parameters": {
|
||||
"compare": "selectedFields",
|
||||
"options": {},
|
||||
"fieldsToCompare": "Email"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a6c952c3-bc17-44cf-b661-898068914480",
|
||||
"name": "Verify your emails",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"onError": "continueRegularOutput",
|
||||
"position": [
|
||||
280,
|
||||
520
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://email.effibotics.com/api",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"sendHeaders": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "email",
|
||||
"value": "={{ $json.Email }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "api_key",
|
||||
"value": "9Q6H0QETRF=GS1"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "b5887e19-e5c2-4896-bbda-1835a51e1e1b",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-400,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 1083.1212624694333,
|
||||
"height": 364.82606941347825,
|
||||
"content": "## Check email deliverability "
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c350ff47-d30e-4aa1-8470-9808525111b7",
|
||||
"name": "Update data to google sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
500,
|
||||
520
|
||||
],
|
||||
"parameters": {
|
||||
"columns": {
|
||||
"value": {},
|
||||
"schema": [
|
||||
{
|
||||
"id": "Email",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "Email",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "autoMapInputData",
|
||||
"matchingColumns": [
|
||||
"Email"
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"operation": "update",
|
||||
"sheetName": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gid=0",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4/edit#gid=0",
|
||||
"cachedResultName": "Sheet1"
|
||||
},
|
||||
"documentId": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4",
|
||||
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4/edit?usp=drivesdk",
|
||||
"cachedResultName": "n8n Template-Email Validation"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": {
|
||||
"id": "uv83GKvueqitpnrd",
|
||||
"name": "5@gmail"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.3
|
||||
},
|
||||
{
|
||||
"id": "3bbdd0f1-66b6-4774-bb93-44336b827d3e",
|
||||
"name": "If Email Exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
-100,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "84aff430-6fe2-4c39-940a-178d2dcd1d09",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "empty",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "={{ $json.Status }}",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"If Email Exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Remove Duplicates",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Remove Duplicates": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Verify your emails",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Verify your emails": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update data to google sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Sheets Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If Email Exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
242
workflows/Http/0471_HTTP_Form_Create_Webhook.json
Normal file
242
workflows/Http/0471_HTTP_Form_Create_Webhook.json
Normal file
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "8418cffce8d48086ec0a73fd90aca708aa07591f2fefa6034d87fe12a09de26e"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "4503cef2-4882-43c6-bdb9-b94c75da5776",
|
||||
"name": "Create Stripe Product",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
780,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.stripe.com/v1/products",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "name",
|
||||
"value": "={{ $json.title }}"
|
||||
},
|
||||
{
|
||||
"name": "default_price_data[unit_amount]",
|
||||
"value": "={{ $json.price }}"
|
||||
},
|
||||
{
|
||||
"name": "default_price_data[currency]",
|
||||
"value": "={{ $json.currency }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "stripeApi"
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "qjose8z3RR7Xzm7b",
|
||||
"name": "Stripe Dev"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "80306e70-b57f-4697-9a9f-1835d2525c2f",
|
||||
"name": "Create payment link",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
980,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.stripe.com/v1/payment_links",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "line_items[0][price]",
|
||||
"value": "={{ $json.default_price }}"
|
||||
},
|
||||
{
|
||||
"name": "line_items[0][quantity]",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "stripeApi"
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "qjose8z3RR7Xzm7b",
|
||||
"name": "Stripe Dev"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "31d7450e-0f44-4c16-aec4-fe9213ff7c83",
|
||||
"name": "Config",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"notes": "Setup your flow",
|
||||
"position": [
|
||||
580,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"include": "selected",
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "038b54b7-9559-444e-8653-c5256a5b784e",
|
||||
"name": "currency",
|
||||
"type": "string",
|
||||
"value": "EUR"
|
||||
},
|
||||
{
|
||||
"id": "e86962bb-7af4-41be-94f6-6ee6b8569eef",
|
||||
"name": "price",
|
||||
"type": "number",
|
||||
"value": "={{ $json.price * 100}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeFields": "title",
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "10fb462a-8302-4281-9cd3-68bc00e69177",
|
||||
"name": "Creation Form",
|
||||
"type": "n8n-nodes-base.formTrigger",
|
||||
"position": [
|
||||
380,
|
||||
300
|
||||
],
|
||||
"webhookId": "1c6fe52c-48ab-4688-b5ae-7e24361aa603",
|
||||
"parameters": {
|
||||
"path": "my-form-id",
|
||||
"formTitle": "Create a payment link",
|
||||
"formFields": {
|
||||
"values": [
|
||||
{
|
||||
"fieldLabel": "title",
|
||||
"requiredField": true
|
||||
},
|
||||
{
|
||||
"fieldType": "number",
|
||||
"fieldLabel": "price",
|
||||
"requiredField": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"responseMode": "responseNode"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "daf2d495-f31f-45e0-945a-a6e94be43b25",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
580,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"color": 6,
|
||||
"width": 275.01592825011585,
|
||||
"height": 261.76027109756643,
|
||||
"content": "# Setup\n### 1/ Add Your credentials\n[Stripe](https://docs.n8n.io/integrations/builtin/credentials/stripe/)\n\n### 2/ And fill the config node\n# 👇"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9d298026-d858-4613-97c1-ac0cbd895ece",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
880,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 202.64787116404852,
|
||||
"height": 85.79488430601403,
|
||||
"content": "### Crafted by the\n## [🥷 n8n.ninja](https://n8n.ninja)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "5c8a17a3-7b2c-4760-a48a-02549f766967",
|
||||
"name": "Respond to Webhook",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"position": [
|
||||
1200,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"redirectURL": "={{ $json.url }}",
|
||||
"respondWith": "redirect"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Config": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Stripe Product",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Creation Form": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Config",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create payment link": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Stripe Product": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create payment link",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
322
workflows/Http/0485_HTTP_Stickynote_Create_Webhook.json
Normal file
322
workflows/Http/0485_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,322 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "041bccf206a3546a759ec4c0a3bf1256e62051945bb270c48f91f3acb13dc080"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "8a22d40f-5b09-485a-8d58-70f36821ee9f",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
340,
|
||||
-260
|
||||
],
|
||||
"parameters": {
|
||||
"width": 747,
|
||||
"height": 428,
|
||||
"content": "## Purpose \nTo verify the mailing address for new contacts in Groundhogg CRM. \n\nWhenever I add a new contact to Groundhogg CRM, I run this automation to ensure I have a valid mailing address. It also helps me check for misspellings if the contact address was manually entered.\n\nQuick Video Overview:\n\nhttps://www.youtube.com/watch?v=nrV0P0Yz8FI"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d59b4ac3-5b41-4913-8b41-401a4eac8cc0",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1480,
|
||||
-180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 561.9462602626872,
|
||||
"height": 763,
|
||||
"content": "Update Groundhogg CRM to indicate if the address is deliverable.\n\nPossible Options: \n- Add Tag\n- Add Note\n- Start Automation\n- Update a Field\n\nFor Deliverable Addresses - I apply a tag that the address was verified.\n\nFor Non Deliverable Addresses - I apply a tag, which triggers an automation for my team to manually verify the address. You could also trigger an automation to reach out to the contact to verify their address.\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6a5d3833-a256-4b57-96dc-6a08886b65ee",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
520,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"height": 339,
|
||||
"content": "Receive a webhook from your CRM with the contact address fields"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4fe1597b-ea03-439a-898b-a968cbd84511",
|
||||
"name": "Set Address Fields",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
840,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "8216105e-23ad-4c5c-8f4a-4f97658e0947",
|
||||
"name": "address",
|
||||
"type": "string",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"id": "111da971-2473-4c5e-a106-22589cf47daf",
|
||||
"name": "address2",
|
||||
"type": "string",
|
||||
"value": ""
|
||||
},
|
||||
{
|
||||
"id": "ed62cf39-10f1-42f6-b18f-bfa58b4fe646",
|
||||
"name": "city",
|
||||
"type": "string",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"id": "d9550200-04ac-4cf4-b7e6-cd40b793ce97",
|
||||
"name": "state",
|
||||
"type": "string",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"id": "62269d11-c98c-4016-83ef-291176f2fc12",
|
||||
"name": "zip",
|
||||
"type": "string",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "ac13a2be-07fa-4861-99ab-9af8fe797db3",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1000,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 430,
|
||||
"height": 216,
|
||||
"content": "1. Create an Account a LOB.com\n2. Create API Key (https://help.lob.com/account-management/api-keys)\n3. Update Node with your Credentials (Basic Auth)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "04c286c0-8862-40f9-960d-902b3c89a6ee",
|
||||
"name": "CRM Webhook Trigger",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
600,
|
||||
280
|
||||
],
|
||||
"webhookId": "a2df5279-0c49-49c1-83a3-cb1179930e91",
|
||||
"parameters": {
|
||||
"path": "727deb6f-9d10-4492-92e6-38f3292510b0",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "c091dc5f-5527-43ca-b257-c977d654c13b",
|
||||
"name": "Update Groundhogg - Deliverable",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1800,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=webhook listener from Groundhogg funnel",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "tag",
|
||||
"value": "Mailing Address Deliverable"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"value": "={{ $('CRM Webhook Trigger').item.json.id }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "1449b6e2-1c4f-4f75-8280-aab3c993f0ac",
|
||||
"name": "Update Groundhogg - NOT Deliverable",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1800,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=webhook listener from Groundhogg funnel",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "tag",
|
||||
"value": "Mailing Address NOT Deliverable"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"value": "={{ $('CRM Webhook Trigger').item.json.id }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "a79eb361-7dc8-4838-bb40-b34bf35c3102",
|
||||
"name": "Address Verification",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1140,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.lob.com/v1/us_verifications",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "primary_line",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"name": "secondary_line",
|
||||
"value": "={{ $json.address2 }}"
|
||||
},
|
||||
{
|
||||
"name": "city",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"name": "zip_code",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "71c9199f-823c-451b-baf5-a2b5de1697c1",
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
1500,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"rules": [
|
||||
{
|
||||
"value2": "=deliverable",
|
||||
"outputKey": "deliverable"
|
||||
},
|
||||
{
|
||||
"value2": "deliverable",
|
||||
"operation": "notEqual",
|
||||
"outputKey": "NOT deliverable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value1": "={{ $json.deliverability }}",
|
||||
"dataType": "string"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"CRM Webhook Trigger": [
|
||||
{
|
||||
"id": "5551212",
|
||||
"city": "Washington",
|
||||
"email": "mr.president@gmail.com",
|
||||
"phone": "877-555-1212",
|
||||
"state": "DC",
|
||||
"address": "1600 Pennsylvania Avenue NW",
|
||||
"zip_code": "20500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update Groundhogg - Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Update Groundhogg - NOT Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Address Fields": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Address Verification",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CRM Webhook Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Address Fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Address Verification": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
186
workflows/Http/0492_HTTP_Respondtowebhook_Create_Webhook.json
Normal file
186
workflows/Http/0492_HTTP_Respondtowebhook_Create_Webhook.json
Normal file
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "73b64763-5e18-4ff1-bb52-ba25a08d3c3a",
|
||||
"name": "If params correct",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
500,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "2e968b41-88f7-4b28-9837-af50ae130979",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "exists",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "voice_id",
|
||||
"rightValue": ""
|
||||
},
|
||||
{
|
||||
"id": "ad961bc9-6db8-4cac-8c63-30930e8beca7",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "exists",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "text",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "39079dec-54c5-458e-afa1-56ee5723f3a3",
|
||||
"name": "Respond to Webhook",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"position": [
|
||||
960,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"respondWith": "binary"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "b6a344f4-28ac-41a7-8e6a-a2782a5d1c68",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
300,
|
||||
200
|
||||
],
|
||||
"webhookId": "5acc6769-6c0f-42a8-a69c-b05e437e18a9",
|
||||
"parameters": {
|
||||
"path": "generate-voice",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseMode": "responseNode"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "a25dec72-152b-4457-a18f-9cbbd31840ec",
|
||||
"name": "Generate voice",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
740,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.elevenlabs.io/v1/text-to-speech/{{ $json.body.voice_id }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"text\": \"{{ $json.body.text }}\"\n} ",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpCustomAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpCustomAuth": {
|
||||
"id": "nhkU37chaiBU6X3j",
|
||||
"name": "Custom Auth account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "e862955e-76d9-4a24-9501-0d5eb8fbe778",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
280,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"width": 806.0818150700699,
|
||||
"height": 495.17470523089514,
|
||||
"content": "## Generate Text-to-Speech Using Elevenlabs via API\nThis workflow provides an API endpoint to generate speech from text using [Elevenlabs.io](https://elevenlabs.io/), a popular text-to-speech service.\n\n### Step 1: Configure Custom Credentials in n8n\nTo set up your credentials in n8n, create a new custom authentication entry with the following JSON structure:\n```json\n{\n \"headers\": {\n \"xi-api-key\": \"your-elevenlabs-api-key\"\n }\n}\n```\nReplace `\"your-elevenlabs-api-key\"` with your actual Elevenlabs API key.\n\n### Step 2: Send a POST Request to the Webhook\nSend a POST request to the workflow's webhook endpoint with these two parameters:\n- `voice_id`: The ID of the voice from Elevenlabs that you want to use.\n- `text`: The text you want to convert to speech.\n\nThis workflow has been a significant time-saver in my video production tasks. I hope it proves just as useful to you!\n\nHappy automating! \nThe n8Ninja"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "275ca523-8b43-4723-9dc4-f5dc1832fcd1",
|
||||
"name": "Error",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"position": [
|
||||
740,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"respondWith": "json",
|
||||
"responseBody": "{\n \"error\": \"Invalid inputs.\"\n}"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If params correct",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Generate voice": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"If params correct": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Generate voice",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Error",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
308
workflows/Http/0493_HTTP_Keap_Create_Webhook.json
Normal file
308
workflows/Http/0493_HTTP_Keap_Create_Webhook.json
Normal file
@@ -0,0 +1,308 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "041bccf206a3546a759ec4c0a3bf1256e62051945bb270c48f91f3acb13dc080"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "82d5281b-a4a3-4407-859e-49cb16567b28",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
340,
|
||||
-260
|
||||
],
|
||||
"parameters": {
|
||||
"width": 747,
|
||||
"height": 428,
|
||||
"content": "## Purpose \nTo verify the mailing address for new contacts in Keap. \n\nWhenever I add a new contact to Keap, I run this automation to ensure I have a valid mailing address. It also helps me check for misspellings if the contact address was manually entered.\n\nQuick Video Overview:\n\nhttps://www.youtube.com/watch?v=YyIpQw5gyhk\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "78fbe4ae-e72b-4bf9-8387-0d126316b148",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1480,
|
||||
-180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 515,
|
||||
"height": 763,
|
||||
"content": "Update Keap to indicate if the address is deliverable.\n\nPossible Options: \n- Add Tag\n- Add Note\n- Start Automation\n- Update a Field\n\nFor Deliverable Addresses - I apply a tag that the address was verified.\n\nFor Non Deliverable Addresses - I apply a tag, which triggers an automation for my team to manually verify the address. You could also trigger an automation to reach out to the contact to verify their address.\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b6313993-fa07-463d-a77a-a3c273ebc2c5",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
520,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"height": 339,
|
||||
"content": "Receive a webhook from your CRM with the contact address fields"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f79e9d7a-7ce9-49f3-bd0f-b827ce04b5e2",
|
||||
"name": "Set Address Fields",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
840,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "8216105e-23ad-4c5c-8f4a-4f97658e0947",
|
||||
"name": "address",
|
||||
"type": "string",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"id": "111da971-2473-4c5e-a106-22589cf47daf",
|
||||
"name": "address2",
|
||||
"type": "string",
|
||||
"value": "={{ $json.address2 }}"
|
||||
},
|
||||
{
|
||||
"id": "ed62cf39-10f1-42f6-b18f-bfa58b4fe646",
|
||||
"name": "city",
|
||||
"type": "string",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"id": "d9550200-04ac-4cf4-b7e6-cd40b793ce97",
|
||||
"name": "state",
|
||||
"type": "string",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"id": "62269d11-c98c-4016-83ef-291176f2fc12",
|
||||
"name": "zip",
|
||||
"type": "string",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"includeOtherFields": true
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "61d0ba59-dff6-4357-b085-a6d129171060",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1000,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 430,
|
||||
"height": 216,
|
||||
"content": "1. Create an Account a https://www.lob.com/pricing\n2. Create API Key (https://help.lob.com/account-management/api-keys)\n3. Update Node with your Credentials (Basic Auth)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4275e2a4-60a9-447e-8d64-f0073b9abe6b",
|
||||
"name": "Address Verification",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1060,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.lob.com/v1/us_verifications",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "primary_line",
|
||||
"value": "={{ $json.address }}"
|
||||
},
|
||||
{
|
||||
"name": "secondary_line",
|
||||
"value": "={{ $json.address2 }}"
|
||||
},
|
||||
{
|
||||
"name": "city",
|
||||
"value": "={{ $json.city }}"
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"value": "={{ $json.state }}"
|
||||
},
|
||||
{
|
||||
"name": "zip_code",
|
||||
"value": "={{ $json.zip_code }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "89da689e-1f96-4aa6-9236-150dc087caf0",
|
||||
"name": "Update Keap - Deliverable",
|
||||
"type": "n8n-nodes-base.keap",
|
||||
"position": [
|
||||
1580,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"tagIds": "=Mailing Address Deliverable",
|
||||
"resource": "contactTag",
|
||||
"contactId": "={{ $('CRM Webhook Trigger').item.json.id }}"
|
||||
},
|
||||
"credentials": {
|
||||
"keapOAuth2Api": {
|
||||
"id": "5gXMihvp2f0IT5i1",
|
||||
"name": "Blank"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "67ca486b-fc17-43e0-a2ae-757ab65422f7",
|
||||
"name": "Update Keap - NOT Deliverable",
|
||||
"type": "n8n-nodes-base.keap",
|
||||
"position": [
|
||||
1580,
|
||||
360
|
||||
],
|
||||
"parameters": {
|
||||
"tagIds": "=Mailing Address NOT Deliverable",
|
||||
"resource": "contactTag",
|
||||
"contactId": "={{ $('CRM Webhook Trigger').item.json.id }}"
|
||||
},
|
||||
"credentials": {
|
||||
"keapOAuth2Api": {
|
||||
"id": "5gXMihvp2f0IT5i1",
|
||||
"name": "Blank"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "bd2a2468-80d5-4a76-81b5-ea9cb181eb7a",
|
||||
"name": "CRM Webhook Trigger",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
600,
|
||||
280
|
||||
],
|
||||
"webhookId": "fd51bba5-929d-4610-bd3f-a3032bcf16c3",
|
||||
"parameters": {
|
||||
"path": "727deb6f-9d10-4492-92e6-38f3292510b0",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "15221022-7eb3-40db-85b3-cf310e8bc2d2",
|
||||
"name": "Switch",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
1280,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"rules": [
|
||||
{
|
||||
"value2": "=deliverable",
|
||||
"outputKey": "deliverable"
|
||||
},
|
||||
{
|
||||
"value2": "deliverable",
|
||||
"operation": "notEqual",
|
||||
"outputKey": "NOT deliverable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value1": "={{ $json.deliverability }}",
|
||||
"dataType": "string"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"CRM Webhook Trigger": [
|
||||
{
|
||||
"id": "5551212",
|
||||
"city": "Washington",
|
||||
"email": "mr.president@gmail.com",
|
||||
"phone": "877-555-1212",
|
||||
"state": "DC",
|
||||
"address": "1600 Pennsylvania Avenue NW",
|
||||
"zip_code": "20500"
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Switch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update Keap - Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Update Keap - NOT Deliverable",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Address Fields": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Address Verification",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CRM Webhook Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Address Fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Address Verification": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Switch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
203
workflows/Http/0494_HTTP_Htmlextract_Send_Webhook.json
Normal file
203
workflows/Http/0494_HTTP_Htmlextract_Send_Webhook.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1050,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"HTML Extract Data\"].data[\"title\"]}}",
|
||||
"value2": "Show HN:",
|
||||
"operation": "contains"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send Email",
|
||||
"type": "n8n-nodes-base.emailSend",
|
||||
"position": [
|
||||
1450,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{$node[\"Function\"].data[\"emailText\"]}}",
|
||||
"options": {},
|
||||
"subject": "Trending Show HN"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
250,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 13
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Function",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1250,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "let emailText = 'Currently trending \"Show HN\":\\n\\n';\n\nfor (let item of items) {\n emailText += `${item.json.rank} ${item.json.title}\\n${item.json.url}\\n\\n`;\n}\n\nreturn [{json: {emailText}}]\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
450,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://news.ycombinator.com/",
|
||||
"options": {},
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTML Extract Items",
|
||||
"type": "n8n-nodes-base.htmlExtract",
|
||||
"position": [
|
||||
650,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"extractionValues": {
|
||||
"values": [
|
||||
{
|
||||
"key": "item",
|
||||
"cssSelector": "tr.athing",
|
||||
"returnArray": true,
|
||||
"returnValue": "html"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTML Extract Data",
|
||||
"type": "n8n-nodes-base.htmlExtract",
|
||||
"position": [
|
||||
850,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"dataPropertyName": "item",
|
||||
"extractionValues": {
|
||||
"values": [
|
||||
{
|
||||
"key": "title",
|
||||
"cssSelector": "a"
|
||||
},
|
||||
{
|
||||
"key": "url",
|
||||
"attribute": "href",
|
||||
"cssSelector": "a.storylink",
|
||||
"returnValue": "attribute"
|
||||
},
|
||||
{
|
||||
"key": "rank",
|
||||
"cssSelector": ".rank"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Function",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Function": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTML Extract Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTML Extract Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTML Extract Items": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTML Extract Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
570
workflows/Http/0505_HTTP_Stickynote_Create_Webhook.json
Normal file
570
workflows/Http/0505_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,570 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "2490ba08907e49e216e6667acbe7f8867d372c76c9bd95e87bb8d210bd552e80"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "3ebbf865-26f6-456f-83bd-33fa72bc09ea",
|
||||
"name": "Token SuiteCRM",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://SUITECRMURLSERVER/Api/access_token",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "grant_type",
|
||||
"value": "client_credentials"
|
||||
},
|
||||
{
|
||||
"name": "client_id",
|
||||
"value": "IDVALUE"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"value": "PWDVALUE"
|
||||
}
|
||||
]
|
||||
},
|
||||
"allowUnauthorizedCerts": true
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "763bd0bc-7c08-496d-82b7-1fb021c1e6e1",
|
||||
"name": "CaptainMail",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-360,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.captainverify.com/v2/verify?apikey=YOURAPIKEY&email={{ $json.body.data.fields[0].value }}",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "json"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "9d1f03eb-4be2-4e72-bc86-723d92869888",
|
||||
"name": "If mail ok",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
220,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "ea7e2b2b-35cc-469c-b01b-eeb4f0030aa5",
|
||||
"operator": {
|
||||
"name": "filter.operator.equals",
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.result }}",
|
||||
"rightValue": "invalid"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "03ffff8c-401a-4723-80c6-df702cda2ba5",
|
||||
"name": "If Credits OK",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
-180,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "007b0ec4-870d-48d6-a961-adff23ceabd4",
|
||||
"operator": {
|
||||
"type": "number",
|
||||
"operation": "lt"
|
||||
},
|
||||
"leftValue": "={{ $json.credits }}",
|
||||
"rightValue": 100
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "487b4746-48d3-40c2-a21c-0a3aa38ba780",
|
||||
"name": "Tally Forms Trigger",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
-600,
|
||||
560
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2ff81440-ffb4-4d92-8fb0-0a46f6488a2e",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-420,
|
||||
382.5935162094766
|
||||
],
|
||||
"parameters": {
|
||||
"width": 221.29675810473822,
|
||||
"height": 324.588528678304,
|
||||
"content": "## CaptainVerify \n**Verify your email !** To reduce bounce email for your future campains. [Link](https://captainverify.com)\n\nChange **YOURAPIKEY** with yours"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "73d00252-c081-451c-84df-67e44bf0bb11",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-60,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 266.18453865336653,
|
||||
"height": 395.6608478802989,
|
||||
"content": "## Warning about your credits \nNotify with a message and level of credits in your NextCloud Discussion\n\nChange **URLSERVERNEXTCLOUD** with yours\nand **DISCUSSIONCODE** with the code of target discussion"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "da8758f6-82f6-481c-97cc-40292579d723",
|
||||
"name": "Notif Talk credits",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
20,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://URLSERVERNEXTCLOUD/ocs/v2.php/apps/spreed/api/v1/chat/DISCUSSIONCODE",
|
||||
"options": {
|
||||
"bodyContentType": "json",
|
||||
"bodyContentCustomMimeType": "application/json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "basicAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n\"message\":\"Low credits for CaptainVerify Mail. Balance = {{ $json[\"credits\"] }}\"\n}",
|
||||
"headerParametersJson": "={\"OCS-APIRequest\":\"true\"}"
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"id": "569b9fd4-85d0-4300-8dc1-ab71fc5c2d09",
|
||||
"name": "Notif Talk bad email",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
420,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://URLSERVERNEXTCLOUD/ocs/v2.php/apps/spreed/api/v1/chat/DISCUSSIONCODE",
|
||||
"options": {
|
||||
"bodyContentType": "json",
|
||||
"bodyContentCustomMimeType": "application/json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "basicAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n\"message\":\"Invalid mail on submission form for contact : {{ $('Execute Workflow Trigger').item.json[\"body\"][\"data\"][\"fields\"][1][\"value\"] }} et mail : {{ $('CaptainMail').item.json[\"email\"] }} \"\n}",
|
||||
"headerParametersJson": "={\"OCS-APIRequest\":\"true\"}"
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"id": "6b555580-b66d-485d-b1b7-dd9fbd580294",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
340,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 266.18453865336653,
|
||||
"height": 395.6608478802989,
|
||||
"content": "## Warning bad email \nNotify with a message for contact with invalid mail in your NextCloud Discussion\n\nChange **URLSERVERNEXTCLOUD** with yours\nand **DISCUSSIONCODE** with the code of target discussion"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "fcc84bdb-9ae2-44c9-a038-c9282cfe1373",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
420,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 226.00997506234387,
|
||||
"height": 358.40399002493757,
|
||||
"content": "## Auth SuiteCRM \n**Get Token** with V8 API. [Guide](https://docs.suitecrm.com/developer/api/developer-setup-guide/)\n\nChange **SUITECRMURLSERVER** with yours\nChange **IDVALUE** and **PWDVALUE** with a specific user in SuiteCRM"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d9a96370-f545-4daf-a2e2-af7efd5fda42",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-680,
|
||||
461.97007481296754
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"height": 252.8428927680797,
|
||||
"content": "## WEBHOOK \n**TRIGGER** with the FormsTool of your choice."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8e50db5a-5945-468c-ae92-239b8eb74f31",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1060,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 221.29675810473822,
|
||||
"height": 80,
|
||||
"content": "## CaptainVerify \n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "81deb53f-4161-42ef-9eec-d075e694aa04",
|
||||
"name": "Sticky Note6",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1060,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 220.39900249376552,
|
||||
"height": 80,
|
||||
"content": "## NextCloud\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2aea4eaf-d7fa-4e87-ae75-e52bc3f385c2",
|
||||
"name": "Sticky Note7",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
660,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 226.00997506234387,
|
||||
"height": 358.40399002493757,
|
||||
"content": "## Create Leads \nAdjust **Json** with your data\n\nChange **SUITECRMURLSERVER** with yours\nChange **IDVALUE** and **PWDVALUE** with a specific user in SuiteCRM"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2550bf07-3d3b-497a-b14e-8626ab478659",
|
||||
"name": "Sticky Note8",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1060,
|
||||
320
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 223.46633416458826,
|
||||
"height": 80,
|
||||
"content": "## SuiteCRM \n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "18324e1a-6873-466c-9eab-2292eb2fe1f4",
|
||||
"name": "Sticky Note9",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
920,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"height": 357.1321695760598,
|
||||
"content": "## Brevo\nCreate Contact with data and **Link with the id of SuiteCRM** Lead in a dedicated custom field in Brevo"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "df474fee-be22-4fda-9cfc-61e46492e30c",
|
||||
"name": "Create Lead SuiteCRM",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
720,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://SUITECRMURLSERVER/Api/V8/module",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonBody": "={\"data\": {\n\"type\": \"Leads\",\n\"attributes\": { \n\"last_name\": \"{{ $('Tally Forms Trigger').item.json[\"body\"][\"data\"][\"fields\"][1][\"value\"] }}\",\n\"status\": \"Hot\",\n\"email1\": \"{{ $('CaptainMail').item.json[\"email\"] }}\",\n\"lead_source\": \"FormsChoice\",\n\"assigned_user_id\": \"491cf554-4d5e-b06a-7a61-605210d85367\",\n\"lead_source_description\": \"FORMNAME Submission\"}\n}\n}",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "=Bearer {{$node[\"Token SuiteCRM\"].json[\"access_token\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/vnd.api+json"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "635665d3-f35b-42b7-b9d5-427f46d1867f",
|
||||
"name": "Notif Talk Lead created",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1260,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://URLSERVERNEXTCLOUD/ocs/v2.php/apps/spreed/api/v1/chat/DISCUSSIONCODE",
|
||||
"options": {
|
||||
"bodyContentType": "json",
|
||||
"bodyContentCustomMimeType": "application/json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "basicAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n\"message\":\"Lead créé ! Saisie du Formulaire choix séance. Contact : {{ $('Tally Forms Trigger').item.json[\"body\"][\"data\"][\"fields\"][1][\"value\"] }} et mail : {{ $('CaptainMail').item.json[\"email\"] }} \"\n}",
|
||||
"headerParametersJson": "={\"OCS-APIRequest\":\"true\"}"
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"id": "84fda59b-5d9c-42aa-9ce6-2c3fc837e04e",
|
||||
"name": "Sticky Note10",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1180,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 266.18453865336653,
|
||||
"height": 357.50623441396476,
|
||||
"content": "## Notify lead created \nMessage for a lead created in your selected NextCloud discussion\n\nChange **URLSERVERNEXTCLOUD** with yours\nand **DISCUSSIONCODE** with the code of target discussion"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2f55803e-bb3a-482a-9d12-5fdeefbbac6c",
|
||||
"name": "Sticky Note11",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1060,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 224.73815461346635,
|
||||
"height": 80,
|
||||
"content": "## Brevo"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "fbf39f60-e895-4477-9f62-9ec6965a84cc",
|
||||
"name": "Brevo Create Contact",
|
||||
"type": "n8n-nodes-base.sendInBlue",
|
||||
"position": [
|
||||
980,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"email": "{{ $('CaptainMail').item.json[\"email\"] }}",
|
||||
"resource": "contact",
|
||||
"createContactAttributes": {
|
||||
"attributesValues": [
|
||||
{
|
||||
"fieldName": "NOM",
|
||||
"fieldValue": "={{ $('Tally Forms Trigger').item.json.body.data.fields[1].value }}"
|
||||
},
|
||||
{
|
||||
"fieldName": "PRENOM",
|
||||
"fieldValue": "={{ $('Tally Forms Trigger').item.json.body.data.fields[2].value }}"
|
||||
},
|
||||
{
|
||||
"fieldName": "LEADS_ID",
|
||||
"fieldValue": "={{ $('Create Lead SuiteCRM').item.json.data.id }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"If mail ok": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Notif Talk bad email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Token SuiteCRM",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"CaptainMail": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If Credits OK",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"If Credits OK": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Notif Talk credits",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "If mail ok",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Token SuiteCRM": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Lead SuiteCRM",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Notif Talk credits": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If mail ok",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Tally Forms Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "CaptainMail",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Brevo Create Contact": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Notif Talk Lead created",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Lead SuiteCRM": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Brevo Create Contact",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
149
workflows/Http/0510_HTTP_Schedule_Automation_Webhook.json
Normal file
149
workflows/Http/0510_HTTP_Schedule_Automation_Webhook.json
Normal file
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "1dd912a1610cd0376bae7bb8f1b5838d2b601f42ac66a48e012166bb954fed5a",
|
||||
"templateId": "2299",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "edf41c95-2421-4008-9097-73687fe4bbfc",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "bde8d167-b7c4-4fc8-a256-b022bb33347d",
|
||||
"name": "Test Data",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
800,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "e0e09aa8-2374-43f7-87bf-f2ffcac8e1d9",
|
||||
"name": "name",
|
||||
"type": "string",
|
||||
"value": "n8n"
|
||||
},
|
||||
{
|
||||
"id": "2086908e-c301-4392-9cf6-b6461e11dcd4",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "https://n8n.io/"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "e53d7ec5-f98a-41fe-b082-00e2f680dcea",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
760,
|
||||
40
|
||||
],
|
||||
"parameters": {
|
||||
"content": "## Test Data \n\nUsing n8n.io as test url.\n\nFor production use, you have to connect your data here."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "835c2a8c-edd6-43dc-b898-e2c49dd65beb",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1120,
|
||||
-40
|
||||
],
|
||||
"parameters": {
|
||||
"width": 389,
|
||||
"height": 255.7976193268613,
|
||||
"content": "## Web Scraping \n\nUsing **Scrappey's** API to scrape every website.\n\nDon't get blocked again by anti-bot technologies while scraping the web.\n\n**Setup:**\nReplace YOUR_API_KEY with [your Scrappey API key.](https://scrappey.com/?ref=n8n)\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "7f8b3077-ec09-4fec-a4f0-f6b7f3f7ec0e",
|
||||
"name": "Scrape website with Scrappey",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1280,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://publisher.scrappey.com/api/v1",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"redirect": {
|
||||
"redirect": {}
|
||||
}
|
||||
},
|
||||
"sendBody": true,
|
||||
"sendQuery": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "cmd",
|
||||
"value": "request.get"
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"value": "={{ $json.url }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "key",
|
||||
"value": "YOUR_API_KEY"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Test Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Scrape website with Scrappey",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Test Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
137
workflows/Http/0517_HTTP_Stickynote_Process_Webhook.json
Normal file
137
workflows/Http/0517_HTTP_Stickynote_Process_Webhook.json
Normal file
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "1dd912a1610cd0376bae7bb8f1b5838d2b601f42ac66a48e012166bb954fed5a",
|
||||
"templateId": "2310"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "df9d04c7-2116-421a-9061-f3ae9118817a",
|
||||
"name": "Convert web page to PDF",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
560,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://v2.convertapi.com/convert/web/to/pdf",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendBody": true,
|
||||
"contentType": "multipart-form-data",
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "url",
|
||||
"value": "https://n8n.io"
|
||||
}
|
||||
]
|
||||
},
|
||||
"genericAuthType": "httpQueryAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"value": "application/octet-stream"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpQueryAuth": {
|
||||
"id": "WdAklDMod8fBEMRk",
|
||||
"name": "Query Auth account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "2f559bbd-54ca-40db-bb7c-3a00481a017d",
|
||||
"name": "When clicking ‘Test workflow’",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d265d2b7-0079-4db8-a208-88bbeb965475",
|
||||
"name": "Read/Write Files from Disk",
|
||||
"type": "n8n-nodes-base.readWriteFile",
|
||||
"position": [
|
||||
960,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fileName": "document.pdf",
|
||||
"operation": "write",
|
||||
"dataPropertyName": "=data"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6e17fb0d-cc52-4e33-b0e0-7256cdef1240",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
520,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"width": 218,
|
||||
"height": 132,
|
||||
"content": "## Authentication\nConversion requests must be authenticated. Please create \n[ConvertAPI account to get authentication secret](https://www.convertapi.com/a/signin)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "13d9a34a-7516-4fb2-9e5b-62cc8f5259ac",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
500,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"width": 281,
|
||||
"content": "## Set Url to Webpage\nSet the url to the webpage, that should be converted to pdf in the parameter `url`"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Convert web page to PDF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Read/Write Files from Disk",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When clicking ‘Test workflow’": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Convert web page to PDF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
195
workflows/Http/0549_HTTP_Filter_Monitor_Webhook.json
Normal file
195
workflows/Http/0549_HTTP_Filter_Monitor_Webhook.json
Normal file
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "84ba6d895254e080ac2b4916d987aa66b000f88d4d919a6b9c76848f9b8a7616",
|
||||
"templateId": "2359"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "654e210f-08b1-4ba4-b464-9499084092a2",
|
||||
"name": "split custom_fields",
|
||||
"type": "n8n-nodes-base.splitOut",
|
||||
"position": [
|
||||
980,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"include": "allOtherFields",
|
||||
"options": {},
|
||||
"fieldToSplitOut": "custom_fields"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9b1a4071-7dd8-4d60-b077-d686fff40d24",
|
||||
"name": "Stripe | Get latest checkout sessions1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
460,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.stripe.com/v1/checkout/sessions",
|
||||
"options": {
|
||||
"pagination": {
|
||||
"pagination": {
|
||||
"parameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "starting_after",
|
||||
"value": "={{ $response.body.data.last().id }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"completeExpression": "={{ $response.body.has_more == false }}",
|
||||
"paginationCompleteWhen": "other"
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonQuery": "={\n \"created\": {\n \"gte\":{{ $today.minus(20, 'days').toSeconds() }},\n \"lte\":{{ $today.toSeconds() }}\n }\n}",
|
||||
"sendQuery": true,
|
||||
"specifyQuery": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "stripeApi"
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "17016a73-5338-49c7-af8d-8587c778c2f6",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
380,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 252.741654751449,
|
||||
"height": 593.3373455805055,
|
||||
"content": "## Retrieve all checkout sessions from the last 7 days.\n\nYou can adjust the period by changing the \"created\" value.\n\n[🔍 Learn more about the \"created\" parameter](https://docs.stripe.com/api/checkout/sessions/list?lang=curl#list_checkout_sessions-created)\n\n\nAnd this node uses pagination to get all results. You want to keep those settings at the bottom."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e46a5332-a008-4617-be57-eb22e713022d",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
700,
|
||||
545
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 451.2991079615292,
|
||||
"height": 267.24226082469556,
|
||||
"content": "## Split data for easier visualization"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ebf8a12a-787c-4ab8-9060-2241bbf38489",
|
||||
"name": "Sticky Note6",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1220,
|
||||
237
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"height": 598.2429925878827,
|
||||
"content": "## Select the custom fields you want\n\nHere you can choose to filter your contacts to keep only the ones who contain certain custom_fields.\n\nLet's say you only want the ones who have filled their nickname and job title."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e9c54905-dadb-4b5e-9ce0-cfe7d436c51e",
|
||||
"name": "Filter by custom_field",
|
||||
"type": "n8n-nodes-base.filter",
|
||||
"position": [
|
||||
1280,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "4579d72e-8d48-4146-952d-9b5b400f5bce",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.custom_fields.key }}",
|
||||
"rightValue": "nickname"
|
||||
},
|
||||
{
|
||||
"id": "34197f40-9b41-46e4-8796-be3a86e4dcca",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.custom_fields.key }}",
|
||||
"rightValue": "job_title"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "14915079-68ba-48ab-9a9d-fe627aa2bd33",
|
||||
"name": "split all data",
|
||||
"type": "n8n-nodes-base.splitOut",
|
||||
"position": [
|
||||
760,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fieldToSplitOut": "data"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"split all data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "split custom_fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"split custom_fields": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Filter by custom_field",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Stripe | Get latest checkout sessions1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "split all data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
323
workflows/Http/0550_HTTP_Slack_Create_Webhook.json
Normal file
323
workflows/Http/0550_HTTP_Slack_Create_Webhook.json
Normal file
@@ -0,0 +1,323 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "8e95de061dd3893a50b8b4c150c8084a7848fb1df63f53533941b7c91a8ab996"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "6f938c83-45fd-4189-b9ec-c7a6de4beb2d",
|
||||
"name": "Retrieve deals Ids",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
660,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "bad2435b-ec9b-4995-ab39-2dac1c2daa3a",
|
||||
"name": "deal_id_won",
|
||||
"type": "string",
|
||||
"value": "={{ $json.query.deal_id_won }}"
|
||||
},
|
||||
{
|
||||
"id": "2376fad4-c305-4c38-8daa-fd86014ae14b",
|
||||
"name": "deal_id_created",
|
||||
"type": "string",
|
||||
"value": "={{ $json.query.deal_id_created.match(/0-3-(\\d+)$/)[1] }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "abc534f2-03b4-4f34-8292-bc8011c62c44",
|
||||
"name": "Get deal won line items",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
920,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.hubapi.com/crm/v4/associations/deals/line_items/batch/read",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"inputs\": [\n {\n \"id\": \"{{ $json.deal_id_won }}\"\n }\n ]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "hubspotAppToken"
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotAppToken": {
|
||||
"id": "yIpa7XqurpoIimjq",
|
||||
"name": "HubSpot App Token account"
|
||||
},
|
||||
"hubspotOAuth2Api": {
|
||||
"id": "2",
|
||||
"name": "HubSpot account OAuth - Arnaud"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "eb5ae93e-3b52-4a92-9506-5379bbca8e0b",
|
||||
"name": "Slack",
|
||||
"type": "n8n-nodes-base.slack",
|
||||
"position": [
|
||||
1740,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=:white_check_mark: {{ `<https://arnaud-growth.app.n8n.cloud/workflow/${$workflow.id}|${$workflow.name}> sucessfull on <https://app-eu1.hubspot.com/contacts/3418361/record/0-3/${$('Retrieve deals Ids').item.json[\"deal_id_won\"]}|Deal won> and <https://app-eu1.hubspot.com/contacts/3418361/record/0-3/${$('Retrieve deals Ids').item.json[\"deal_id_created\"]}|Deal created>`}}\n",
|
||||
"select": "channel",
|
||||
"channelId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "C051YHBJ1G8"
|
||||
},
|
||||
"otherOptions": {
|
||||
"includeLinkToWorkflow": false
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"slackApi": {
|
||||
"id": "5",
|
||||
"name": "Slack account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "d18841d0-a270-4db5-9256-17026985c13b",
|
||||
"name": "Get batch SKUs from line items",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1100,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.hubapi.com/crm/v3/objects/line_items/batch/read",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={{ \n\n{\n \"idProperty\": \"hs_object_id\",\n \"inputs\": $jmespath($json.results,`[].to[].{id: to_string(toObjectId)}`),\n \"properties\": [\n \"hs_object_id\",\n \"name\",\n \"hs_sku\"\n ]\n}\n\n}}",
|
||||
"sendBody": true,
|
||||
"sendQuery": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "archived",
|
||||
"value": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "hubspotAppToken"
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotAppToken": {
|
||||
"id": "yIpa7XqurpoIimjq",
|
||||
"name": "HubSpot App Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "58a9ae81-26d5-47fb-9de7-bf108cb41f8d",
|
||||
"name": "Get Batch Product IDs by SKUs",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1320,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.hubapi.com/crm/v3/objects/products/batch/read",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={{ {\n \"idProperty\": \"hs_sku\",\n \"inputs\": $jmespath($json.results,\"[].properties.{id:to_string(hs_sku)}\") \n,\n \"properties\": [\n \"idProperty\",\n \"name\",\n \"hs_object_id\",\n \"recurringbillingfrequency\",\n\"hs_price_eur\"\n ]\n}\n\n}}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "hubspotAppToken"
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotAppToken": {
|
||||
"id": "yIpa7XqurpoIimjq",
|
||||
"name": "HubSpot App Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "27b2619a-af84-475a-9bdc-c86462ea57d3",
|
||||
"name": "Create Batch line items based on productId and associate to deals",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1540,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.hubapi.com/crm/v3/objects/line_items/batch/create",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={{ {\"inputs\":$jmespath($json.results,\"[].id\")\n.map(id => ({\n \"associations\": [\n {\n \"types\": [\n {\n \"associationCategory\": \"HUBSPOT_DEFINED\",\n \"associationTypeId\": 20\n }\n ],\n \"to\": {\n \"id\": $('Retrieve deals Ids').item.json[\"deal_id_created\"]\n }\n }\n ],\n \"properties\": {\n \"hs_product_id\": id,\n \"quantity\": \"1\"\n }\n})) } \n\n}}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "hubspotAppToken"
|
||||
},
|
||||
"credentials": {
|
||||
"hubspotAppToken": {
|
||||
"id": "yIpa7XqurpoIimjq",
|
||||
"name": "HubSpot App Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "f6776d74-c818-4f2b-b05a-5e6b53c2ad5f",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-280,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"width": 565.8142732633208,
|
||||
"height": 838.7224568543345,
|
||||
"content": "# Replicate Line Items on New Deal in HubSpot Workflow\n\n## Use Case\nThis workflow solves the problem of manually copying line items from one deal to another in HubSpot, reducing manual work and minimizing errors.\n\n## What this workflow does\n- **Triggers** upon receiving a webhook with deal IDs.\n- **Retrieves** the IDs of the won and created deals.\n- **Fetches** line items associated with the won deal.\n- **Extracts** product SKUs from the retrieved line items.\n- **Fetches** product details based on SKUs.\n- **Creates** new line items for the created deal and associates them.\n- **Sends** a Slack notification with success details.\n\n## Step up steps\n1. Create a HubSpot Deal Workflow\n 1.1 Set up your trigger (ex: when deal stage = Won)\n 1.2 Add step : Create Record (deal)\n 1.3 Add Step : Send webhook. The webhook should be a Get to your n8n first trigger. Set two query parameter : \n - `deal_id_won` as the Record ID of the deal triggering the HubSpot Workflow\n - `deal_id_create` as the Record ID of the deal created above. Click Insert Data -> The created object\n2. Set up your HubSpot App token in HubSpot -> Settings -> Integration -> Private Apps\n3. Set up your HubSpot Token integration using the predefined model.\n4. Set up your Slack connection\n5. Add an error Workflow to monitor errors"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "eefcd96e-c182-4362-bc60-6b5bca42e8a4",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
340,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"height": 393.4378126446013,
|
||||
"content": "**Step 1.**\nTriggered by HubSpot Workflow"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9fedd8cf-6d97-428e-8391-aedff191ba5d",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
600,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"height": 393.4378126446013,
|
||||
"content": "**Step 2.**\nSet the Ids of the deal won and the deal created"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b00a8849-0a13-40d3-a714-49f0afc54cea",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
860,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"width": 819.2253746903481,
|
||||
"height": 393.4378126446013,
|
||||
"content": "**Step 3.**\n- Get line items IDs from the deal won\n- Retrieve the SKUs from those line items\n- Get product based on SKUs\n- Create new line items from Product IDs and associate to the new deal\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8dc60064-83a1-488e-b1a5-7be57d734e88",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
420,
|
||||
440
|
||||
],
|
||||
"webhookId": "833df60e-a78f-4a59-8244-9694f27cf8ae",
|
||||
"parameters": {
|
||||
"path": "833df60e-a78f-4a59-8244-9694f27cf8ae",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve deals Ids",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve deals Ids": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get deal won line items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get deal won line items": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get batch SKUs from line items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Batch Product IDs by SKUs": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Batch line items based on productId and associate to deals",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get batch SKUs from line items": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Batch Product IDs by SKUs",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Batch line items based on productId and associate to deals": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Slack",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
321
workflows/Http/0551_HTTP_Stickynote_Create_Webhook.json
Normal file
321
workflows/Http/0551_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,321 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "f9c40bccfbfb973b8ba2bfd7b70b906c2376bb9900216d1ce424582c3097fb66"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "89a2f8d1-a2fd-452b-8187-aec9e72efba5",
|
||||
"name": "Systeme | Get all contacts",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.systeme.io/api/contacts",
|
||||
"options": {
|
||||
"pagination": {
|
||||
"pagination": {
|
||||
"parameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "startingAfter",
|
||||
"value": "={{ $response.body.items.last().id }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"requestInterval": 1000,
|
||||
"completeExpression": "={{ $response.body.hasMore == false }}",
|
||||
"paginationCompleteWhen": "other"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendQuery": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "limit",
|
||||
"value": "100"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "56ad906f-0309-469a-8509-96ea6d56c0ba",
|
||||
"name": "Split Out2",
|
||||
"type": "n8n-nodes-base.splitOut",
|
||||
"position": [
|
||||
680,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fieldToSplitOut": "items"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b2ffb152-c3f2-4d74-a25e-9ec3162b8dbe",
|
||||
"name": "Systeme | Get All tags",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.systeme.io/api/tags",
|
||||
"options": {
|
||||
"pagination": {
|
||||
"pagination": {
|
||||
"parameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "startingAfter",
|
||||
"value": "={{ $response.body.items.last().id }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"requestInterval": 1000,
|
||||
"completeExpression": "={{ $response.body.hasMore == false }}",
|
||||
"paginationCompleteWhen": "other"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendQuery": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "limit",
|
||||
"value": "100"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "0e284595-ae1c-4f48-a276-d5059319226b",
|
||||
"name": "Split Out",
|
||||
"type": "n8n-nodes-base.splitOut",
|
||||
"position": [
|
||||
680,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fieldToSplitOut": "items"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b7b231c7-11e6-4dbd-aa0a-720ce1ba418b",
|
||||
"name": "Split Out3",
|
||||
"type": "n8n-nodes-base.splitOut",
|
||||
"position": [
|
||||
680,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"fieldToSplitOut": "items"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "bed54e99-ceaa-4a3a-a3b1-403a1573ba4d",
|
||||
"name": "Systeme | Get contacts with tag",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.systeme.io/api/contacts",
|
||||
"options": {
|
||||
"pagination": {
|
||||
"pagination": {
|
||||
"parameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "startingAfter",
|
||||
"value": "={{ $response.body.items.last().id }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"requestInterval": 1000,
|
||||
"completeExpression": "={{ $response.body.hasMore == false }}",
|
||||
"paginationCompleteWhen": "other"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendQuery": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "limit",
|
||||
"value": "100"
|
||||
},
|
||||
{
|
||||
"name": "tags",
|
||||
"value": "1012751"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "725bd82d-22fd-4276-906b-273c8e3ce0e6",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
220,
|
||||
80
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 233.58287051218554,
|
||||
"height": 80,
|
||||
"content": "### Use this to get all your contacts 👉"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "830d9509-1fc2-4ea5-9061-bdc9f41aacd6",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-240,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 254.8031770750764,
|
||||
"height": 214.14625940040065,
|
||||
"content": "All these nodes take the API rate limits and pagination into consideration.\n\nThis allows you to:\n- always get all the data from your account\n- perform many requests without reaching the rate limit"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a8dcd1dc-9c70-4cb1-a01d-b537063bb67d",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
220,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 233.58287051218554,
|
||||
"height": 80,
|
||||
"content": "### Use this to get all your tags 👉"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "358bd219-2fd3-4d3b-8901-0ce1a8bd6328",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
220,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 203.622937338547,
|
||||
"height": 255.07789053421138,
|
||||
"content": "### Use this to get only the contacts that have a certain tag 👉\n\nTo filter by more than one tag, just add more tag IDs to the tags parameter, like this:\n\n1012751,1012529"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "3b1f6f68-baf0-4357-9f05-74cda41037e3",
|
||||
"name": "Systeme | Add contact",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.systeme.io/api/contacts",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"batching": {
|
||||
"batch": {
|
||||
"batchSize": 9
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonBody": "={\n \"email\": \"{{ $json.emails }}\",\n \"fields\": [\n {\n \"slug\": \"utm_source\",\n \"value\": \"API\"\n }\n ]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "d4ae7c37-9044-4623-8051-2b0ef557ce57",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
220,
|
||||
1000
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 203.622937338547,
|
||||
"height": 396.06618898998505,
|
||||
"content": "### Use this to add many contacts at once 👉\n\nAdding thousands of contacts can be tricky, specially if you have many fields to add.\n\nThis node is an alternative to the native import functionality from Systeme.io.\n\nIf you need some custom data added to your leads, maybe using the API will be better than using the import tool they provide in Systeme."
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Systeme | Get All tags": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Split Out",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Systeme | Get all contacts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Split Out2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Systeme | Get contacts with tag": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Split Out3",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
222
workflows/Http/0559_HTTP_Webhook_Create_Webhook.json
Normal file
222
workflows/Http/0559_HTTP_Webhook_Create_Webhook.json
Normal file
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "0000"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "b2015e98-23bf-4bdb-b588-2991ee4d69d5",
|
||||
"name": "Confluence: Get template content",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1460,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Set parameters').item.json.confluence_base_url }}/wiki/rest/api/template/{{ $json.template_id }}",
|
||||
"options": {},
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpBasicAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"id": "wQWJ3gbaDYd4nNIK",
|
||||
"name": "Atlassian"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "b5b665d6-f92e-43f1-bfd8-5de4155b73d4",
|
||||
"name": "Confluence: Create page from template",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1900,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Set parameters').item.json.confluence_base_url }}/wiki/rest/api/content/",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"value": "page"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"value": "={{ $now.format(\"yyyy-MM-dd-HH-mm\") }}-{{ $('Replace placeholders in template body and title').item.json.page_title }}"
|
||||
},
|
||||
{
|
||||
"name": "space",
|
||||
"value": "={{ { \"key\" : $('Set parameters').item.json.target_space_key } }}"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"value": "={{ { \"storage\" : { \"value\" : $('Replace placeholders in template body and title').item.json.page_body, \"representation\" : \"storage\" } } }}"
|
||||
},
|
||||
{
|
||||
"name": "ancestors",
|
||||
"value": "={{ [{\"type\" : \"page\", \"id\" : $('Set parameters').item.json.target_parent_page_id} ] }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"genericAuthType": "httpBasicAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"id": "wQWJ3gbaDYd4nNIK",
|
||||
"name": "Atlassian"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "571a104e-4112-4898-8e63-08dd8809b328",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1000,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"color": 2,
|
||||
"width": 610,
|
||||
"height": 315,
|
||||
"content": "## Create Atlassian Confluence page from template\n\nCreates a new page in Confluence from a space template.\n\n### Setup\nAll parameters you need to change are defined in the _Set parameters_ node\nFor detailled setup instructions and explanation how it all works --> [🎥 Video](https://www.tella.tv/video/automate-confluence-page-creation-e994)\n\n### Credentials\nAs the password for the basic auth credential, you need to use an API key. \nDocumentation on those is [here](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/).\n[Here's](https://id.atlassian.com/manage-profile/security/api-tokens) where you create and manage Atlassian API keys."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "eac6d0bc-0ea5-4e23-977c-8e06b346ea79",
|
||||
"name": "Set parameters",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1240,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "01116d20-ddaf-405a-99ec-81197f71cd4f",
|
||||
"name": "confluence_base_url",
|
||||
"type": "string",
|
||||
"value": "https://your-domain.atlassian.net"
|
||||
},
|
||||
{
|
||||
"id": "4a5a8737-5694-40ef-99c5-d5aa4fab1220",
|
||||
"name": "template_id",
|
||||
"type": "string",
|
||||
"value": "834764824"
|
||||
},
|
||||
{
|
||||
"id": "27c1681d-4f44-4b6f-9e6b-6013bfcac6a0",
|
||||
"name": "target_space_key",
|
||||
"type": "string",
|
||||
"value": "~5f5915647187b8006ffffe8e"
|
||||
},
|
||||
{
|
||||
"id": "5de1868b-ee33-4ef4-aa45-0d951b5ce5ff",
|
||||
"name": "target_parent_page_id",
|
||||
"type": "string",
|
||||
"value": "312344667"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "c28299ef-8ce7-497f-98d8-356a741f461d",
|
||||
"name": "Replace placeholders in template body and title",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"position": [
|
||||
1680,
|
||||
660
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "runOnceForEachItem",
|
||||
"jsCode": "function replacePlaceholders(template, values) {\n // Regular expression to find placeholders in the format $some.place.holder$\n const placeholderPattern = /\\$(.*?)\\$/g;\n\n // Replace function to look up the value from the object\n return template.replace(placeholderPattern, (match, p1) => {\n // Split the placeholder into parts by dot notation\n const keys = p1.split('.');\n let value = values;\n\n // Traverse the object based on the dot notation\n for (const key of keys) {\n if (value && key in value) {\n value = value[key];\n } else {\n // If the key is not found, return the original placeholder\n return match;\n }\n }\n // Return the value found in the object\n return value;\n });\n}\n\nconst templateTitle = $('Confluence: Get template content').item.json.name;\nconst templateBody = $('Confluence: Get template content').item.json.body.storage.value;\nconst values = $('Webhook').item.json;\n\nconst pageTitle = replacePlaceholders(templateTitle, values); \nconst pageBody = replacePlaceholders(templateBody, values);\n\nreturn { \"page_title\": pageTitle, \"page_body\" : pageBody};"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "42bbd727-e3ea-4e36-be11-1f7def28f134",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
1020,
|
||||
660
|
||||
],
|
||||
"webhookId": "d291ef27-c27f-42cf-90cf-4dad7dd71a7c",
|
||||
"parameters": {
|
||||
"path": "d291ef27-c27f-42cf-90cf-4dad7dd71a7c",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"Webhook": [
|
||||
{
|
||||
"user": {
|
||||
"name": "Alice",
|
||||
"messages": {
|
||||
"count": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set parameters",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set parameters": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Confluence: Get template content",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Confluence: Get template content": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Replace placeholders in template body and title",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Replace placeholders in template body and title": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Confluence: Create page from template",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
workflows/Http/0566_HTTP_Stickynote_Automate_Webhook.json
Normal file
169
workflows/Http/0566_HTTP_Stickynote_Automate_Webhook.json
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "f1142274-898d-43da-a7ff-2b2e03f2dc73",
|
||||
"name": "Execute Workflow Trigger",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
1220,
|
||||
840
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "1f407421-2dd6-4e0c-bc74-cfb291e475ed",
|
||||
"name": "Query Confluence",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1640,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://n8n-labs.atlassian.net/wiki/rest/api/search",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpBasicAuth",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "cql",
|
||||
"value": "=text ~ \"{{ $json.query }}\""
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "accept",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"id": "B1Cj4Uh9d9WKWxBO",
|
||||
"name": "Confluence API Key"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "f1ab7e79-6bd8-4b87-b6dc-96f9d46cdd16",
|
||||
"name": "Return Tool Response",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
2040,
|
||||
840
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "c1d46e59-9340-43f3-bc2a-fbd4e0def74f",
|
||||
"name": "response",
|
||||
"type": "string",
|
||||
"value": "=\"Title\": \"{{ $json.results[0].content.title }}\"\n\"Link\": \"{{ $json._links.base }}{{ $json.results[0].content._links.webui }}\"\n\"Content\": {{ $json[\"results\"][0][\"excerpt\"] }}\nWhen users request the password, make sure to send them the link above to reset it in markdown. "
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.3
|
||||
},
|
||||
{
|
||||
"id": "19be50a2-4835-48a6-b06a-7996231c519d",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1037.1879432624112,
|
||||
466.2978723404259
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 460.26595744680884,
|
||||
"height": 598.588007755415,
|
||||
"content": "\n## Receive Query from Parent Workflow\nThis node receives input from the AI Agent in the top level workflow where it passes just the Slack Message directly to this workflow."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "0012feaa-89f5-40a4-86d6-98e0e9648bd5",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1520,
|
||||
469.2511978555872
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 350.94680851063845,
|
||||
"height": 588.3931371954408,
|
||||
"content": "\n## Search Confluence\nThe newly created prompt is then sent into Confluence's API as a search string. \n\nTo replace this with your own KB tool, find the Endpoint that allows search, and replace this HTTP Request node with your own HTTP Request or Built in n8n node and pass the search variable into the search input. "
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6982692e-61c5-47fc-9946-ada32d5fa2a1",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1900,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 648.2749545725208,
|
||||
"height": 597.2865893156994,
|
||||
"content": "\n## Respond to Parent Workflow with Confluence Results\nThe final output is then sent to the Parent workflow to be used in the final AI Agent API call to the LLM of your choice as part of the final output. Here is the prompt output: \n```\n\"Title\": \"Title of content so AI Agent will know the name of the content\"\n\"Link\": \"Link to URL of KB article. Great for giving back to user to self help\"\n\"Content\": Truncated output of content so that the large language model will have more context in it's final response. \nWhen users request the password, make sure to send them the link above to reset it in markdown. \n```"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9570ee97-8508-4c7f-a2da-a327fbc7db46",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
460,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"width": 543.0233137166141,
|
||||
"height": 854.6009864319319,
|
||||
"content": "\n## Enhance Query Resolution with the Knowledge Base Tool!\n\nOur **Knowledge Base Tool** is crafted to seamlessly integrate into the IT Department Q&A Workflow, enhancing the IT support process by enabling sophisticated search and response capabilities via Slack.\n\n**Workflow Functionality:**\n- **Receive Queries**: Directly accepts user queries from the main workflow, initiating a dynamic search process.\n- **AI-Powered Query Transformation**: Utilizes OpenAI's GPT-4 to refine user queries into searchable keywords that are most likely to retrieve relevant information from the Knowledge Base.\n- **Confluence Integration**: Executes searches within Confluence using the refined keywords to find the most applicable articles and information.\n- **Deliver Accurate Responses**: Gathers essential details from the Confluence results, including article titles, links, and summaries, preparing them to be sent back to the parent workflow for final user response.\n\n\n**Quick Setup Guide:**\n- Ensure correct configurations are set for OpenAI and Confluence API integrations.\n- Customize query transformation logic as per your specific Knowledge Base structure to improve search accuracy.\n\n\n**Need Help?**\n- Dive into our [Documentation](https://docs.n8n.io) or get support from the [Community Forum](https://community.n8n.io)!\n\n\nDeploy this tool to provide precise and informative responses, significantly boosting the efficiency and reliability of your IT support workflow.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Query Confluence": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Return Tool Response",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Execute Workflow Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Query Confluence",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
458
workflows/Http/0588_HTTP_Schedule_Create_Webhook.json
Normal file
458
workflows/Http/0588_HTTP_Schedule_Create_Webhook.json
Normal file
@@ -0,0 +1,458 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "7858a8e25b8fc4dae485c1ef345e6fe74effb1f5060433ef500b4c186c965c18"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "4a82b490-3550-4700-8e9a-5ae1ef7c327f",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
-100,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"field": "seconds",
|
||||
"secondsInterval": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "bfe180f2-329c-4d00-9d93-3a87d694cb4e",
|
||||
"name": "Get Auth Token",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
720,
|
||||
1080
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://webhook.site/token",
|
||||
"method": "POST",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "26089f68-9d3c-4abd-8541-1d63a8a303c1",
|
||||
"name": "Unprocessed Requests",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"position": [
|
||||
1420,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"jsCode": "let filter_method = \"POST\"\nlet last_processed = $json.value ? $json.value : 0\nlet data = $json.data\n\nfunction dateToTime(datetime){\n return new Date(datetime.replace(\" \", \"T\") + \"Z\").getTime()\n}\n\n//Convert datetimes to timestamps\ndata.forEach(datum=>{datum.created_at = dateToTime(datum.created_at)})\n\n//Filter all new POST requests\nreturn data.filter(datum=>!last_processed || datum.created_at > last_processed).filter(datum=>!filter_method || datum.method==filter_method)"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "00a5c01c-0cc1-4a56-9b5b-b90cc778ee36",
|
||||
"name": "Get Latest Requests",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1060,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://webhook.site/token/{{ $json.value }}/requests",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "42fbb0c3-34c9-4d97-8761-1b9c84c2f8f7",
|
||||
"name": "POST to n8n",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
2000,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('Local Webhook Address').first().json.webhook }}",
|
||||
"body": "={{ $('Unprocessed Requests').item.json.content }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "raw",
|
||||
"rawContentType": "=application/json"
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "fd38a00e-2d7f-4621-8f18-47d1770ef3ac",
|
||||
"name": "Merge",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1220,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "combine",
|
||||
"options": {
|
||||
"includeUnpaired": true
|
||||
},
|
||||
"combineBy": "combineByPosition"
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "ef347c09-9870-42db-9109-934277290e0b",
|
||||
"name": "Local Webhook Address",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
160,
|
||||
700
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "3c53386d-23a8-4c8a-b5e9-dfbb755e2be1",
|
||||
"name": "webhook",
|
||||
"type": "string",
|
||||
"value": "http://localhost:5678/webhook/66210723-bd48-473c-8f8d-73d39d5012db"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "89baa16d-4a06-4f98-9735-9cc9fda5ff09",
|
||||
"name": "Latest Update Time",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"position": [
|
||||
1600,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"jsCode": "var datetimes = $('Unprocessed Requests').all().map(x=>x.json.created_at)\nreturn {last_time: Math.max(...datetimes)}"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "c826677d-317f-4ad4-959d-153862de4ff7",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
620,
|
||||
980
|
||||
],
|
||||
"parameters": {
|
||||
"width": 460.2964713549969,
|
||||
"height": 288.34663983291097,
|
||||
"content": "## 1. Retrieve existing or get new auth token for webhook.site"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f4bc9a8c-d9dc-4969-9251-ce892a5ed41e",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1080,
|
||||
517.8563272190441
|
||||
],
|
||||
"parameters": {
|
||||
"width": 483.2839292355176,
|
||||
"height": 384.1277143350834,
|
||||
"content": "## 2. Check if any new requests to webhook that came later than the last checked request"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "adaf19be-cb2f-4727-9881-1a3e4098c528",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1608.5062710597388,
|
||||
518.9281636095216
|
||||
],
|
||||
"parameters": {
|
||||
"width": 395.16534069351894,
|
||||
"height": 380.2964713549969,
|
||||
"content": "## 3. Relay the request to the local n8n workflow set in *Local Webhook Address*"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4e7add8c-1e95-4ebb-b7c8-35cee3cdeed5",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-760,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 566.9804381508956,
|
||||
"height": 859.1365566530386,
|
||||
"content": "# Public Webhook Relay\n## How it Works\nUtilizes webhook.site to receive public webhook requests and relays them to your local n8n workflow\n\n## How to Use\n- To use with local key-value store:\n Go to settings > community nodes and enter ```@horka.tv/n8n-nodes-storage-kv``` to install the key-value store node\n- To use with a different storage method:\n Replace the four key-value nodes with a temporary storage option of your choice (Airtable, Notion, Firebase, etc). This is required to save data between runs.\n- Set **Schedule Trigger** with a polling interval (default is every 10 seconds).\n- Set your local workflow address in Local Webhook Address.\n\n## How to Test\n- Set the workflow to *Active*.\n- After workflow executes at least once, you can check the input to **Get Latest Requests** for your auth token.\n- Run this command: ```curl -X POST -H \"Content-Type: application/json\" -d '{\"foo\":\"bar\"}' https://webhook.site/[THE AUTH TOKEN YOU JUST GOT]```\n- Now check **Executions** and confirm that the workflow ran all the way to the end. Confirm in **Unprocessed Requests** that your data was retrieved (data[0].content should be equal to {\"foo\":\"bar\"})\n- Now check your other local workflow and confirm that it was triggered with the correct data packet ```{\"foo\":\"bar\"}```.\n- *You're done!*\n\n## Caveats\nAt present, the relay expects a POST with form/json data. If you wish to relay raw data or GET requests, please alter the **Unprocessed Requests** and **POST to n8n** nodes accordingly."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "5d8db2a1-569e-47c0-99a1-d66cb8b86897",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
40,
|
||||
608.688533362355
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 304.23688498154337,
|
||||
"height": 264.4911255434983,
|
||||
"content": "### 0. Set this to your local workflow address (Production URL or Test URL in your Workflow Trigger node)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e728e8fe-1a7d-4f44-96b8-7344b70b0452",
|
||||
"name": "Store Auth Token",
|
||||
"type": "@horka.tv/n8n-nodes-storage-kv.keyValueStorage",
|
||||
"position": [
|
||||
880,
|
||||
1080
|
||||
],
|
||||
"parameters": {
|
||||
"key": "auth_token",
|
||||
"value": "={{ $json.uuid }}",
|
||||
"fileName": "savefile"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "1c19ff08-d6ed-4874-9c1a-69e92b25138a",
|
||||
"name": "Store Last Processed",
|
||||
"type": "@horka.tv/n8n-nodes-storage-kv.keyValueStorage",
|
||||
"position": [
|
||||
1800,
|
||||
680
|
||||
],
|
||||
"parameters": {
|
||||
"key": "last_processed",
|
||||
"value": "={{ $json.last_time }}",
|
||||
"fileName": "savefile"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ea927186-6147-42c7-8873-029616bdbe6d",
|
||||
"name": "Retrieve Auth Token",
|
||||
"type": "@horka.tv/n8n-nodes-storage-kv.keyValueStorage",
|
||||
"position": [
|
||||
380,
|
||||
860
|
||||
],
|
||||
"parameters": {
|
||||
"key": "auth_token",
|
||||
"fileName": "savefile",
|
||||
"operation": "read"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f217889c-7104-4183-8adb-4459f6cdc3d6",
|
||||
"name": "Retrieve Last Processed",
|
||||
"type": "@horka.tv/n8n-nodes-storage-kv.keyValueStorage",
|
||||
"position": [
|
||||
680,
|
||||
620
|
||||
],
|
||||
"parameters": {
|
||||
"key": "last_processed",
|
||||
"fileName": "savefile",
|
||||
"operation": "read"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "12293fc3-8964-40da-8326-85c36dade0df",
|
||||
"name": "If Auth Token Exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
580,
|
||||
860
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "4356f226-da36-418b-957d-880872ddc420",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "exists",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "={{ $json.value }}",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Merge": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Unprocessed Requests",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Auth Token": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Store Auth Token",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Local Webhook Address",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Retrieve Last Processed",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Store Auth Token": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Latest Requests",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Latest Update Time": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Store Last Processed",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Latest Requests": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Auth Token": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If Auth Token Exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"If Auth Token Exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Latest Requests",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Get Auth Token",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Store Last Processed": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "POST to n8n",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Unprocessed Requests": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Latest Update Time",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Local Webhook Address": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Auth Token",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Last Processed": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
683
workflows/Http/0594_HTTP_Telegram_Create_Webhook.json
Normal file
683
workflows/Http/0594_HTTP_Telegram_Create_Webhook.json
Normal file
File diff suppressed because one or more lines are too long
228
workflows/Http/0606_HTTP_Respondtowebhook_Create_Webhook.json
Normal file
228
workflows/Http/0606_HTTP_Respondtowebhook_Create_Webhook.json
Normal file
@@ -0,0 +1,228 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "04ab549d8bbb435ec33b81e4e29965c46cf6f0f9e7afe631018b5e34c8eead58"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "9fdbfdc1-67f3-4c8b-861c-9e5840b002ec",
|
||||
"name": "Session",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
780,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.fastmail.com/jmap/session",
|
||||
"options": {},
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "BWkbkxgDD4hkRCvs",
|
||||
"name": "Fastmail Masked E-Mail Addresses"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "215d96fa-6bda-4e8c-884a-eb9a8db0838f",
|
||||
"name": "create random masked email",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "https://api.fastmail.com/.well-known/jmap\n\nhttps://api.fastmail.com/jmap/session",
|
||||
"position": [
|
||||
1280,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.fastmail.com/jmap/api/",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"using\": [\n \"urn:ietf:params:jmap:core\",\n \"https://www.fastmail.com/dev/maskedemail\"\n ],\n \"methodCalls\": [\n [\n \"MaskedEmail/set\",\n {\n \"accountId\": \"{{ $('Session').item.json.primaryAccounts['https://www.fastmail.com/dev/maskedemail'] }}\",\n \"create\": {\n \"maskedEmailId1\": {\n \"description\": \"{{ $json.description }}\",\n \"state\": \"{{ $json.state }}\"\n }\n }\n },\n \"c1\"\n ]\n ]\n}\n",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "BWkbkxgDD4hkRCvs",
|
||||
"name": "Fastmail Masked E-Mail Addresses"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "237f6596-f8df-4c21-a2fa-44e935a72d56",
|
||||
"name": "Respond to Webhook",
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"position": [
|
||||
1800,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"respondWith": "text",
|
||||
"responseBody": "={{ $json }}"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "6699eb83-a41e-44bc-b332-77e407fb3542",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
460,
|
||||
480
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1654.8203324571532,
|
||||
"height": 471.75430470511367,
|
||||
"content": "### Template Description\nThis n8n workflow template allows you to create a masked email address using the Fastmail API, triggered by a webhook. This is especially useful for generating disposable email addresses for privacy-conscious users or for testing purposes.\n\n#### Workflow Details:\n1. **Webhook Trigger**: The workflow is initiated by sending a POST request to a specific webhook. You can include `state` and `description` in your request body to customize the masked email's state and description.\n2. **Session Retrieval**: The workflow makes an HTTP request to the Fastmail API to retrieve session information. It uses this data to authenticate further requests.\n3. **Create Masked Email**: Using the retrieved session data, the workflow sends a POST request to Fastmail's JMAP API to create a masked email. It uses the provided state and description from the webhook payload.\n4. **Prepare Output**: Once the masked email is successfully created, the workflow extracts the email address and attaches the description for further processing.\n5. **Respond to Webhook**: Finally, the workflow responds to the original POST request with the newly created masked email and its description.\n\n#### Requirements:\n- **Fastmail API Access**: You will need valid API credentials for Fastmail configured with HTTP Header Authentication.\n- **Authorization Setup**: Optionally set up authorization if your webhook is exposed to the internet to prevent misuse.\n- **Custom Webhook Request**: Use a tool like `curl` or create a shortcut on macOS/iOS to send the POST request to the webhook with the necessary JSON payload, like so:\n \n ```bash\n curl -X POST -H 'Content-Type: application/json' https://your-n8n-instance/webhook/87f9abd1-2c9b-4d1f-8c7f-2261f4698c3c -d '{\"state\": \"pending\", \"description\": \"my mega fancy masked email\"}'\n ```\n\nThis template simplifies the process of integrating masked email functionality into your projects or workflows and can be extended for various use cases."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "0c5d6d5a-ad0f-451e-9075-1009c8bf7212",
|
||||
"name": "get fields for creation",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1000,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "870bb03d-c672-49d6-9652-5a0233b16eb2",
|
||||
"name": "state",
|
||||
"type": "string",
|
||||
"value": "={{ $('Webhook').item.json.body.state ?? \"pending\" }}"
|
||||
},
|
||||
{
|
||||
"id": "ac9b45a0-885f-48b2-b0ec-e38c79080045",
|
||||
"name": "description",
|
||||
"type": "string",
|
||||
"value": "={{ $('Webhook').item.json.body.description ?? \"Test via N8n\" }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "be7ba978-00d7-4fb1-9e1b-e3f83285e6fb",
|
||||
"name": "prepare output",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1540,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "19a09822-7ae0-4884-9192-c6e5bc3393a8",
|
||||
"name": "email",
|
||||
"type": "string",
|
||||
"value": "={{ $json.methodResponses[0][1].created.maskedEmailId1.email }}"
|
||||
},
|
||||
{
|
||||
"id": "ae8a1fe4-3010-4db8-aa88-f6074cae3006",
|
||||
"name": "desciption",
|
||||
"type": "string",
|
||||
"value": "={{ $('get fields for creation').item.json.description }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "dd014889-81eb-4a94-886e-4fe084c504ff",
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
540,
|
||||
300
|
||||
],
|
||||
"webhookId": "87f9abd1-2c9b-4d1f-8c7f-2261f4698c3c",
|
||||
"parameters": {
|
||||
"path": "createMaskedEmail",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseMode": "responseNode"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Session": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "get fields for creation",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Session",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"prepare output": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"get fields for creation": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "create random masked email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"create random masked email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "prepare output",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
379
workflows/Http/0611_HTTP_Filter_Automation_Scheduled.json
Normal file
379
workflows/Http/0611_HTTP_Filter_Automation_Scheduled.json
Normal file
@@ -0,0 +1,379 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "38d37c49298b42c645e6a7693766d7c3522b24e54454034f955422b5d7af611c"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "b6582c37-00c3-467c-95cb-fc6eb7ccd27d",
|
||||
"name": "Filter",
|
||||
"type": "n8n-nodes-base.filter",
|
||||
"position": [
|
||||
1080,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{ $json.meta.total }}",
|
||||
"value2": 4,
|
||||
"operation": "largerEqual"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "54b0f895-7e56-40eb-bc6c-f657457d004a",
|
||||
"name": "List Snapshots for a Droplet",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
840,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.digitalocean.com/v2/droplets/{{ $json.droplets[0].id }}/snapshots ",
|
||||
"options": {},
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "1kwUrzy4cJXZx48R",
|
||||
"name": "Digital Ocean Account (darryn@optimus01.co.za)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"id": "7c47438f-db04-41f7-aed6-a460d0a6889b",
|
||||
"name": "List All Droplets",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "f3bc462f9219860aafe79747ee369e2f79ccd7f9b096dfe66b55d946871e8942",
|
||||
"position": [
|
||||
600,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.digitalocean.com/v2/droplets",
|
||||
"options": {},
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "1kwUrzy4cJXZx48R",
|
||||
"name": "Digital Ocean Account (darryn@optimus01.co.za)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e751f6a4-0fdc-4be5-84f0-fecba100da09",
|
||||
"name": "Delete a Snapshot",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "f3bc462f9219860aafe79747ee369e2f79ccd7f9b096dfe66b55d946871e8942",
|
||||
"position": [
|
||||
1320,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.digitalocean.com/v2/snapshots/{{ $json.snapshots[0].id }}",
|
||||
"options": {},
|
||||
"requestMethod": "DELETE",
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "1kwUrzy4cJXZx48R",
|
||||
"name": "Digital Ocean Account (darryn@optimus01.co.za)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d4cc4a72-f909-4c10-bada-e5c731e46c5e",
|
||||
"name": "Droplet Actions snapshot (n8n.optimus01.co.za)",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "f3bc462f9219860aafe79747ee369e2f79ccd7f9b096dfe66b55d946871e8942",
|
||||
"position": [
|
||||
1560,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.digitalocean.com/v2/droplets/{{ $('List All Droplets').item.json.droplets[0].id }}/actions ",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "type",
|
||||
"value": "snapshot"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "1kwUrzy4cJXZx48R",
|
||||
"name": "Digital Ocean Account (darryn@optimus01.co.za)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4f3be74a-add7-4a2c-99df-d5d47f17efee",
|
||||
"name": "Runs every 48hrs",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
360,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyX",
|
||||
"value": 48
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "518a7b8c-adf6-448e-9f4a-5acc0f31523d",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
300,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 232.0445295774649,
|
||||
"height": 411.1655661971828,
|
||||
"content": "## Trigger workflow every 48 hours\n\nThis node triggers the workflow to run every 48 hours. You can adjust the frequency if needed to suit your snapshot management requirements."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "70fe9177-e770-4f19-8fbc-3782167dda55",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
540,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 232.0445295774649,
|
||||
"height": 411.1655661971829,
|
||||
"content": "## Get all droplets from DigitalOcean\nFetches a list of all the droplets in your DigitalOcean account. This is the first step in managing snapshots for each droplet.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "04d74698-0198-45c8-8a79-183fd5f19820",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
780,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 232.0445295774649,
|
||||
"height": 412.3020619718309,
|
||||
"content": "## Retrieve snapshots for a droplet\nRetrieves all the snapshots associated with a specific droplet. This ensures that we know how many snapshots currently exist for each droplet.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4a971e9a-dfdf-4932-8280-3991a83c2a72",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1020,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 232.0445295774649,
|
||||
"height": 411.1655661971828,
|
||||
"content": "## Check if there are more than 4 snapshots\nChecks if the number of snapshots for a droplet is equal to or greater than 4. If true, it proceeds to delete the oldest snapshot.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "bb9a553a-a8fc-4b72-b0e0-704ebaf8b806",
|
||||
"name": "Sticky Note6",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1260,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 232.0445295774649,
|
||||
"height": 411.1655661971829,
|
||||
"content": "## Delete the oldest snapshot\nDeletes the oldest snapshot from the droplet if the number of snapshots exceeds the limit (4 in this case), based on the filter's condition.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "1811812f-db56-494a-8ffa-d64cc6f5037c",
|
||||
"name": "Sticky Note7",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1500,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 232.0445295774649,
|
||||
"height": 411.1655661971829,
|
||||
"content": "## Create a new snapshot\nCreates a new snapshot for the droplet after cleaning up the old snapshots. Ensures that backups are always up to date."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "cb2bd85e-578b-4888-9625-ffed7249082c",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-545,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 366.75796434038665,
|
||||
"height": 381.1643518785302,
|
||||
"content": "### What this workflow does\n1. **`Runs every 48 hours`**: The workflow is triggered by a cron node that runs every 48 hours, ensuring timely snapshot management.\n2. **`List all droplets`**: The workflow retrieves all droplets in the DigitalOcean account.\n3. **`Retrieve snapshots`**: For each droplet, the workflow retrieves a list of existing snapshots.\n4. **`Filter snapshots`**: If the number of snapshots exceeds 4, the workflow filters for snapshots that need to be deleted.\n5. **`Delete snapshots`**: Excess snapshots are automatically deleted based on the filter criteria.\n6. **`Create new snapshot`**: After cleaning up, the workflow creates a new snapshot for each droplet, ensuring that backups are always up-to-date."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "7fbb406b-9343-4d3c-9876-80cb3b7bd51e",
|
||||
"name": "Sticky Note11",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-165,
|
||||
240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 6,
|
||||
"width": 396.6384066163515,
|
||||
"height": 282.5799404564392,
|
||||
"content": "### Get More Templates Like This 👇\n[](http://onlinethinking.io/community)\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8afb93b2-e547-4f3b-be25-5ab85a3f477d",
|
||||
"name": "Sticky Note14",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-545,
|
||||
600
|
||||
],
|
||||
"parameters": {
|
||||
"width": 777.0408639013781,
|
||||
"height": 201.45195676871373,
|
||||
"content": "## Setup\n1. **`DigitalOcean API Key`**: You’ll need to configure the HTTP Request nodes with your DigitalOcean API key. This key is required for authenticating requests to list droplets, retrieve snapshots, delete snapshots, and create new ones.\n2. **`Snapshot Threshold`**: By default, the workflow is set to keep no more than 4 snapshots per droplet. This can be adjusted by modifying the filter node conditions.\n3. **`Set Execution Frequency`**: The cron node is set to run every 48 hours, but you can adjust the timing to suit your needs."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "325a4b9c-9bd4-4f29-8595-98f0579d15c1",
|
||||
"name": "Sticky Note9",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-560,
|
||||
60
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 809.515353297114,
|
||||
"height": 944.3745310796205,
|
||||
"content": "## Automate Droplet Snapshot Management on DigitalOcean\nBuilt for the [Let's Automate It Community](http://onlinethinking.io/community) by [Optimus Agency](https://optimus01.co.za/)\n\nThis workflow automates the management of DigitalOcean Droplet snapshots by keeping the number of snapshots under a defined limit, deleting the oldest ones, and ensuring new snapshots are created at regular intervals."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9540cfa4-4b72-40c2-b1d1-5bf3f9bd7884",
|
||||
"name": "Sticky Note15",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-545,
|
||||
820
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 777.0408639013781,
|
||||
"height": 168.5111194243667,
|
||||
"content": "## How to customize this workflow\n- **`Adjust Snapshot Limit`**: Change the value in the filter node if you want to keep more or fewer snapshots.\n- **`Modify Run Frequency`**: The workflow runs every 48 hours by default. You can change the frequency in the cron node to run more or less often.\n- **`Enhance with Notifications`**: You can add a notification node (e.g., Slack or email) to alert you when snapshots are deleted or created."
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Filter": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Delete a Snapshot",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Runs every 48hrs": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "List All Droplets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Delete a Snapshot": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Droplet Actions snapshot (n8n.optimus01.co.za)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"List All Droplets": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "List Snapshots for a Droplet",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"List Snapshots for a Droplet": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Filter",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
289
workflows/Http/0622_HTTP_Stickynote_Create_Webhook.json
Normal file
289
workflows/Http/0622_HTTP_Stickynote_Create_Webhook.json
Normal file
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "6b6a2db47bdf8371d21090c511052883cc9a3f6af5d0d9d567c702d74a18820e"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "6fb16611-0ee4-4c89-91ef-dc8a1e39406d",
|
||||
"name": "Upload Img to ImgBB for URL",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
120,
|
||||
6220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.imgbb.com/1/upload",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "multipart-form-data",
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "image",
|
||||
"parameterType": "formBinaryData",
|
||||
"inputDataFieldName": "data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"genericAuthType": "httpQueryAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-type",
|
||||
"value": "multipart/form-data"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "e94ebd4f-4459-4705-8fc5-f7ebbc996add",
|
||||
"name": "ReSmush.it Image Optimisation",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
320,
|
||||
6220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=http://api.resmush.it/ws.php?img={{ $json.data.url }}",
|
||||
"options": {}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "e337dcf1-27d3-4f75-850b-f2c5bff48ed6",
|
||||
"name": "Store Optimised Image ImgBB",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
540,
|
||||
6220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.imgbb.com/1/upload",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "image",
|
||||
"value": "={{ $json.dest }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"genericAuthType": "httpQueryAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-type",
|
||||
"value": "application/x-www-form-urlencoded"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "e51c199e-e435-4bbd-a977-dc96200729cc",
|
||||
"name": "Sticky Note50",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-343.4815115846739,
|
||||
6060
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 415.48118604428106,
|
||||
"height": 320.9196076003899,
|
||||
"content": "**Image Prompt**\n\nPrompt takes input of image description from the `set image description` node and generates using OpenAI"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "95a551f0-c164-4ac7-94e2-5aac4c5fc548",
|
||||
"name": "Sticky Note51",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
80,
|
||||
6060
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 619.0692735087202,
|
||||
"height": 320.9196076003899,
|
||||
"content": "**Upload image to ImgBB, Optimise using ReSmush.it and store as URL**\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "93737b01-cd2f-4f49-b611-f47782a9eed8",
|
||||
"name": "Sticky Note52",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-1160,
|
||||
6020
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 773.6179704580734,
|
||||
"height": 875.8289847608302,
|
||||
"content": "## Convert Image Files (JPG, PNG, JPEG) to URLs and Reduce File Size\n\n## Use Case\nTransform and optimize images for web use:\n- You need to host local images online\n- You want to reduce image file sizes automatically\n- You need image URLs for web content\n- You want to generate and optimize AI-created images\n\n## What this Workflow Does\nThe workflow processes images through two services:\n- Uploads images to ImgBB for hosting and URL generation (free but need API key)\n- Optimizes images using ReSmush.it to reduce file size (free)\n- Optional: Creates images using OpenAI's image generation\n- Returns optimized image URLs ready for use\n\n## Setup\n1. Create an [ImgBB account](https://api.imgbb.com/) and get your API key\n2. Add your ImgBB API key to the HTTP Request node (key parameter)\n3. Optional: Configure OpenAI credentials for image generation\n4. Connect your image input source\n\n## How to Adjust it to Your Needs\n- Skip OpenAI nodes if using your own image files\n- Adjust image optimization parameters\n- Customize image hosting settings\n- Modify output format for your needs\n\n\nMade by Simon @ [automake.io](https://automake.io)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8f4bfed3-820c-495d-9d5f-0dbdae7beb1a",
|
||||
"name": "Sticky Note53",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
80,
|
||||
6400
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 620.0617659833041,
|
||||
"height": 218.46830740679286,
|
||||
"content": "**REQUIRED**\n\n**ImgBB - image hosting i.e. gives you an img url**\n1. [Create an ImgBB account](https://api.imgbb.com/) (free) and generate an api key\n2. Input the API key as Query Auth - `name`=key, `value`=your-own-api-key\n\n\n**ReSmush.it - image optimisation i.e. shrinks the file size of the image**\n1. No account or auth needed\n2. Url will pass from previous node"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "085ef8b4-4762-4675-a1fd-6771f09628fb",
|
||||
"name": "Sticky Note54",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-340,
|
||||
6400
|
||||
],
|
||||
"parameters": {
|
||||
"color": 2,
|
||||
"width": 409.8920345317687,
|
||||
"height": 133.75846341937205,
|
||||
"content": "**OPTIONAL**\n`Set image description` to create an Image using OpenAI and your own prompt (requires: API credentials) or alternatively replace these nodes with your own image file"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "ee6c01dd-94fd-4ebf-baf6-03360e01ffc0",
|
||||
"name": "Set image description",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
-300,
|
||||
6220
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "9026b5d5-97ed-484e-a168-ac1c57a60fa1",
|
||||
"name": "description",
|
||||
"type": "string",
|
||||
"value": "=Balancing Autonomy and Human Interaction in AI Applications, featuring a person"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "7bb7374c-a11e-4ac8-8ef7-ba506fa8619d",
|
||||
"name": "Generate Image",
|
||||
"type": "@n8n/n8n-nodes-langchain.openAi",
|
||||
"position": [
|
||||
-100,
|
||||
6220
|
||||
],
|
||||
"parameters": {
|
||||
"prompt": "=Create a minimalist professional illustration of {{ $json.description }} with these specifications:\n\n1. Visual Style:\n- Modern tech-focused minimalist design\n- Clean, uncluttered composition\n- Professional business aesthetic\n- Soft shadows and subtle depth\n- 2-3 primary colors maximum plus white space\n\n2. Core Elements:\n- Main icon/symbol representing {{ $json.description }} as focal point\n- Simple supporting elements representing key sections\n- Subtle connecting elements showing relationship\n- Plenty of white space (40% minimum)\n- No text overlay\n\n3. Technical Requirements:\n- High contrast for clarity\n- Crisp edges and smooth lines\n- Professional lighting from upper left\n- Matte finish\n- Square aspect ratio (1:1)",
|
||||
"options": {},
|
||||
"resource": "image"
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "gaOzEcyxSfqBNYsI",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.4
|
||||
},
|
||||
{
|
||||
"id": "87f80a8d-932a-46bc-b003-877883ba73c8",
|
||||
"name": "No Operation, do nothing",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
760,
|
||||
6220
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Generate Image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Upload Img to ImgBB for URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set image description": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Generate Image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Store Optimised Image ImgBB": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "No Operation, do nothing",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Upload Img to ImgBB for URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ReSmush.it Image Optimisation",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ReSmush.it Image Optimisation": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Store Optimised Image ImgBB",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
175
workflows/Http/0624_HTTP_Schedule_Send_Scheduled.json
Normal file
175
workflows/Http/0624_HTTP_Schedule_Send_Scheduled.json
Normal file
@@ -0,0 +1,175 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "e4929773-39f9-4b8a-b462-235c37514479",
|
||||
"name": "Get Elastic Alert",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
620,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://your-prism-elastic-api-endpoint.com/alerts",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "973a8254-5ec0-4ea0-95b5-7e6a0f0625ab",
|
||||
"name": "Send Email Notification",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1440,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://graph.microsoft.com/v1.0/me/sendMail",
|
||||
"options": {
|
||||
"bodyContentType": "json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "oAuth2",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n \"message\": {\n \"subject\": \"PRISM Elastic Alert: {{$json[\"alert_name\"]}}\",\n \"body\": {\n \"contentType\": \"HTML\",\n \"content\": \"Hello,<br><br>An alert has been triggered:<br><strong>Alert Name:</strong> {{$json[\"alert_name\"]}}<br><strong>Severity:</strong> {{$json[\"severity\"]}}<br><strong>Timestamp:</strong> {{$json[\"timestamp\"]}}<br><br>Details:<br>{{$json[\"alert_message\"]}}<br><br>Regards,<br>PRISM Alert System\"\n },\n \"toRecipients\": [\n {\n \"emailAddress\": {\n \"address\": \"user@example.com\"\n }\n }\n ]\n },\n \"saveToSentItems\": \"true\"\n}"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "f7f4feee-6854-4997-ae15-870cab4abdbb",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
380,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "b8578c55-a052-43f2-9d6a-24d8084dae8a",
|
||||
"name": "Response is not empty",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
840,
|
||||
440
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "664216e6-c212-4f4b-8b09-60675c4fcd91",
|
||||
"name": "No Operation, do nothing",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1100,
|
||||
680
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "bcead903-56ed-4ae8-bff9-cec274b2fe71",
|
||||
"name": "Loop Over Each Alert Items",
|
||||
"type": "n8n-nodes-base.splitInBatches",
|
||||
"position": [
|
||||
1100,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "a5e55903-a245-4d70-88e7-14c1f18cde25",
|
||||
"name": "No Operation, end of loop",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1440,
|
||||
0
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get PRISM Elastic Alert",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Response is not empty": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Each Alert Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "No Operation, do nothing",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get PRISM Elastic Alert": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Response is not empty",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Send Email Notification": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Each Alert Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Loop Over Each Alert Items": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "No Operation, end of loop",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Send Email Notification",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
161
workflows/Http/0626_HTTP_Schedule_Create_Scheduled.json
Normal file
161
workflows/Http/0626_HTTP_Schedule_Create_Scheduled.json
Normal file
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "2654751b-aa66-40ce-b8a0-79063aa710ad",
|
||||
"name": "Generate OAuth Token",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
820,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://accounts.accesscontrol.windows.net/{{ $json.tenant_id }}/tokens/oAuth/2",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "grant_type",
|
||||
"value": "client_credentials"
|
||||
},
|
||||
{
|
||||
"name": "client_id",
|
||||
"value": "{{client_id}}"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"value": "{{client_secret}}"
|
||||
},
|
||||
{
|
||||
"name": "resource",
|
||||
"value": "https://{your-sharepoint-domain}.sharepoint.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "6f713c65-8fbd-4d05-bbef-9b4a1f6248e9",
|
||||
"name": "Fetch SharePoint List",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1160,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://{your-sharepoint-domain}.sharepoint.com/_api/web/lists/getbytitle('YourListTitle')/items",
|
||||
"options": {},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"value": "application/json;odata=nometadata"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json;odata=verbose"
|
||||
},
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "Bearer {{Token}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "d11e9e92-2468-485c-87f5-6de7da7f9589",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
380,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "8539f52c-2218-4a47-9678-3e3e8e9fd4c8",
|
||||
"name": "setTenant",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
600,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "399d42f3-41e0-4043-9a57-85771bf5cd07",
|
||||
"name": "tenant_id",
|
||||
"type": "string",
|
||||
"value": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "5a4fa41c-0726-4528-99a3-b5e0c47c1960",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
580,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 458,
|
||||
"height": 404,
|
||||
"content": "## Never expose or hard code below values \n**tenant_id,client_id,client_secret** \n\nAlways save these either in secure vault like hashicorp or GCP Secret Manager."
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"setTenant": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Generate OAuth Token",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "setTenant",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Generate OAuth Token": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch SharePoint List",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
533
workflows/Http/0636_HTTP_Stickynote_Create_Webhook.json
Normal file
533
workflows/Http/0636_HTTP_Stickynote_Create_Webhook.json
Normal file
File diff suppressed because one or more lines are too long
248
workflows/Http/0637_HTTP_Schedule_Automation_Webhook.json
Normal file
248
workflows/Http/0637_HTTP_Schedule_Automation_Webhook.json
Normal file
@@ -0,0 +1,248 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "4bf26356-9c59-4cee-8eb8-8553b23a172f",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
560,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 660,
|
||||
"height": 460,
|
||||
"content": "\n# Daily Cartoon (w/ AI Translate)\n\n### How it works\n- Automates the retrieval of Calvin and Hobbes daily comics.\n- Extracts the comic image URL from the website.\n- Translates comic dialogues to English and Korean(Other Language)\n- Posts the comic and translations to Discord daily.\n\n### Set up steps\n- Estimated setup time: ~10-15 minutes.\n- Use a **Schedule Trigger** to automate the workflow at 9 AM daily.\n- Add nodes for parameter setup, HTTP request, data extraction, and integration with Discord.\n- Add detailed notes to each node in the workflow for easy understanding."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "52d19472-41b4-4d71-874e-064ef9d6f248",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
620,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"triggerAtHour": 9
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "bcc15f37-c048-4d9a-83cd-367856470095",
|
||||
"name": "OpenAI",
|
||||
"type": "@n8n/n8n-nodes-langchain.openAi",
|
||||
"position": [
|
||||
1620,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"text": "Please write the original language and Korean together. \n\nEXAMPLE)\nCalvin: \"YOU'VE NEVER HAD AN OBLIGATION, AN ASSIGNMENT, OR A DEADLINE IN ALL YOUR LIFE! YOU HAVE NO RESPONSIBILITIES AT ALL! IT MUST BE NICE!\" (너는 평생 한 번도 의무, 과제, 혹은 마감일 없었잖아! 전혀 책임이 없다니! 정말 좋겠다!)\nHobbes: \"WIPE THAT INSOLENT SMIRK OFF YOUR FACE!\" (그 뻔뻔한 미소를 그만 지어!)\n",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4o-mini",
|
||||
"cachedResultName": "GPT-4O-MINI"
|
||||
},
|
||||
"options": {},
|
||||
"resource": "image",
|
||||
"imageUrls": "={{ $json.output.cartoon_image }}",
|
||||
"operation": "analyze"
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "kYIZ8ZwQHS2d4GiD",
|
||||
"name": "(datapopcorn )OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.6
|
||||
},
|
||||
{
|
||||
"id": "35004d43-4061-476a-9af6-7d0b82ae86bd",
|
||||
"name": "param",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
840,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "59d36aef-2991-4fd2-9fbe-dad9a701b40f",
|
||||
"name": "year",
|
||||
"type": "string",
|
||||
"value": "={{ $now.format('yyyy') }}"
|
||||
},
|
||||
{
|
||||
"id": "b6b329f2-ba08-4516-bdb9-c5d124c02110",
|
||||
"name": "month",
|
||||
"type": "string",
|
||||
"value": "={{ $now.format('MM') }}"
|
||||
},
|
||||
{
|
||||
"id": "3cba75d1-a281-4e14-9bf7-e0bc0cc7c768",
|
||||
"name": "day",
|
||||
"type": "string",
|
||||
"value": "={{ $now.format('dd') }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "cf2c953f-1ff2-4abc-8abd-95e05603e64a",
|
||||
"name": "Discord",
|
||||
"type": "n8n-nodes-base.discord",
|
||||
"position": [
|
||||
1840,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"content": "=Daily Cartoon ({{ $('param').item.json.year }}/{{ $('param').item.json.month }}/{{ $('param').item.json.day }})\n{{ $('Information Extractor').item.json.output.cartoon_image }}\n\n{{ $json.content }}\n",
|
||||
"options": {},
|
||||
"authentication": "webhook"
|
||||
},
|
||||
"credentials": {
|
||||
"discordWebhookApi": {
|
||||
"id": "w82RWS7nmXLKDczt",
|
||||
"name": "n8n test webhook"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "5eec9870-a509-4090-a540-76b22bb3eac9",
|
||||
"name": "OpenAI Chat Model",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
1260,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"model": "gpt-4o-mini-2024-07-18",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "kYIZ8ZwQHS2d4GiD",
|
||||
"name": "(datapopcorn )OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "352db81e-7571-47cb-b028-dec18e15ccce",
|
||||
"name": "Information Extractor",
|
||||
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
|
||||
"position": [
|
||||
1260,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=Please just extract the src value in the <img class=\"img-fluid Lazyloaded\"> tag from HTML below. I don't need anything other than the value.\n\ne.g.)\nEXAMPLE INPUT)\n<img class=\"img-fluid lazyloaded\" srcset=\"https://assets.amuniversal.com/5ed526b06e94013bda88005056a9545d 900w\" data-srcset=\"https://assets.amuniversal.com/5ed526b06e94013bda88005056a9545d 900w\" sizes=\"\n (min-width: 992px) 900px,\n (min-width: 768px) 600px,\n (min-width: 576px) 300px,\n 900px\" width=\"100%\" alt=\"Calvin and Hobbes Comic Strip for March 03, 2023 \" src=\"https://assets.amuniversal.com/5ed526b06e94013bda88005056a9545d\">\n\n\nEXAMPLE OUTPUT)\nhttps://assets.amuniversal.com/5ed526b06e94013bda88005056a9545d\n\n--\n(INPUT)\n{{ $json.data }}",
|
||||
"options": {},
|
||||
"attributes": {
|
||||
"attributes": [
|
||||
{
|
||||
"name": "cartoon_image",
|
||||
"description": "EXAMPLE OUTPUT) https://assets.amuniversal.com/***"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "517799ed-559c-4d17-b8aa-58bd4ee92ed3",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1040,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://www.gocomics.com/calvinandhobbes/{{ $json.year }}/{{ $json.month }}/{{ $json.day }}",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"param": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Discord",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Information Extractor",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "param",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI Chat Model": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "Information Extractor",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Information Extractor": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "OpenAI",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
273
workflows/Http/0641_HTTP_Rssfeedread_Create_Webhook.json
Normal file
273
workflows/Http/0641_HTTP_Rssfeedread_Create_Webhook.json
Normal file
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "25a28584-ae1b-4d14-9261-80be8f3c6727",
|
||||
"name": "Create Post",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
520,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://bsky.social/xrpc/com.atproto.repo.createRecord",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"neverError": true,
|
||||
"responseFormat": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonBody": "={\n \"repo\": \"{{ $node['Create Session'].json['did'] }}\",\n \"collection\": \"app.bsky.feed.post\",\n \"record\": {\n \"text\": {{ JSON.stringify($node['RSS Feed Trigger'].json['content:encodedSnippet']) }},\n \"$type\": \"app.bsky.feed.post\",\n \"embed\": {\n \"$type\": \"app.bsky.embed.external\",\n \"external\": {\n \"uri\": \"{{ $node['RSS Feed Trigger'].json['link'] }}\",\n \"title\": \"{{ $node['RSS Feed Trigger'].json['lintitlek'] }}\",\n \"description\": \"{{ $node['RSS Feed Trigger'].json['contentSnippet'] }}\",\n \"thumb\": {\n \"$type\": \"{{ $json.blob.$type }}\",\n \"ref\": {\n \"$link\": \"{{ $json['blob']['ref']['$link'] }}\"\n },\n \"mimeType\": \"{{ $json.blob.mimeType }}\",\n \"size\": {{ $json.blob.size }}\n }\n }\n },\n \"createdAt\": \"{{ $node['Get current datetime'].json['currentDate'] }}\",\n \"langs\": [ \"es-ES\" ]\n }\n}\n",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "=Bearer {{ $item(\"0\").$node[\"Create Session\"].json[\"accessJwt\"] }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "b9d02b7f-f73d-4b53-a1ef-c693a0847bb2",
|
||||
"name": "Upload image",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
320,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://bsky.social/xrpc/com.atproto.repo.uploadBlob",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "binaryData",
|
||||
"sendHeaders": true,
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "=Bearer {{ $item(\"0\").$node[\"Create Session\"].json[\"accessJwt\"] }}"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "={{ $json.enclosure.type }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inputDataFieldName": "data"
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "3593c517-03af-483f-b0d3-c538840a55d9",
|
||||
"name": "Download image",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
120,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $('RSS Feed Trigger').item.json.enclosure.url }}",
|
||||
"options": {
|
||||
"response": {
|
||||
"response": {
|
||||
"responseFormat": "file"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"id": "71edf797-6aac-44dd-b988-a8b7e5667bac",
|
||||
"name": "Create Session",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-320,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://bsky.social/xrpc/com.atproto.server.createSession",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "identifier",
|
||||
"value": "<your username here>"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"value": "<your app password here>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.1
|
||||
},
|
||||
{
|
||||
"id": "c28b280f-c169-4f03-9f93-20655cc0c095",
|
||||
"name": "RSS Feed Trigger",
|
||||
"type": "n8n-nodes-base.rssFeedReadTrigger",
|
||||
"position": [
|
||||
-580,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"feedUrl": "<your feed URL here>",
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "1217c82c-694a-48dd-82d3-2ca5c24891c7",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-380,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 220,
|
||||
"height": 300,
|
||||
"content": "### Configure your credentials\nCreate [an app password](https://bsky.app/settings/app-passwords) first"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "5e08fd12-8ba0-4c58-b813-0ffefb5be37c",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
460,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 210,
|
||||
"height": 300,
|
||||
"content": "### Customize the text \nYou can customize the message text here"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "3c472b8f-928a-44bc-b75d-56c7b263f490",
|
||||
"name": "Get current datetime",
|
||||
"type": "n8n-nodes-base.dateTime",
|
||||
"position": [
|
||||
-100,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "5d9905af-1194-41ff-acfd-773611092bee",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
60,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 220,
|
||||
"height": 300,
|
||||
"content": "### Image preview \nBy default retrieved from the feed, but you can configure a custom one here from an URL"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "faeaf1bd-560e-4606-8a67-48ae8a18f17a",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-140,
|
||||
-400
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 420,
|
||||
"height": 180,
|
||||
"content": "## Post new RSS feed items as BlueSky posts\nThis will create a BlueSky post with each new RSS feed item, including the feed title, post image, link and content (up to 200 characters)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Upload image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Post",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create Session": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get current datetime",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Download image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Upload image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"RSS Feed Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create Session",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get current datetime": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Download image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
273
workflows/Http/0642_HTTP_Extractfromfile_Process_Webhook.json
Normal file
273
workflows/Http/0642_HTTP_Extractfromfile_Process_Webhook.json
Normal file
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "6a2a7715680b8313f7cb4676321c5baa46680adfb913072f089f2766f42e43bd"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "0f3b39af-2802-462c-ac54-a7bccf5b78c5",
|
||||
"name": "Extract Document PDF",
|
||||
"type": "n8n-nodes-base.extractFromFile",
|
||||
"position": [
|
||||
520,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"operation": "pdf"
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"id": "6f76e3a6-a3be-4f9f-a0db-3f002eafc2ad",
|
||||
"name": "Download File",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
340,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{ $json.file_url }}",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "2c4e0b0f-28c7-48f5-b051-6e909ac878d2",
|
||||
"name": "When clicking ‘Test workflow’",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
-20,
|
||||
400
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a70d972b-ceb4-4f4d-8737-f0be624d6234",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
120,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"width": 187.37066290133808,
|
||||
"height": 80,
|
||||
"content": "**Add direct link to CV and Job description**"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9fdff1be-14cf-4167-af2d-7c5e60943831",
|
||||
"name": "Sticky Note5",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-800,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 280.2462120317618,
|
||||
"height": 438.5821431288714,
|
||||
"content": "### Setup\n\n1. **Download File**: Fetch the CV using its direct URL.\n2. **Extract Data**: Use N8N’s PDF or text extraction nodes to retrieve text from the CV.\n3. **Send to OpenAI**:\n - **URL**: POST to OpenAI’s API for analysis.\n - **Parameters**:\n - Include the extracted CV data and job description.\n - Use JSON Schema to structure the response.\n4. **Save Results**:\n - Store the extracted data and OpenAI's analysis in Supabase for further use."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b1ce4a61-270f-480b-a716-6618e6034581",
|
||||
"name": "Sticky Note6",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-800,
|
||||
-500
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 636.2128494576581,
|
||||
"height": 598.6675280064023,
|
||||
"content": ".png)\n## CV Screening with OpenAI\n**Made by [Mark Shcherbakov](https://www.linkedin.com/in/marklowcoding/) from community [5minAI](https://www.skool.com/5minai-2861)**\n\nThis workflow is ideal for recruitment agencies, HR professionals, and hiring managers looking to automate the initial screening of CVs. It is especially useful for organizations handling large volumes of applications and seeking to streamline their recruitment process.\n\nThis workflow automates the resume screening process using OpenAI for analysis and Supabase for structured data storage. It provides a matching score, a summary of candidate suitability, and key insights into why the candidate fits (or doesn’t fit) the job. \n\n1. **Retrieve Resume**: The workflow downloads CVs from a direct link (e.g., Supabase storage or Dropbox).\n2. **Extract Data**: Extracts text data from PDF or DOC files for analysis.\n3. **Analyze with OpenAI**: Sends the extracted data and job description to OpenAI to:\n - Generate a matching score.\n - Summarize candidate strengths and weaknesses.\n - Provide actionable insights into their suitability for the job.\n4. **Store Results in Supabase**: Saves the analysis and raw data in a structured format for further processing or integration into other tools.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "747591cd-76b1-417e-ab9d-0a3935d3db03",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-500,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 330.5152611046425,
|
||||
"height": 240.6839895136402,
|
||||
"content": "### ... or watch set up video [8 min]\n[](https://youtu.be/TWuI3dOcn0E)\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "051d8cb0-2557-4e35-9045-c769ec5a34f9",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
660,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"width": 187.37066290133808,
|
||||
"height": 80,
|
||||
"content": "**Replace OpenAI connection**"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "865f4f69-e13d-49c1-8bb4-9f98facbf75c",
|
||||
"name": "OpenAI - Analyze CV",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
700,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.openai.com/v1/chat/completions",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"gpt-4o-mini\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"{{ $('Set Variables').item.json.prompt }}\"\n },\n {\n \"role\": \"user\",\n \"content\": {{ JSON.stringify(encodeURIComponent($json.text))}}\n }\n ],\n \"response_format\":{ \"type\": \"json_schema\", \"json_schema\": {{ $('Set Variables').item.json.json_schema }}\n\n }\n }",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "openAiApi"
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "SphXAX7rlwRLkiox",
|
||||
"name": "Test club key"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "68b7fc08-506d-4816-9a8f-db7ab89e4589",
|
||||
"name": "Set Variables",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
160,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "83274f6f-c73e-4d5e-946f-c6dfdf7ed1c4",
|
||||
"name": "file_url",
|
||||
"type": "string",
|
||||
"value": "https://cflobdhpqwnoisuctsoc.supabase.co/storage/v1/object/public/my_storage/software_engineer_resume_example.pdf"
|
||||
},
|
||||
{
|
||||
"id": "6e44f3e5-a0df-4337-9f7e-7cfa91b3cc37",
|
||||
"name": "job_description",
|
||||
"type": "string",
|
||||
"value": "Melange is a venture-backed startup building a brand new search infrastructure for the patent system. Leveraging recent and ongoing advancements in machine learning and natural language processing, we are building systems to conduct patent search faster and more accurately than any human currently can. We are a small team with a friendly, mostly-remote culture\\n\\nAbout the team\\nMelange is currently made up of 9 people. We are remote but headquartered in Brooklyn, NY. We look for people who are curious and earnest.\\n\\nAbout the role\\nJoin the team at Melange, a startup with a focus on revolutionizing patent search through advanced technology. As a software engineer in this role, you will be responsible for developing conversation graphs, integrating grammar processes, and maintaining a robust codebase. The ideal candidate will have experience shipping products, working with cloud platforms, and have familiarity with containerization tools. Additionally, experience with prompting tools, NLP packages, and cybersecurity is a plus.\\n\\nCandidate location - the US. Strong preference if they're in NYC, Boston or SF but open to anywhere else but needs to be rockstar\\n\\nYou will \\n\\n* Ship high-quality products.\\n* Utilize prompting libraries such as Langchain and Langgraph to develop conversation graphs and evaluation flows.\\n* Collaborate with linguists to integrate our in-house grammar and entity mapping processes into an iterable patent search algorithm piloted by AI patent agents.\\n* Steward the codebase, ensuring that it remains robust as it scales.\\n\\n\\nCandidate requirements\\nMinimum requirements a candidate must meet\\nHad ownership over aspects of product development in both small and large organizations at differing points in your career.\\n\\nHave used Langchain, LangGraph, or other prompting tools in production or for personal projects.\\n\\nFamiliarity with NLP packages such as Spacy, Stanza, PyTorch, and/or Tensorflow.\\n\\nShipped a working product to users, either as part of a team or on your own. \\nThis means you have: \\nproficiency with one of AWS, Azure, or Google Cloud, \\nfamiliarity with containerization and orchestration tools like Docker and Kubernetes, and \\nbuilt and maintained CI/CD pipelines.\\n5+ years of experience as a software engineer\\n\\nNice-to-haves\\nWhat could make your candidate stand out\\nExperience with cybersecurity.\\n\\nIdeal companies\\nSuccessful b2b growth stage startups that have a strong emphasis on product and design. Orgs with competent management where talent is dense and protected.\\n\\nRamp, Rippling, Brex, Carta, Toast, Asana, Airtable, Benchling, Figma, Gusto, Stripe, Plaid, Monday.com, Smartsheet, Bill.com, Freshworks, Intercom, Sprout Social, Sisense, InsightSquared, DocuSign, Dropbox, Slack, Trello, Qualtrics, Datadog, HubSpot, Shopify, Zendesk, SurveyMonkey, Squarespace, Mixpanel, Github, Atlassian, Zapier, PagerDuty, Box, Snowflake, Greenhouse, Lever, Pendo, Lucidchart, Asana, New Relic, Kajabi, Veeva Systems, Adyen, Twilio, Workday, ServiceNow, Confluent.\\n"
|
||||
},
|
||||
{
|
||||
"id": "c597c502-9a3c-48e6-a5f5-8a2a8be7282c",
|
||||
"name": "prompt",
|
||||
"type": "string",
|
||||
"value": "You are the recruiter in recruiting agency, you are strict and you pay extra attention on details in a resume. You work with companies and find talents for their jobs. You asses any resume really attentively and critically. If the candidate is a jumper, you notice that and say us. You need to say if the candidate from out base is suitable for this job. Return 4 things: 1. Percentage (10% step) of matching candidate resume with job. 2. Short summary - should use simple language and be short. Provide final decision on candidate based on matching percentage and candidate skills vs job requirements. 3. Summary why this candidate suits this jobs. 4. Summary why this candidate doesn't suit this jobs."
|
||||
},
|
||||
{
|
||||
"id": "1884eed1-9111-4ce1-8d07-ed176611f2d8",
|
||||
"name": "json_schema",
|
||||
"type": "string",
|
||||
"value": "{ \"name\": \"candidate_evaluation\", \"description\": \"Structured data for evaluating a candidate based on experience and fit\", \"strict\": true, \"schema\": { \"type\": \"object\", \"properties\": { \"percentage\": { \"type\": \"integer\", \"description\": \"Overall suitability percentage score for the candidate\" }, \"summary\": { \"type\": \"string\", \"description\": \"A brief summary of the candidate's experience, personality, and any notable strengths or concerns\" }, \"reasons-suit\": { \"type\": \"array\", \"items\": { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\", \"description\": \"Title of the strength or reason for suitability\" }, \"text\": { \"type\": \"string\", \"description\": \"Description of how this experience or skill matches the job requirements\" } }, \"required\": [\"name\", \"text\"], \"additionalProperties\": false }, \"description\": \"List of reasons why the candidate is suitable for the position\" }, \"reasons-notsuit\": { \"type\": \"array\", \"items\": { \"type\": \"object\", \"properties\": { \"name\": { \"type\": \"string\", \"description\": \"Title of the concern or reason for unsuitability\" }, \"text\": { \"type\": \"string\", \"description\": \"Description of how this factor may not align with the job requirements\" } }, \"required\": [\"name\", \"text\"], \"additionalProperties\": false }, \"description\": \"List of reasons why the candidate may not be suitable for the position\" } }, \"required\": [\"percentage\", \"summary\", \"reasons-suit\", \"reasons-notsuit\"], \"additionalProperties\": false } }"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "22dedac7-c44b-430f-b9c7-57d0c55328fa",
|
||||
"name": "Parsed JSON",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
880,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "83274f6f-c73e-4d5e-946f-c6dfdf7ed1c4",
|
||||
"name": "json_parsed",
|
||||
"type": "object",
|
||||
"value": "={{ JSON.parse($json.choices[0].message.content) }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Download File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Extract Document PDF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Variables": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Download File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI - Analyze CV": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Parsed JSON",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Extract Document PDF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "OpenAI - Analyze CV",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When clicking ‘Test workflow’": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Variables",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
213
workflows/Http/0687_HTTP_Form_Automation_Webhook.json
Normal file
213
workflows/Http/0687_HTTP_Form_Automation_Webhook.json
Normal file
@@ -0,0 +1,213 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "6d908a58-8893-48da-8311-8c28ebd8ec62",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-520,
|
||||
-280
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 1160,
|
||||
"height": 120,
|
||||
"content": "**Summarize YouTube videos**\n\nThis project automates the summarization of YouTube videos, transforming lengthy content into concise, actionable insights. By leveraging AI and workflow automation, it extracts video transcripts, analyzes key points, and generates summaries, saving time for content creators, researchers, and professionals. Perfect for staying informed, conducting research, or repurposing video content efficiently."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "98de613a-1b1e-4b46-915f-7bebcfd6a931",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-540,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 230,
|
||||
"height": 80,
|
||||
"content": "Add the full YouTube URL. ☝️\nYou can change this input to a webhook or anything else."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "064208d4-52c3-46a9-9f9f-d37258189d06",
|
||||
"name": "Request YouTube Transcript",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-200,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "Apify API_KEY Here ???",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"startUrls\": [\n \"{{ $json['Full URL'] }}\"\n ]\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json"
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "ba5e52fd-18b1-4232-961c-b53b01e21202",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-280,
|
||||
-140
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 280,
|
||||
"height": 340,
|
||||
"content": "Once you follow the Setup Instructions (mentioned in the template page description), you can insert the full URL endpoint, which includes both the POST Endpoint and API Key. 👇"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f3caad55-0c7d-4e8e-8649-79cc25b4e6aa",
|
||||
"name": "No Operation, do nothing",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
380,
|
||||
-20
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "8d72e533-a053-4317-9437-9d80d3ed098f",
|
||||
"name": "Summarization of a YouTube script",
|
||||
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
|
||||
"position": [
|
||||
40,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "8f4e1c7c-286b-48aa-8f50-404e8f1d430b",
|
||||
"name": "YouTube video URL",
|
||||
"type": "n8n-nodes-base.formTrigger",
|
||||
"position": [
|
||||
-420,
|
||||
-20
|
||||
],
|
||||
"webhookId": "3dc17600-3020-40b1-be8f-e65ef45269b6",
|
||||
"parameters": {
|
||||
"options": {
|
||||
"path": "ddd"
|
||||
},
|
||||
"formTitle": "Summarize YouTube video's",
|
||||
"formFields": {
|
||||
"values": [
|
||||
{
|
||||
"fieldLabel": "Full URL"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "fb861e09-d415-4f32-a4de-a6ff84ac7f7b",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
380,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"height": 100,
|
||||
"content": "☝️ Optional\nIf the workflow ends here, Consider checking with another enrichment service."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "17c0dc77-bee4-4271-b957-e0c793537a03",
|
||||
"name": "Summarization Engine",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
40,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "g0eql8rqZWICDd5g",
|
||||
"name": "OpenAi"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "a8d5362e-459e-4a76-8ee2-b1eb977215a2",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
40,
|
||||
-140
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 280,
|
||||
"content": "The summarization node works automatically and professionally, recognizing the input text and processing it directly without requiring any enhancements from your side👇"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"YouTube video URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Request YouTube Transcript",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Summarization Engine": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "Summarization of a YouTube script",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Request YouTube Transcript": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Summarization of a YouTube script",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Summarization of a YouTube script": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "No Operation, do nothing",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
169
workflows/Http/0688_HTTP_Webhook_Process_Webhook.json
Normal file
169
workflows/Http/0688_HTTP_Webhook_Process_Webhook.json
Normal file
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "c59c4acfed171bdc864e7c432be610946898c3ee271693e0303565c953d88c1d",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Transform Image to Lego Style Using Line and Dall-E",
|
||||
"tags": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "82b62d4e-a263-4232-9bae-4c581db2269c",
|
||||
"name": "Receive a Line Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"webhookId": "2a27c148-3977-485f-b197-567c96671023",
|
||||
"parameters": {
|
||||
"path": "lineimage",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "f861c4eb-3d4f-4253-810f-8032602f079b",
|
||||
"name": "Receive Line Messages",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
220,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api-data.line.me/v2/bot/message/{{ $json.body.events[0].message.id }}/content",
|
||||
"options": {},
|
||||
"jsonHeaders": "={\n\"Authorization\": \"Bearer YOUR_LINE_BOT_TOKEN\",\n\"Content-Type\": \"application/json\"\n}",
|
||||
"sendHeaders": true,
|
||||
"specifyHeaders": "json"
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "da3a9188-028d-4c75-b23f-5f1f4e50784c",
|
||||
"name": "Creating an Image using Dall-E",
|
||||
"type": "@n8n/n8n-nodes-langchain.openAi",
|
||||
"position": [
|
||||
860,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"prompt": "={{ $json.content }}",
|
||||
"options": {
|
||||
"returnImageUrls": true
|
||||
},
|
||||
"resource": "image"
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "YOUR_OPENAI_CREDENTIAL_ID",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.7
|
||||
},
|
||||
{
|
||||
"id": "36c826e5-eacd-43ad-b663-4d788005e61a",
|
||||
"name": "Creating a Prompt for Dall-E (Lego Style)",
|
||||
"type": "@n8n/n8n-nodes-langchain.openAi",
|
||||
"position": [
|
||||
540,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"text": "Creating the DALL·E 3 prompt to transform this kind of image into a isometric LEGO image (Only provide me with a prompt).",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4o-mini",
|
||||
"cachedResultName": "GPT-4O-MINI"
|
||||
},
|
||||
"options": {},
|
||||
"resource": "image",
|
||||
"inputType": "base64",
|
||||
"operation": "analyze",
|
||||
"binaryPropertyName": "=data"
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "YOUR_OPENAI_CREDENTIAL_ID",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.7
|
||||
},
|
||||
{
|
||||
"id": "3c19f931-9ca0-4bd7-b4eb-1628d89bbba1",
|
||||
"name": "Send Back an Image through Line",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1160,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.line.me/v2/bot/message/reply",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"replyToken\": \"{{ $('Receive a Line Webhook').item.json.body.events[0].replyToken }}\",\n \"messages\": [\n {\n \"type\": \"image\",\n \"originalContentUrl\": \"{{ $json.url }}\",\n \"previewImageUrl\": \"{{ $json.url }}\"\n }\n ]\n}",
|
||||
"sendBody": true,
|
||||
"jsonHeaders": "{\n\"Authorization\": \"Bearer YOUR_LINE_BOT_TOKEN\",\n\"Content-Type\": \"application/json\"\n}",
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"specifyHeaders": "json"
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "",
|
||||
"connections": {
|
||||
"Receive Line Messages": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Creating a Prompt for Dall-E (Lego Style)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Receive a Line Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Receive Line Messages",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Creating an Image using Dall-E": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Back an Image through Line",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Creating a Prompt for Dall-E (Lego Style)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Creating an Image using Dall-E",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
470
workflows/Http/0707_HTTP_Stripe_Create_Webhook.json
Normal file
470
workflows/Http/0707_HTTP_Stripe_Create_Webhook.json
Normal file
@@ -0,0 +1,470 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "6f3fb2495ae05d668c93cbf9e1649128d6e08178f8a900941cf97e588f18fdfc",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "7fe02521-c46a-4314-9387-b7b4983fa859",
|
||||
"name": "POST Sales Receipt",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1320,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/salesreceipt?minorversion=73",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"Line\": [\n {\n \"Description\": \"{{ $json.data.object.description }}\",\n \"DetailType\": \"SalesItemLineDetail\",\n \"SalesItemLineDetail\": {\n \"TaxCodeRef\": {\n \"value\": \"NON\"\n },\n \"Qty\": 1,\n \"UnitPrice\": {{ $json.data.object.amount_received / 100 }},\n \"ItemRef\": {\n \"name\": \"Subscription\", \n \"value\": \"10\"\n }\n },\n \"Amount\": {{ $json.data.object.amount / 100 }},\n \"LineNum\": 1\n }\n ],\n \"CustomerRef\": {\n \"value\": {{ $input.all()[2].json.QueryResponse.Customer[0].BillAddr.Id }},\n \"name\": \"{{ $input.all()[2].json.QueryResponse.Customer[0].DisplayName }}\"\n },\n \"CurrencyRef\": {\n \"value\": \"{{ $json.data.object.currency.toUpperCase() }}\"\n },\n \"PrivateNote\": \"Payment from Stripe Payment Intent ID: {{ $json.data.object.id }}\"\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "quickBooksOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"quickBooksOAuth2Api": {
|
||||
"id": "IUNAfwwSgnbwWygB",
|
||||
"name": "QuickBooks Online account"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "5ed429d7-c93d-48c8-b603-ca8d7efb57ed",
|
||||
"name": "GET Quickbooks Customer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
400,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/query?query=select * from Customer Where PrimaryEmailAddr = '{{ $json.email }}'&minorversion=73\n\n",
|
||||
"options": {},
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "quickBooksOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"httpCustomAuth": {
|
||||
"id": "hqXGCVkt6W41KDDK",
|
||||
"name": "Custom Auth account"
|
||||
},
|
||||
"quickBooksOAuth2Api": {
|
||||
"id": "IUNAfwwSgnbwWygB",
|
||||
"name": "QuickBooks Online account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "bef5b4c3-4948-4294-bd80-7039342edf0d",
|
||||
"name": "Get Stripe Customer",
|
||||
"type": "n8n-nodes-base.stripe",
|
||||
"position": [
|
||||
240,
|
||||
-140
|
||||
],
|
||||
"parameters": {
|
||||
"resource": "customer",
|
||||
"customerId": "={{ $json.data.object.customer }}"
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "o6KHVZiU8S7O38wq",
|
||||
"name": "Stripe account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "042fff2c-b5e7-4877-b935-f6a707118c4a",
|
||||
"name": "New Payment",
|
||||
"type": "n8n-nodes-base.stripeTrigger",
|
||||
"position": [
|
||||
80,
|
||||
-260
|
||||
],
|
||||
"webhookId": "5cc15770-f762-4389-8372-1b2926de4570",
|
||||
"parameters": {
|
||||
"events": [
|
||||
"payment_intent.succeeded"
|
||||
]
|
||||
},
|
||||
"credentials": {
|
||||
"stripeApi": {
|
||||
"id": "o6KHVZiU8S7O38wq",
|
||||
"name": "Stripe account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "12235c25-712b-4e84-b744-60573e00d381",
|
||||
"name": "If Customer Exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
560,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "aef7393c-c4ff-4196-887d-6a9b057381f8",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "exists",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "={{ $json.QueryResponse.Customer[0].PrimaryEmailAddr.Address }}",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "68f63246-cb95-494f-918c-c0c6da5a64f9",
|
||||
"name": "Use Stripe Customer",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
880,
|
||||
120
|
||||
],
|
||||
"parameters": {},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "e9eea332-7109-479f-8f50-65b3b9438e0e",
|
||||
"name": "Create QuickBooks Customer",
|
||||
"type": "n8n-nodes-base.quickbooks",
|
||||
"position": [
|
||||
1100,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"operation": "create",
|
||||
"displayName": "={{ $input.all()[0].json.name }}",
|
||||
"additionalFields": {
|
||||
"Balance": "={{ $input.all()[0].json.balance }}",
|
||||
"PrimaryEmailAddr": "={{ $input.all()[0].json.email }}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"quickBooksOAuth2Api": {
|
||||
"id": "IUNAfwwSgnbwWygB",
|
||||
"name": "QuickBooks Online account"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f805f03d-93b7-4e3b-8b6a-37d9dd802368",
|
||||
"name": "Merge Stripe and QuickBooks Data",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1100,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"numberInputs": 3
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "b9c31838-2bb7-4882-bd15-c096cb97e225",
|
||||
"name": "Merge Payment and QuickBooks Customer",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1320,
|
||||
120
|
||||
],
|
||||
"parameters": {},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "cb69fcee-8d5d-47ab-be76-9e25cb0a7f42",
|
||||
"name": "POST Sales Receipt To QuickBooks",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1540,
|
||||
120
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/salesreceipt?minorversion=73",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"Line\": [\n {\n \"Description\": \"{{ $json.data.object.description }}\",\n \"DetailType\": \"SalesItemLineDetail\",\n \"SalesItemLineDetail\": {\n \"TaxCodeRef\": {\n \"value\": \"NON\"\n },\n \"Qty\": 1,\n \"UnitPrice\": {{ $json.data.object.amount_received / 100 }},\n \"ItemRef\": {\n \"name\": \"Subscription\", \n \"value\": \"10\"\n }\n },\n \"Amount\": {{ $json.data.object.amount / 100 }},\n \"LineNum\": 1\n }\n ],\n \"CustomerRef\": {\n \"value\": {{ $input.all()[1].json.Id}},\n \"name\": \"{{ $input.all()[1].json.DisplayName }}\"\n },\n \"CurrencyRef\": {\n \"value\": \"{{ $json.data.object.currency.toUpperCase() }}\"\n },\n \"PrivateNote\": \"Payment from Stripe Payment Intent ID: {{ $json.data.object.id }}\"\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "quickBooksOAuth2Api"
|
||||
},
|
||||
"credentials": {
|
||||
"quickBooksOAuth2Api": {
|
||||
"id": "IUNAfwwSgnbwWygB",
|
||||
"name": "QuickBooks Online account"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"New Payment": [
|
||||
{
|
||||
"id": "evt_3Qjf7fJJNVDH5POn01Am9Q1x",
|
||||
"data": {
|
||||
"object": {
|
||||
"id": "pi_3Qjf54D14htxZ8341jkWWJJs",
|
||||
"amount": 9500,
|
||||
"object": "payment_intent",
|
||||
"review": null,
|
||||
"source": null,
|
||||
"status": "succeeded",
|
||||
"created": 1737456794,
|
||||
"invoice": "in_1Qje8QD14htxZ834S3Gh3Nn6",
|
||||
"currency": "usd",
|
||||
"customer": "cus_R4OkhTTT1ebzPl",
|
||||
"livemode": false,
|
||||
"metadata": {},
|
||||
"shipping": null,
|
||||
"processing": null,
|
||||
"application": null,
|
||||
"canceled_at": null,
|
||||
"description": "Subscription update",
|
||||
"next_action": null,
|
||||
"on_behalf_of": null,
|
||||
"client_secret": "pi_3Qjf54D14htxZ8341jkWWJJs_secret_FXltcZHFUDM8I4F0AQjRPE9Vz",
|
||||
"latest_charge": "ch_3Qjf54D14htxZ8341xwQhggm",
|
||||
"receipt_email": null,
|
||||
"transfer_data": null,
|
||||
"amount_details": {
|
||||
"tip": {}
|
||||
},
|
||||
"capture_method": "automatic",
|
||||
"payment_method": "pm_1Qh6nED14htxZ834bTgSzUQy",
|
||||
"transfer_group": null,
|
||||
"amount_received": 9500,
|
||||
"amount_capturable": 0,
|
||||
"last_payment_error": null,
|
||||
"setup_future_usage": null,
|
||||
"cancellation_reason": null,
|
||||
"confirmation_method": "automatic",
|
||||
"payment_method_types": [
|
||||
"amazon_pay",
|
||||
"card",
|
||||
"cashapp",
|
||||
"link"
|
||||
],
|
||||
"statement_descriptor": null,
|
||||
"application_fee_amount": null,
|
||||
"payment_method_options": {
|
||||
"card": {
|
||||
"network": null,
|
||||
"installments": null,
|
||||
"mandate_options": null,
|
||||
"request_three_d_secure": "automatic"
|
||||
},
|
||||
"link": {
|
||||
"persistent_token": null
|
||||
},
|
||||
"cashapp": {},
|
||||
"amazon_pay": {
|
||||
"express_checkout_element_session_id": null
|
||||
}
|
||||
},
|
||||
"automatic_payment_methods": null,
|
||||
"statement_descriptor_suffix": null,
|
||||
"payment_method_configuration_details": null
|
||||
}
|
||||
},
|
||||
"type": "payment_intent.succeeded",
|
||||
"object": "event",
|
||||
"created": 1737456956,
|
||||
"request": {
|
||||
"id": "req_vbXfG1vUORKZJ6",
|
||||
"idempotency_key": "e63d5e07-f753-429c-bd06-c642e23d9ff8"
|
||||
},
|
||||
"livemode": false,
|
||||
"api_version": "2020-08-27",
|
||||
"pending_webhooks": 3
|
||||
}
|
||||
],
|
||||
"Get Stripe Customer": [
|
||||
{
|
||||
"id": "cus_R4OkhTTT1ebzPl",
|
||||
"name": "Test Usershvili",
|
||||
"email": "Birds@Intuit.com",
|
||||
"phone": null,
|
||||
"object": "customer",
|
||||
"address": {
|
||||
"city": null,
|
||||
"line1": null,
|
||||
"line2": null,
|
||||
"state": null,
|
||||
"country": "GE",
|
||||
"postal_code": null
|
||||
},
|
||||
"balance": 0,
|
||||
"created": 1729495354,
|
||||
"currency": "usd",
|
||||
"discount": null,
|
||||
"livemode": false,
|
||||
"metadata": {},
|
||||
"shipping": null,
|
||||
"delinquent": false,
|
||||
"tax_exempt": "none",
|
||||
"test_clock": null,
|
||||
"description": null,
|
||||
"default_source": null,
|
||||
"invoice_prefix": "F73B0901",
|
||||
"default_currency": "usd",
|
||||
"invoice_settings": {
|
||||
"footer": null,
|
||||
"custom_fields": null,
|
||||
"rendering_options": null,
|
||||
"default_payment_method": null
|
||||
},
|
||||
"preferred_locales": [
|
||||
"en-GB"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"New Payment": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Stripe Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Merge Stripe and QuickBooks Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Merge Payment and QuickBooks Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"If Customer Exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge Stripe and QuickBooks Data",
|
||||
"type": "main",
|
||||
"index": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Use Stripe Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"POST Sales Receipt": {
|
||||
"main": [
|
||||
[]
|
||||
]
|
||||
},
|
||||
"Get Stripe Customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GET Quickbooks Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Use Stripe Customer",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Use Stripe Customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create QuickBooks Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"GET Quickbooks Customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If Customer Exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Merge Stripe and QuickBooks Data",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create QuickBooks Customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge Payment and QuickBooks Customer",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Merge Stripe and QuickBooks Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "POST Sales Receipt",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Merge Payment and QuickBooks Customer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "POST Sales Receipt To QuickBooks",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
414
workflows/Http/0717_HTTP_Schedule_Create_Scheduled.json
Normal file
414
workflows/Http/0717_HTTP_Schedule_Create_Scheduled.json
Normal file
@@ -0,0 +1,414 @@
|
||||
{
|
||||
"meta": {
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "b9a807c3-5847-477a-a242-2fdf5b15ba7e",
|
||||
"name": "API to Check existing merge request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-840,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://gitlab.com/<projectid>/merge_requests",
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": false
|
||||
},
|
||||
"sendQuery": true,
|
||||
"sendHeaders": true,
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "state",
|
||||
"value": "opened"
|
||||
},
|
||||
{
|
||||
"name": "source_branch",
|
||||
"value": "=sourceBranchName"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "PRIVATE-TOKEN",
|
||||
"value": "=gitlabToken"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"id": "42270a5a-d696-44f3-b2f5-16b2ddb3488c",
|
||||
"name": "Is Exists",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
-660,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "d895b8cc-5679-442f-a1bf-d8375174a24b",
|
||||
"operator": {
|
||||
"type": "boolean",
|
||||
"operation": "true",
|
||||
"singleValue": true
|
||||
},
|
||||
"leftValue": "={{ $node[\"API to Check existing merge request\"].data.isEmpty() }}",
|
||||
"rightValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "d380c943-0525-4976-9e70-c90de1177f0c",
|
||||
"name": "Create New Merge Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-440,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://gitlab.com/<projectid>/merge_requests",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": false
|
||||
},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"sendHeaders": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "source_branch",
|
||||
"value": "=sourceBranchName"
|
||||
},
|
||||
{
|
||||
"name": "target_branch",
|
||||
"value": "=targetBranchName"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"value": "=mergeTitle"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "PRIVATE-TOKEN",
|
||||
"value": "=gitlabToken"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "600a0ed5-cb68-4479-8aee-55b55f0d8630",
|
||||
"name": "Loop Over Items",
|
||||
"type": "n8n-nodes-base.splitInBatches",
|
||||
"position": [
|
||||
-440,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "555643cb-761c-41ec-b983-8e0194851a8d",
|
||||
"name": "API to CLOSE existing Merge Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-220,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://gitlab.com/<projectid>/merge_requests/<merge_iid>",
|
||||
"method": "PUT",
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": false
|
||||
},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"sendHeaders": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "state_event",
|
||||
"value": "close"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "PRIVATE-TOKEN",
|
||||
"value": "=gitlabToken"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "0c94b06a-80e3-4e50-8bac-2bd4015f085e",
|
||||
"name": "Add Custom Notes To Merge Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-220,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://gitlab.com/<projectid>/merge_requests/<merge_iid>/notes",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": false
|
||||
},
|
||||
"sendBody": true,
|
||||
"contentType": "form-urlencoded",
|
||||
"sendHeaders": true,
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"value": "=<mergeComments>"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "PRIVATE-TOKEN",
|
||||
"value": "=gitlabToken"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "8e849f4f-2a52-46ba-9e0a-17126a8d966c",
|
||||
"name": "30 secs wait to approve merge request and pipeline to finish1",
|
||||
"type": "n8n-nodes-base.wait",
|
||||
"position": [
|
||||
140,
|
||||
-200
|
||||
],
|
||||
"webhookId": "ac7bb2de-2c6f-479a-8807-13a29d8eaf5e",
|
||||
"parameters": {
|
||||
"amount": 30
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "05cca829-b2df-4c1e-9441-56349acc4a0d",
|
||||
"name": "Merge When Pipeline Succeeds",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
720,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://gitlab.com/<projectid>/merge_requests/<merge_iid>/merge",
|
||||
"method": "PUT",
|
||||
"options": {
|
||||
"allowUnauthorizedCerts": false
|
||||
},
|
||||
"jsonBody": "={\n\"merge_when_pipeline_succeeds\": {{ $('setValueForMerge').item.json.merge_when_pipeline_succeeds }},\n \"should_remove_source_branch\": {{ $('setValueForMerge').item.json.should_remove_source_branch }}\n}",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "PRIVATE-TOKEN",
|
||||
"value": "=gitlabToken"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "e3ce9cdc-5484-4b4b-8701-6b9089a1f76d",
|
||||
"name": "setValueForMerge",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
460,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "a22922c7-0c69-4ac1-bd15-4d289fa57737",
|
||||
"name": "merge_when_pipeline_succeeds",
|
||||
"type": "boolean",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "17580668-84d9-4ad6-b93b-e7b6c9c0f8ea",
|
||||
"name": "should_remove_source_branch",
|
||||
"type": "boolean",
|
||||
"value": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "0d49ec98-4806-492e-a6c2-a298ed8bb11a",
|
||||
"name": "Schedule Trigger",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
-1160,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Is Exists": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Create New Merge Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Loop Over Items": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "API to Check existing merge request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "API to CLOSE existing Merge Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Schedule Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "API to Check existing merge request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"setValueForMerge": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge When Pipeline Succeeds",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Create New Merge Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Add Custom Notes To Merge Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Add Custom Notes To Merge Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "30 secs wait to approve merge request and pipeline to finish1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"API to CLOSE existing Merge Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loop Over Items",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"API to Check existing merge request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Is Exists",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"30 secs wait to approve merge request and pipeline to finish1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "setValueForMerge",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
1001
workflows/Http/0739_HTTP_Form_Automate_Webhook.json
Normal file
1001
workflows/Http/0739_HTTP_Form_Automate_Webhook.json
Normal file
File diff suppressed because it is too large
Load Diff
79
workflows/Http/0745_HTTP_Telegram_Automation_Webhook.json
Normal file
79
workflows/Http/0745_HTTP_Telegram_Automation_Webhook.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"id": "2",
|
||||
"name": "Daily Text Affirmations",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
350,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 9
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
760,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://affirmations.dev",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
1140,
|
||||
380
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=Hey Daniel, here's your daily affirmation...\n\n{{$node[\"HTTP Request\"].json[\"affirmation\"]}}",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "Telegram Token"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
158
workflows/Http/0752_HTTP_Rssfeedread_Automation_Scheduled.json
Normal file
158
workflows/Http/0752_HTTP_Rssfeedread_Automation_Scheduled.json
Normal file
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"id": "2",
|
||||
"name": "post to mattermost v2",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "RSS Feed Read",
|
||||
"type": "n8n-nodes-base.rssFeedRead",
|
||||
"position": [
|
||||
580,
|
||||
150
|
||||
],
|
||||
"parameters": {
|
||||
"url": "{HERE YOUR TINY TINY RSS PUBLIC FEED}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1170,
|
||||
90
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://{HERE YOUR MASTONDON INSTANCE URL}/api/v1/statuses?access_token={HERE YOUR MASTODON ACCESS TOKEN}",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "status",
|
||||
"value": "={{$node[\"RSS Feed Read\"].json[\"title\"]}} \n{{$node[\"RSS Feed Read\"].json[\"link\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
400,
|
||||
150
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyX",
|
||||
"unit": "minutes",
|
||||
"value": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Function",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
790,
|
||||
150
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "// Get the global workflow static data\nconst staticData = getWorkflowStaticData('global');\n\n// Access its data\nconst lastRssId = staticData.lastRssId\n\nlet list = []\n\n\nfor (const item of $items(\"RSS Feed Read\")){\n let currentId = item.json[\"id\"].split('/').pop()\n if(currentId == lastRssId) break;\n list.push({'json': {\n 'id': currentId,\n 'lastId': lastRssId,\n 'title': item.json[\"title\"],\n 'url': item.json[\"link\"]\n }})\n}\n\n\n// Get the last ID from Rss Feed\nlet currentRssId = $item(0).$node[\"RSS Feed Read\"].json[\"id\"].split('/').pop()\n\n// TODO: make a loop to get all the items beyond the last saved id\nif(!lastRssId || currentRssId != lastRssId)\n{ \n // Update its data\n staticData.lastRssId = currentRssId;\n \n}\nelse { list = [{'json':{'id': 'NaN', 'lastId': staticData.lastRssId }}] }\nreturn list;\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
960,
|
||||
150
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"Function\"].json[\"id\"]}}",
|
||||
"value2": "NaN",
|
||||
"operation": "notEqual"
|
||||
}
|
||||
],
|
||||
"boolean": []
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1180,
|
||||
280
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "RSS Feed Read",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Function": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"RSS Feed Read": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Function",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
537
workflows/Http/0771_HTTP_Telegram_Create_Webhook.json
Normal file
537
workflows/Http/0771_HTTP_Telegram_Create_Webhook.json
Normal file
File diff suppressed because one or more lines are too long
187
workflows/Http/0775_HTTP_Executecommand_Automate_Webhook.json
Normal file
187
workflows/Http/0775_HTTP_Executecommand_Automate_Webhook.json
Normal file
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"id": "30",
|
||||
"name": "N8N Español - NocodeBot",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"notes": "Lee los datos de Strapi",
|
||||
"position": [
|
||||
630,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=http://s.covid-remote.work:1337/nocodes?Name={{$json[\"message\"][\"text\"].toLowerCase()}}",
|
||||
"options": {}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
950,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=------------------------------------------------ \n<b>{{$node[\"HTTP Request\"].json[\"0\"][\"Name\"].toUpperCase()}} </b>\n------------------------------------------------\n|-<b>Descripción:</b>\n|<pre>{{$node[\"Execute Command\"].json[\"stdout\"]}}</pre>",
|
||||
"chatId": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"additionalFields": {
|
||||
"parse_mode": "HTML"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "NocodeTranslateBot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram1",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
800,
|
||||
130
|
||||
],
|
||||
"parameters": {
|
||||
"file": "={{$json[\"0\"][\"Img\"]}}",
|
||||
"chatId": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"operation": "sendPhoto",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "NocodeTranslateBot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Execute Command",
|
||||
"type": "n8n-nodes-base.executeCommand",
|
||||
"position": [
|
||||
790,
|
||||
390
|
||||
],
|
||||
"parameters": {
|
||||
"command": "=/usr/bin/translate --brief -t {{$node[\"Telegram Trigger\"].json[\"message\"][\"from\"][\"language_code\"]}} \"{{$json[\"0\"][\"Description\"]}}\""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram Trigger",
|
||||
"type": "n8n-nodes-base.telegramTrigger",
|
||||
"position": [
|
||||
290,
|
||||
130
|
||||
],
|
||||
"webhookId": "9673bd65-53ef-4561-bfe1-a55fab0f77b0",
|
||||
"parameters": {
|
||||
"updates": [
|
||||
"*"
|
||||
],
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "NocodeTranslateBot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Saludos-IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
450,
|
||||
270
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"text\"]}}",
|
||||
"value2": "/start"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "S-Telegram2",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
630,
|
||||
130
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=Hola, **{{$json[\"message\"][\"chat\"][\"first_name\"]}}** 🙌\nEste bot ha sido desarrollado para @comunidadn8n\nPuedes escribir el nombre de alguna herramienta No-Code y si la tenemos registrada en nuestra Base de datos te responderemos con la descripción en tu idioma.\n\nPuedes probar escribiendo alguno de estos nombres:\n\n- Airtable\n- Stripe\n- Webflow",
|
||||
"chatId": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"additionalFields": {
|
||||
"parse_mode": "Markdown"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "NocodeTranslateBot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Saludos-IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "S-Telegram2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Execute Command",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Execute Command": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Telegram Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Saludos-IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
682
workflows/Http/0778_HTTP_Stickynote_Import_Webhook.json
Normal file
682
workflows/Http/0778_HTTP_Stickynote_Import_Webhook.json
Normal file
@@ -0,0 +1,682 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "c499b8cc-7cc8-411d-9c22-d46c7654e169",
|
||||
"name": "Mistral Upload",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
700,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/files",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "multipart-form-data",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "purpose",
|
||||
"value": "ocr"
|
||||
},
|
||||
{
|
||||
"name": "file",
|
||||
"parameterType": "formBinaryData",
|
||||
"inputDataFieldName": "data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "08cbe4b7-2adc-4ea0-8dfc-af107369b1dd",
|
||||
"name": "When clicking ‘Test workflow’",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
-540,
|
||||
-20
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "965f294a-5d77-4190-ad4f-ff191aba0948",
|
||||
"name": "Mistral Signed URL",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
900,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.mistral.ai/v1/files/{{ $json.id }}/url",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"sendHeaders": true,
|
||||
"authentication": "predefinedCredentialType",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "expiry",
|
||||
"value": "24"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "7abfb1f8-f6c8-4fd0-a78e-9d4b97a4d6bc",
|
||||
"name": "Import PDF",
|
||||
"type": "n8n-nodes-base.googleDrive",
|
||||
"position": [
|
||||
480,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"fileId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "15BcE6nXto9lQDHPmwjm7y9JPerAVEutY"
|
||||
},
|
||||
"options": {},
|
||||
"operation": "download"
|
||||
},
|
||||
"credentials": {
|
||||
"googleDriveOAuth2Api": {
|
||||
"id": "yOwz41gMQclOadgu",
|
||||
"name": "Google Drive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "8942c6bf-4d86-4a95-aa4a-c819008e2534",
|
||||
"name": "Import Image",
|
||||
"type": "n8n-nodes-base.googleDrive",
|
||||
"position": [
|
||||
480,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"fileId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "1a2FcRDWHHncMO8CYxD80uNUBGH1Sy1k2"
|
||||
},
|
||||
"options": {},
|
||||
"operation": "download"
|
||||
},
|
||||
"credentials": {
|
||||
"googleDriveOAuth2Api": {
|
||||
"id": "yOwz41gMQclOadgu",
|
||||
"name": "Google Drive account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "94a1c3ca-1ca7-4bb1-9e7c-8314742423ab",
|
||||
"name": "Mistral Upload1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
700,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/files",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "multipart-form-data",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "purpose",
|
||||
"value": "ocr"
|
||||
},
|
||||
{
|
||||
"name": "file",
|
||||
"parameterType": "formBinaryData",
|
||||
"inputDataFieldName": "data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "9d075eec-ba0e-41e1-8bdc-a732bc0f9229",
|
||||
"name": "Mistral Signed URL1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
900,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.mistral.ai/v1/files/{{ $json.id }}/url",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"sendHeaders": true,
|
||||
"authentication": "predefinedCredentialType",
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "expiry",
|
||||
"value": "24"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"value": "application/json"
|
||||
}
|
||||
]
|
||||
},
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "f623f066-fc70-40fa-b608-f28a75a8ac8c",
|
||||
"name": "Mistral DOC OCR",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1100,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/ocr",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"mistral-ocr-latest\",\n \"document\": {\n \"type\": \"document_url\",\n \"document_url\": \"{{ $json.url }}\"\n },\n \"include_image_base64\": true\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "15913796-e7c8-451a-8e7b-da7a3b10db02",
|
||||
"name": "Mistral IMAGE OCR",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1100,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/ocr",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"mistral-ocr-latest\",\n \"document\": {\n \"type\": \"image_url\",\n \"image_url\": \"{{ $json.url }}\"\n }\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "a79524ff-84f0-46db-bb8e-afc18f1ddd40",
|
||||
"name": "Document URL",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
-160,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "1eb5f18b-eb06-48df-8491-d60de75b4855",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "=https://pub-d4aa9be14ae34d6ebcebe06f13af667b.r2.dev/multimodal_bank_statement_scan.pdf"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "72b89f33-a67c-4f73-9a78-e8ccd02fbc98",
|
||||
"name": "Image URL",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
-160,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "1eb5f18b-eb06-48df-8491-d60de75b4855",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "=https://pub-d4aa9be14ae34d6ebcebe06f13af667b.r2.dev/multimodal_bank_statement_2.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "808ccbb3-0dae-4e2c-9166-bf40c589824a",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-320,
|
||||
-160
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 680,
|
||||
"height": 580,
|
||||
"content": "### Example 1. Publicly Hosted Files\nThe default way to use Mistral OCR is to give it a public URL of the file you want processed. Great for your own semi-private docs or other people's. If you rather not expose files due to privacy concerns, then you'd want to check out example 2."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b968d6ab-9582-495d-84af-f75833701e2a",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
400,
|
||||
-160
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 920,
|
||||
"height": 560,
|
||||
"content": "### Example 2. Privately Hosted via Mistral Cloud\nGive Mistral OCR private and secure access to your files by uploading them to Mistral cloud first. Retrieve the file using a signed URL and pass this to Mistral OCR. Benefit of storing via Mistral could be faster cache access and reduced latency for repeat docs."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f2c0b30a-49be-4850-b102-f23d0feac0ec",
|
||||
"name": "Mistral DOC OCR1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
60,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/ocr",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"mistral-ocr-latest\",\n \"document\": {\n \"type\": \"document_url\",\n \"document_url\": \"{{ $json.url }}\"\n }\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "64a28537-e70b-48bc-b580-cc9d5a5a1b80",
|
||||
"name": "Mistral IMAGE OCR1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
60,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/ocr",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"mistral-ocr-latest\",\n \"document\": {\n \"type\": \"image_url\",\n \"image_url\": \"{{ $json.url }}\"\n }\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "3caaa30b-21f2-4643-93dd-8dff6f3c1920",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-740,
|
||||
-440
|
||||
],
|
||||
"parameters": {
|
||||
"width": 380,
|
||||
"height": 640,
|
||||
"content": "## Document Parsing with Mistral OCR\nUp your structured document parsing game with Mistral's latest release... **Mistral-OCR**!\n* Designed to specifically parse PDF and image files.\n* Handles multiple-page documents and images up to 10k pixels.\n* Each page is conveniently transcribed as markdown only - there is no plain text output.\n* Incredible pricing at only $0.001 per page!\n\n### Requirements\n* You'll need a Mistral Cloud API Key\n* This template only works with the Mistral Cloud API for Mistral OCR."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "bd4d0c9f-f4a6-4527-8f9d-5af90a2858c2",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1360,
|
||||
-160
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 680,
|
||||
"height": 580,
|
||||
"content": "### Example 3. No need for Extraction? Talk Directly with the File!\nIt seems Mistral were also able to integrate OCR capabilities into its text models which allows you to carry out tasks such as document classification and sentiment analysis really quickly. Unfortunately, it doesn't work the same way with images - you have to use Pixtral but the results are really bad!"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c9a9d4bb-4ee6-413a-9f08-97fdcee22bf2",
|
||||
"name": "Document URL1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1520,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "1eb5f18b-eb06-48df-8491-d60de75b4855",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "=https://pub-d4aa9be14ae34d6ebcebe06f13af667b.r2.dev/multimodal_bank_statement_scan.pdf"
|
||||
},
|
||||
{
|
||||
"id": "c639fce3-6967-444d-be18-6c9ce802ef22",
|
||||
"name": "query",
|
||||
"type": "string",
|
||||
"value": "what is the total number of deposits?"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "5de4d62c-af8f-4e6d-adbd-2f591a2165f7",
|
||||
"name": "Document Understanding",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1740,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/chat/completions",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"mistral-small-latest\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"{{ $json.query }}\"\n },\n {\n \"type\": \"document_url\",\n \"document_url\": \"{{ $json.url }}\"\n }\n ]\n }\n ],\n \"document_image_limit\": 8,\n \"document_page_limit\": 64\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "9a7bbff0-d446-469d-aa61-838e8c025ad5",
|
||||
"name": "Image URL1",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1520,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "1eb5f18b-eb06-48df-8491-d60de75b4855",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "=https://pub-d4aa9be14ae34d6ebcebe06f13af667b.r2.dev/multimodal_bank_statement_2.png"
|
||||
},
|
||||
{
|
||||
"id": "639cd062-ebef-44ab-97a2-79ee388f8b41",
|
||||
"name": "query",
|
||||
"type": "string",
|
||||
"value": "what is the total number of deposits?"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "ca43d437-a373-4938-a0a8-8087a98d46a8",
|
||||
"name": "Document Mis-Understanding?",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1740,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.mistral.ai/v1/chat/completions",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"pixtral-large-latest\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"{{ $json.query }}\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": \"{{ $json.url }}\"\n }\n ]\n }\n ],\n \"document_image_limit\": 8,\n \"document_page_limit\": 64\n}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "predefinedCredentialType",
|
||||
"nodeCredentialType": "mistralCloudApi"
|
||||
},
|
||||
"credentials": {
|
||||
"mistralCloudApi": {
|
||||
"id": "EIl2QxhXAS9Hkg37",
|
||||
"name": "Mistral Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Image URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral IMAGE OCR1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Image URL1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Document Mis-Understanding?",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Import PDF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral Upload",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Document URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral DOC OCR1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Import Image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral Upload1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Document URL1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Document Understanding",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mistral Upload": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral Signed URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mistral Upload1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral Signed URL1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mistral DOC OCR1": {
|
||||
"main": [
|
||||
[]
|
||||
]
|
||||
},
|
||||
"Mistral Signed URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral DOC OCR",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mistral Signed URL1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mistral IMAGE OCR",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When clicking ‘Test workflow’": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Document URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Image URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
204
workflows/Http/0825_HTTP_Manual_Send_Webhook.json
Normal file
204
workflows/Http/0825_HTTP_Manual_Send_Webhook.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "568298fde06d3db80a2eea77fe5bf45f0c7bb898dea20b769944e9ac7c6c5a80"
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "72babb83-0530-4809-9f6f-d9afaf91fd59",
|
||||
"name": "Send Log to BetterStack",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
80,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"message\":\"{{ $json.message }}\",\n \"level\": \"{{ $json.level }}\"\n} ",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "NAa1bu8yteVhXxxV",
|
||||
"name": "Header Auth BetterStack"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "863b184b-05c0-47b7-82c1-166bdf25a32a",
|
||||
"name": "Recieve log message",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"notes": "from another workflow",
|
||||
"position": [
|
||||
-140,
|
||||
140
|
||||
],
|
||||
"parameters": {
|
||||
"workflowInputs": {
|
||||
"values": [
|
||||
{
|
||||
"name": "level"
|
||||
},
|
||||
{
|
||||
"name": "message"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "e696b65e-5249-43b2-9a33-4e59fc616f21",
|
||||
"name": "Test workflow",
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"position": [
|
||||
-260,
|
||||
-120
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f7b51eae-4016-4072-9539-b66ea8646508",
|
||||
"name": "Send test log message",
|
||||
"type": "n8n-nodes-base.executeWorkflow",
|
||||
"notes": "using workflow",
|
||||
"position": [
|
||||
-40,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{$workflow.id}}"
|
||||
},
|
||||
"workflowInputs": {
|
||||
"value": {
|
||||
"level": "error",
|
||||
"message": "This is a test log message"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "level",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"required": false,
|
||||
"displayName": "level",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "message",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"required": false,
|
||||
"displayName": "message",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": true
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "72457cde-ea6f-406a-8d5e-70878114dd3e",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-440,
|
||||
60
|
||||
],
|
||||
"parameters": {
|
||||
"width": 860,
|
||||
"height": 280,
|
||||
"content": "## Send log entries to BetterStack\nThis workflow can be used in two ways:\n1. Save it as a separate workflow to\nuse if from multiple worflows.\n2. Embed it into one workflow to just\nuse it from one."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "442976e5-1306-4c9b-a3e6-5693ae6d132c",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-440,
|
||||
-240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 660,
|
||||
"height": 280,
|
||||
"content": "## Demo\nThis is just a demo of how to call the workflow.\nKeep it here, replace it with your own workflow or delete it."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4175c168-1f59-4213-8bc4-a71dd62c3bd9",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
20,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"height": 200,
|
||||
"content": "### Edit me"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "c69c7c62-f4b5-4b14-b6be-8e9f3b8a38cd",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-780,
|
||||
-240
|
||||
],
|
||||
"parameters": {
|
||||
"color": 6,
|
||||
"width": 300,
|
||||
"height": 580,
|
||||
"content": "### 🧾 Log to BetterStack\n\n**👋 Hello! I'm Audun / xqus** \n🔗 My work: [xqus.com](https://xqus.com)\n💸 n8n shop: [xqus.gumroad.com](https://xqus.gumroad.com)\n\n\nThis workflow sends log messages to [BetterStack Logs](https://betterstack.com/logs) using a POST request.\n\n#### ✅ Usage:\n1. **From other workflows** \n → Use the **Execute Workflow** node and pass in `level` and `message`.\n\n2. **As standalone** \n → Manually trigger for testing, or embed it into a single workflow.\n\n#### 🔧 Setup:\n1. Set your **BetterStack Logs endpoint URL** in the HTTP Request node. \n2. Add your **Header Auth** credentials: `Authorization: Bearer YOUR_TOKEN`\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Test workflow": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send test log message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Recieve log message": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Log to BetterStack",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
194
workflows/Http/0870_HTTP_Schedule_Update_Webhook.json
Normal file
194
workflows/Http/0870_HTTP_Schedule_Update_Webhook.json
Normal file
File diff suppressed because one or more lines are too long
869
workflows/Http/0878_HTTP_Aggregate_Import_Webhook.json
Normal file
869
workflows/Http/0878_HTTP_Aggregate_Import_Webhook.json
Normal file
@@ -0,0 +1,869 @@
|
||||
{
|
||||
"meta": {
|
||||
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"nodes": [
|
||||
{
|
||||
"id": "aef123fd-3481-4708-ae85-684529e4f05f",
|
||||
"name": "When Executed by Another Workflow",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
340,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"workflowInputs": {
|
||||
"values": [
|
||||
{
|
||||
"name": "operation"
|
||||
},
|
||||
{
|
||||
"name": "query"
|
||||
},
|
||||
{
|
||||
"name": "urls"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "d77e695b-8340-4715-9862-b6428d7d12e4",
|
||||
"name": "Operation",
|
||||
"type": "n8n-nodes-base.switch",
|
||||
"position": [
|
||||
580,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"rules": {
|
||||
"values": [
|
||||
{
|
||||
"outputKey": "Youtube Search",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "81b134bc-d671-4493-b3ad-8df9be3f49a6",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.operation }}",
|
||||
"rightValue": "youtube_search"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
},
|
||||
{
|
||||
"outputKey": "Youtube Transcripts",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "8d57914f-6587-4fb3-88e0-aa1de6ba56c1",
|
||||
"operator": {
|
||||
"name": "filter.operator.equals",
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.operation }}",
|
||||
"rightValue": "youtube_transcripts"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
},
|
||||
{
|
||||
"outputKey": "Usage Metrics",
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "7c38f238-213a-46ec-aefe-22e0bcb8dffc",
|
||||
"operator": {
|
||||
"name": "filter.operator.equals",
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.operation }}",
|
||||
"rightValue": "usage_metrics"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameOutput": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 3.2
|
||||
},
|
||||
{
|
||||
"id": "b2d3e630-9664-481e-b250-9d5a3ff065ee",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-440,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 680,
|
||||
"height": 660,
|
||||
"content": "## 1. Set up an MCP Server Trigger\n[Read more about the MCP Server Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6facfbdf-bc66-4652-8ae6-a1513962fe2e",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
260,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 1240,
|
||||
"height": 820,
|
||||
"content": "## 2. [APIFY.com](https://www.apify.com?fpr=414q6) for Easy Youtube Search and Transcripts\n[Sign up for Apify.com using 20JIMLEUK for 20% discount](https://www.apify.com?fpr=414q6)\n\nI've used Apify's Youtube scrapers a couple of times already and I find them quite fast and dependable for production use-cases.\nI particularly like that my workflows don't break when I inevitably hit the official Youtube rate limits which are quite low.\nFor this MCP server, I'm using the following youtube scraper for search and downloading transcripts: [https://apify.com/streamers/youtube-scraper](https://apify.com/streamers/youtube-scraper?fpr=414q6)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "3473a800-6bdc-412d-82f2-aa5befd2dfe4",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-440,
|
||||
-220
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 380,
|
||||
"height": 100,
|
||||
"content": "### Always Authenticate Your Server!\nBefore going to production, it's always advised to enable authentication on your MCP server trigger."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "adddb2c3-5823-426e-bd10-4ae2f3ed0f8c",
|
||||
"name": "Youtube Transcripts",
|
||||
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
|
||||
"position": [
|
||||
0,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"name": "youtube_transcripts",
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $workflow.id }}"
|
||||
},
|
||||
"description": "Fetch the transcript from a youtube video using the youtube video url.",
|
||||
"workflowInputs": {
|
||||
"value": {
|
||||
"urls": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('urls', ``, 'string') }}",
|
||||
"query": "null",
|
||||
"operation": "youtube_transcripts"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "operation",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "operation",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "query",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "query",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "urls",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "urls",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "bce90f0f-a0d8-4e43-98f2-70426b28759d",
|
||||
"name": "Youtube Search",
|
||||
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
|
||||
"position": [
|
||||
-280,
|
||||
280
|
||||
],
|
||||
"parameters": {
|
||||
"name": "websearch_contents",
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $workflow.id }}"
|
||||
},
|
||||
"description": "Performs a youtube search and retrieves relevant videos with metadata only.",
|
||||
"workflowInputs": {
|
||||
"value": {
|
||||
"urls": "null",
|
||||
"query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}",
|
||||
"operation": "youtube_search"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "operation",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "operation",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "query",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "query",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "urls",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "urls",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "42cb7bd5-bdb4-40d4-9f69-d49fe066aaa2",
|
||||
"name": "Apify Youtube Search",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
860,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.apify.com/v2/acts/streamers~youtube-scraper/run-sync-get-dataset-items",
|
||||
"options": {},
|
||||
"jsonBody": "={{\n{\n \"searchQueries\": [$json.query],\n \"maxResultStreams\": 0,\n \"maxResults\": 5\n}\n}}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "SV9BDKc1cRbZBeoL",
|
||||
"name": "Apify.com (personal token)"
|
||||
}
|
||||
},
|
||||
"executeOnce": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "ea57908b-f927-466c-86ff-2265a5ee001a",
|
||||
"name": "Simplify Search Results",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1060,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "9d1db837-e256-4124-80d1-8b103dbbefbb",
|
||||
"name": "channelName",
|
||||
"type": "string",
|
||||
"value": "={{ $json.channelName }}"
|
||||
},
|
||||
{
|
||||
"id": "94cebccb-b499-4fab-a1ff-187179dcd5ce",
|
||||
"name": "title",
|
||||
"type": "string",
|
||||
"value": "={{ $json.title }}"
|
||||
},
|
||||
{
|
||||
"id": "cc68698a-221a-49b8-a349-d16ad4fa746c",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "={{ $json.url }}"
|
||||
},
|
||||
{
|
||||
"id": "de8ae3e0-685d-4e40-839f-13c798d4e5e2",
|
||||
"name": "description",
|
||||
"type": "string",
|
||||
"value": "={{ $json.text.substr(0,2_000) }}"
|
||||
},
|
||||
{
|
||||
"id": "e933cbca-486c-45c9-8ed0-89a3d1efe003",
|
||||
"name": "viewCount",
|
||||
"type": "number",
|
||||
"value": "={{ $json.viewCount }}"
|
||||
},
|
||||
{
|
||||
"id": "417846bb-5e8c-42af-b1dc-8b1de9fa426c",
|
||||
"name": "likes",
|
||||
"type": "number",
|
||||
"value": "={{ $json.likes }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "aed4a7c8-f41e-4e14-90c9-4e298465e7f4",
|
||||
"name": "Apify Youtube Transcripts",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"maxTries": 2,
|
||||
"position": [
|
||||
860,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.apify.com/v2/acts/streamers~youtube-scraper/run-sync-get-dataset-items",
|
||||
"options": {},
|
||||
"jsonBody": "={{\n{\n \"downloadSubtitles\": true,\n \"hasCC\": false,\n \"hasLocation\": false,\n \"hasSubtitles\": false,\n \"is360\": false,\n \"is3D\": false,\n \"is4K\": false,\n \"isBought\": false,\n \"isHD\": false,\n \"isHDR\": false,\n \"isLive\": false,\n \"isVR180\": false,\n \"maxResultStreams\": 0,\n \"maxResults\": 1,\n \"maxResultsShorts\": 0,\n \"preferAutoGeneratedSubtitles\": false,\n \"saveSubsToKVS\": false,\n \"startUrls\": $json.urls.split(',').map(url => ({\n \"url\": url,\n \"method\": \"GET\"\n })),\n \"subtitlesFormat\": \"plaintext\",\n \"subtitlesLanguage\": \"en\"\n}\n}}",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "SV9BDKc1cRbZBeoL",
|
||||
"name": "Apify.com (personal token)"
|
||||
}
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 4.2,
|
||||
"waitBetweenTries": 5000
|
||||
},
|
||||
{
|
||||
"id": "a73c672c-c36a-4ac0-bb0f-a87ed4dd9329",
|
||||
"name": "Simplify Transcript Results",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1060,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "94cebccb-b499-4fab-a1ff-187179dcd5ce",
|
||||
"name": "title",
|
||||
"type": "string",
|
||||
"value": "={{ $json.title }}"
|
||||
},
|
||||
{
|
||||
"id": "cc68698a-221a-49b8-a349-d16ad4fa746c",
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"value": "={{ $json.url }}"
|
||||
},
|
||||
{
|
||||
"id": "7501fe60-f43d-42fe-9087-6f70a1cf12af",
|
||||
"name": "transcript",
|
||||
"type": "string",
|
||||
"value": "={{ $json.subtitles[0].plaintext }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "c62ef6f9-6a81-4f00-aa68-433e3378e6ff",
|
||||
"name": "Aggregate Search Results",
|
||||
"type": "n8n-nodes-base.aggregate",
|
||||
"position": [
|
||||
1260,
|
||||
100
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"aggregate": "aggregateAllItemData",
|
||||
"destinationFieldName": "response"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "53f6c967-bca1-4322-9939-7e0078ef99ed",
|
||||
"name": "Aggregate Transcript Results",
|
||||
"type": "n8n-nodes-base.aggregate",
|
||||
"position": [
|
||||
1260,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"aggregate": "aggregateAllItemData",
|
||||
"destinationFieldName": "response"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "04590cf0-38e5-4113-abb8-14c141524b1c",
|
||||
"name": "Simplify Usage Metrics",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1260,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "ff43aa98-4e32-478d-9e43-619b7b808948",
|
||||
"name": "monthlyUsageCycle_startAt",
|
||||
"type": "string",
|
||||
"value": "={{ $json.data.monthlyUsageCycle.startAt }}"
|
||||
},
|
||||
{
|
||||
"id": "145eefd3-5248-40e9-a988-9e0e578d930a",
|
||||
"name": "monthlyUsageCycle_endAt",
|
||||
"type": "string",
|
||||
"value": "={{ $json.data.monthlyUsageCycle.endAt }}"
|
||||
},
|
||||
{
|
||||
"id": "020d1e4f-d7ec-4d69-b9be-b6c4ba5971eb",
|
||||
"name": "monthlyUsageUsd",
|
||||
"type": "string",
|
||||
"value": "={{ $json.data.current.monthlyUsageUsd.toFixed(2) }} of {{ $json.data.limits.maxMonthlyUsageUsd.toFixed(2) }}"
|
||||
},
|
||||
{
|
||||
"id": "112fb245-b35b-45ce-ad29-e05d0f352010",
|
||||
"name": "ACTOR_COMPUTE_UNITS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.ACTOR_COMPUTE_UNITS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "4b451afb-eba7-49c6-8c3c-7279fb315ec6",
|
||||
"name": "DATASET_READS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.DATASET_READS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "c002234c-955e-41f4-a27f-7f031ae6111e",
|
||||
"name": "DATASET_TIMED_STORAGE_GBYTE_HOURS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.DATASET_TIMED_STORAGE_GBYTE_HOURS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "0108085d-1bb4-44c5-bc3b-845a7206abfe",
|
||||
"name": "DATASET_WRITES",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.DATASET_WRITES.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "df993499-7410-450c-b5b1-50052e6d061e",
|
||||
"name": "DATA_TRANSFER_EXTERNAL_GBYTES",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.DATA_TRANSFER_EXTERNAL_GBYTES.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "1627a2dd-15a6-4b69-b480-4e1b792c403d",
|
||||
"name": "DATA_TRANSFER_INTERNAL_GBYTES",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.DATA_TRANSFER_INTERNAL_GBYTES.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "73037e97-e43d-4ecd-bb7e-6c5ce4740e4d",
|
||||
"name": "KEY_VALUE_STORE_READS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.KEY_VALUE_STORE_READS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "5de9ba3b-bf62-4525-9cd9-5008bafe73c5",
|
||||
"name": "KEY_VALUE_STORE_TIMED_STORAGE_GBYTE_HOURS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.KEY_VALUE_STORE_TIMED_STORAGE_GBYTE_HOURS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "6d1997f2-46c0-468b-b50f-fc37512417d2",
|
||||
"name": "KEY_VALUE_STORE_WRITES",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.KEY_VALUE_STORE_WRITES.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "b579cb9e-d18f-4877-b808-a177195a364a",
|
||||
"name": "PAID_ACTORS_PER_DATASET_ITEM",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.PAID_ACTORS_PER_DATASET_ITEM.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "5c69831c-3c62-421d-afff-bd8cfb68fb29",
|
||||
"name": "REQUEST_QUEUE_READS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.REQUEST_QUEUE_READS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "21d54d4d-515b-4fa7-b099-c8b193fc4436",
|
||||
"name": "=REQUEST_QUEUE_TIMED_STORAGE_GBYTE_HOURS",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.REQUEST_QUEUE_TIMED_STORAGE_GBYTE_HOURS.amountAfterVolumeDiscountUsd }}"
|
||||
},
|
||||
{
|
||||
"id": "68168fc6-0052-4fa6-b631-942d972af340",
|
||||
"name": "REQUEST_QUEUE_WRITES",
|
||||
"type": "number",
|
||||
"value": "={{ $('Get Usage Metrics').item.json.data.monthlyServiceUsage.REQUEST_QUEUE_WRITES.amountAfterVolumeDiscountUsd }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "dee72606-aeea-41bf-97e3-037afbd03efc",
|
||||
"name": "Get Usage Limits",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1060,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.apify.com/v2/users/me/limits",
|
||||
"options": {},
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "SV9BDKc1cRbZBeoL",
|
||||
"name": "Apify.com (personal token)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "49715bf8-56a9-41ee-a756-eb05ea4f1e7d",
|
||||
"name": "Usage Report",
|
||||
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
|
||||
"position": [
|
||||
-140,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"name": "Apfiy_Usage_Metrics",
|
||||
"workflowId": {
|
||||
"__rl": true,
|
||||
"mode": "id",
|
||||
"value": "={{ $workflow.id }}"
|
||||
},
|
||||
"description": "Returns current month's usage metrics.",
|
||||
"workflowInputs": {
|
||||
"value": {
|
||||
"urls": "null",
|
||||
"query": "null",
|
||||
"operation": "=usage_report"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "operation",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "operation",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "query",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "query",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "urls",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"required": false,
|
||||
"displayName": "urls",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "737eca46-cb1f-443f-8243-33d429f0bfe3",
|
||||
"name": "Get Usage Metrics",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
860,
|
||||
500
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.apify.com/v2/users/me/usage/monthly",
|
||||
"options": {},
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "SV9BDKc1cRbZBeoL",
|
||||
"name": "Apify.com (personal token)"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "90da2c29-a1fc-4772-a271-602cdd14b679",
|
||||
"name": "Apify Youtube MCP Server",
|
||||
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
|
||||
"position": [
|
||||
-300,
|
||||
60
|
||||
],
|
||||
"webhookId": "b975bb25-be7c-49fb-8cd2-8e135d91ed4e",
|
||||
"parameters": {
|
||||
"path": "b975bb25-be7c-49fb-8cd2-8e135d91ed4e"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b427a01f-099d-43f8-8b8d-04186a5d330e",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-960,
|
||||
-460
|
||||
],
|
||||
"parameters": {
|
||||
"width": 480,
|
||||
"height": 1020,
|
||||
"content": "## Try It Out!\n### This n8n demonstrates how to build a simple Youtube Search MCP server to look up videos on Youtube and download their transcripts for research purposes.\n\n### How it works\n* A MCP server trigger is used and connected to 3 custom workflow tools: Youtube Search, Youtube Transcripts and Usage Reports.\n* Both Youtube tools use an external scraping service called [APIFY.com](https://www.apify.com?fpr=414q6). This is my preference as it's a much simpler interface and there are no rate limits. \n* The Youtube Search fetches 10 results based on the user's query.\n* The Youtube Transcripts downloads the subtitles from one or more given urls.\n* The usage reports pulls in your monthly [APIFY.com](https://www.apify.com?fpr=414q6) monthly spending and limits as a way to check your account.\n\n### How to use\n* This Apify Youtube MCP server allows any compatible MCP client to research youtube videos for any desired topic. An Apify account is required however to connect and use the service.\n* Connect your MCP client by following the n8n guidelines here - https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/#integrating-with-claude-desktop\n* Alternatively, connect any n8n AI agent with the MCP client tool.\n* Try the following queries in your MCP client:\n * \"what is MCP?\"\n * \"How can I use MCP in n8n?\"\n * \"How can I use Apify's official MCP server?\"\n\n### Requirements\n* [APIFY.com](https://www.apify.com?fpr=414q6) for Youtube Scraping. This is a paid service but there is a $5 free tier which is ample for this template.\n* MCP Client or Agent for usage such as Claude Desktop - https://claude.ai/download\n\n### Customising this workflow\n* Add as many [APIFY.com](https://www.apify.com?fpr=414q6) actors as required for your use-case or users. Consider using Apify's official MCP server for 4000+ available tools.\n* Remember to set the MCP server to require credentials before going to production and sharing this MCP server with others!"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "e11a8af0-0a53-4b9b-a499-4bbd956858f8",
|
||||
"name": "Sticky Note4",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
260,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"width": 280,
|
||||
"height": 240,
|
||||
"content": "[](https://www.apify.com?fpr=414q6)"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"pinData": {},
|
||||
"connections": {
|
||||
"Operation": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Apify Youtube Search",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Apify Youtube Transcripts",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Get Usage Metrics",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Usage Report": {
|
||||
"ai_tool": [
|
||||
[
|
||||
{
|
||||
"node": "Apify Youtube MCP Server",
|
||||
"type": "ai_tool",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Youtube Search": {
|
||||
"ai_tool": [
|
||||
[
|
||||
{
|
||||
"node": "Apify Youtube MCP Server",
|
||||
"type": "ai_tool",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Usage Limits": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Simplify Usage Metrics",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Usage Metrics": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Usage Limits",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Youtube Transcripts": {
|
||||
"ai_tool": [
|
||||
[
|
||||
{
|
||||
"node": "Apify Youtube MCP Server",
|
||||
"type": "ai_tool",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Apify Youtube Search": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Simplify Search Results",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Simplify Search Results": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Aggregate Search Results",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Apify Youtube Transcripts": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Simplify Transcript Results",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Simplify Transcript Results": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Aggregate Transcript Results",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"When Executed by Another Workflow": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Operation",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
174
workflows/Http/0901_HTTP_GoogleSheets_Automate_Webhook.json
Normal file
174
workflows/Http/0901_HTTP_GoogleSheets_Automate_Webhook.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"name": "AccountCraft WhatsApp Automation - Infridet",
|
||||
"nodes": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Webhook - Lead Capture",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
250,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"path": "lead-capture",
|
||||
"responseMode": "onReceived"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"name": "Google Sheets - Backup Log",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
500,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"range": "Leads!A1",
|
||||
"options": {},
|
||||
"sheetId": "your_google_sheet_id_here",
|
||||
"valueInputMode": "USER_ENTERED"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google Account"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"name": "FluentCRM - Add Contact",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
500,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://your-crm-domain.com/wp-json/fluent-crm/v2/contacts",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "{\n \"email\": \"{{$json[\"email\"]}}\",\n \"first_name\": \"{{$json[\"name\"]}}\",\n \"tags\": [\"New Lead\"]\n}"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"user": "your_crm_api_user",
|
||||
"password": "your_crm_api_key"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"name": "Send Warmup Email",
|
||||
"type": "n8n-nodes-base.emailSend",
|
||||
"position": [
|
||||
750,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"text": "Hey {{$json[\"name\"]}},\n\nThanks for joining Account Craft! We’ll help you build your YouTube channel and earn like a pro. Stay tuned. 🔥\n\nCheers,\nGyan",
|
||||
"subject": "Welcome to Account Craft 🚀",
|
||||
"toEmail": "={{$json[\"email\"]}}",
|
||||
"fromEmail": "your@email.com"
|
||||
},
|
||||
"credentials": {
|
||||
"smtp": "SMTP Account"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Send WhatsApp via Whinta",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1000,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.whinta.com/send",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "{\n \"phone\": \"{{$json[\"phone\"]}}\",\n \"message\": \"Hey {{$json[\"name\"]}}, Gyan here from Account Craft 👋 Just saw your form – want help starting your YouTube channel?\"\n}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"name": "Update CRM Tag to Customer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1250,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://your-crm-domain.com/wp-json/fluent-crm/v2/contacts/update",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "{\n \"email\": \"{{$json[\"email\"]}}\",\n \"tags\": [\"Customer\"]\n}"
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"user": "your_crm_api_user",
|
||||
"password": "your_crm_api_key"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"versionId": "1",
|
||||
"connections": {
|
||||
"Send Warmup Email": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send WhatsApp via Whinta",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook - Lead Capture": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets - Backup Log",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "FluentCRM - Add Contact",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Send WhatsApp via Whinta": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update CRM Tag to Customer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Sheets - Backup Log": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send Warmup Email",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
280
workflows/Http/0934_HTTP_Code_Automate_Webhook.json
Normal file
280
workflows/Http/0934_HTTP_Code_Automate_Webhook.json
Normal file
@@ -0,0 +1,280 @@
|
||||
{
|
||||
"id": "3McL3itHTso0Cy10",
|
||||
"meta": {
|
||||
"instanceId": "14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Automated PDF to HTML Conversion",
|
||||
"tags": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "43950636-79d1-43c3-b5a1-44ace016257d",
|
||||
"name": "Google Drive Trigger",
|
||||
"type": "n8n-nodes-base.googleDriveTrigger",
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"event": "fileCreated",
|
||||
"options": {},
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"triggerOn": "specificFolder",
|
||||
"folderToWatch": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleDriveOAuth2Api": {
|
||||
"id": "",
|
||||
"name": ""
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "b5e1c616-a809-4e38-a1dd-0f91123bd846",
|
||||
"name": "If",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
220,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"conditions": {
|
||||
"options": {
|
||||
"version": 2,
|
||||
"leftValue": "",
|
||||
"caseSensitive": true,
|
||||
"typeValidation": "strict"
|
||||
},
|
||||
"combinator": "and",
|
||||
"conditions": [
|
||||
{
|
||||
"id": "4fd733d3-d393-4aea-bc25-c1e8bda32b54",
|
||||
"operator": {
|
||||
"type": "string",
|
||||
"operation": "equals"
|
||||
},
|
||||
"leftValue": "={{ $json.mimeType }}",
|
||||
"rightValue": "application/pdf"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.2
|
||||
},
|
||||
{
|
||||
"id": "d13a2481-9c21-43f0-beb8-1881b6a6843b",
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
480,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.pdf.co/v1/pdf/convert/to/html",
|
||||
"method": "POST",
|
||||
"options": {
|
||||
"redirect": {
|
||||
"redirect": {}
|
||||
}
|
||||
},
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"bodyParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "url",
|
||||
"value": "={{ $json.webViewLink }}"
|
||||
},
|
||||
{
|
||||
"name": "inline",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"name": "async",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"name": "unwrap"
|
||||
},
|
||||
{
|
||||
"name": "pages",
|
||||
"value": "0-"
|
||||
},
|
||||
{
|
||||
"name": "rect"
|
||||
},
|
||||
{
|
||||
"name": "async",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"value": "result.csv"
|
||||
},
|
||||
{
|
||||
"name": "password"
|
||||
},
|
||||
{
|
||||
"name": "lineGrouping"
|
||||
},
|
||||
{
|
||||
"name": "profiles"
|
||||
}
|
||||
]
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "zTHQFpHDdUNXJ49g",
|
||||
"name": "Header Auth account 2"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "66d49dae-d282-4854-8674-69784110ee0b",
|
||||
"name": "Google Drive",
|
||||
"type": "n8n-nodes-base.googleDrive",
|
||||
"position": [
|
||||
1080,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"name": "sample.html",
|
||||
"driveId": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": "",
|
||||
"__regex": "https:\\/\\/drive\\.google\\.com(?:\\/.*|)\\/folders\\/([0-9a-zA-Z\\-_]+)(?:\\/.*|)"
|
||||
},
|
||||
"options": {},
|
||||
"folderId": {
|
||||
"__rl": true,
|
||||
"mode": "url",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleDriveOAuth2Api": {
|
||||
"id": "",
|
||||
"name": ""
|
||||
}
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "461222d4-7a73-412f-aceb-81745f17f7ea",
|
||||
"name": "Convert to Binary File",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"position": [
|
||||
780,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"jsCode": "// Convert the HTML string to a Buffer\nconst buffer = Buffer.from($json.body, 'utf-8');\n\n// Return the buffer as binary data\nreturn [\n {\n binary: {\n data: {\n data: buffer.toString('base64'), // Convert buffer to base64 string\n mimeType: 'text/html',\n fileName: 'sample.html'\n }\n }\n }\n];\n"
|
||||
},
|
||||
"typeVersion": 2
|
||||
},
|
||||
{
|
||||
"id": "543dd2ff-011f-4f83-a5c7-ffb80fc3910d",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-60,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1340,
|
||||
"height": 280,
|
||||
"content": "## Automated PDF to HTML Conversion\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f0d02b89-71d2-4239-833d-9e5235024291",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-60,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1340,
|
||||
"height": 180,
|
||||
"content": "## Description: \nThis n8n workflow automates the process of converting a newly stored PDF file from Google Drive into an HTML file and saving it back to Google Drive. The workflow is triggered whenever a new PDF is uploaded to a specific folder, ensuring seamless conversion and storage without any manual intervention.\n\nThis workflow provides an efficient, automated solution for converting PDFs to HTML, eliminating the need for manual file handling and ensuring a smooth document transformation process. It is particularly useful for scenarios where PDFs need to be dynamically converted and stored in an organized manner for web usage, archiving, or further processing.\n\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "224c9b46-dc5e-44de-8ec4-956d48f4f4f1",
|
||||
"connections": {
|
||||
"If": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Convert to Binary File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Drive Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "If",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Convert to Binary File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Drive",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
431
workflows/Http/0935_HTTP_GoogleSheets_Sync_Webhook.json
Normal file
431
workflows/Http/0935_HTTP_GoogleSheets_Sync_Webhook.json
Normal file
@@ -0,0 +1,431 @@
|
||||
{
|
||||
"id": "3",
|
||||
"name": "Clockify to Syncro",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
280,
|
||||
350
|
||||
],
|
||||
"webhookId": "82b654d7-aeb2-4cc1-97a8-0ebd1a729202",
|
||||
"parameters": {
|
||||
"path": "82b654d7-aeb2-4cc1-97a8-0ebd1a729202",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseData": "allEntries",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1830,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:B",
|
||||
"options": {
|
||||
"valueInputMode": "USER_ENTERED"
|
||||
},
|
||||
"sheetId": "xxx",
|
||||
"operation": "append"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "ForGoogle",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1650,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Syncro",
|
||||
"value": "={{$json[\"id\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Clockify",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"id\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "ForSyncro",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
730,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "id",
|
||||
"value": "={{ $json[\"body\"][\"project\"][\"name\"].match(/\\[(\\d+)]/)[1] }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "FindMatch",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
1130,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"range": "A:B",
|
||||
"options": {
|
||||
"valueRenderMode": "UNFORMATTED_VALUE",
|
||||
"returnAllMatches": true
|
||||
},
|
||||
"sheetId": "xxx",
|
||||
"operation": "lookup",
|
||||
"lookupValue": "={{$node[\"Webhook\"].json[\"body\"][\"id\"]}}",
|
||||
"lookupColumn": "=Clockify"
|
||||
},
|
||||
"credentials": {
|
||||
"googleApi": "Google"
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1300,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [],
|
||||
"boolean": [
|
||||
{
|
||||
"value1": "={{!!Object.keys($node[\"FindMatch\"].data).length}}",
|
||||
"value2": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": false
|
||||
},
|
||||
{
|
||||
"name": "NewSyncroTimer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1490,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets/{{$node[\"ForSyncro\"].json[\"id\"]}}/timer_entry",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "start_at",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"timeInterval\"][\"start\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "end_at",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"timeInterval\"][\"end\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "notes",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"description\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "={{$node[\"MatchTechnician\"].json[\"id\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "UpdateSyncroTimer",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1490,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"EnvVariables\"].json[\"syncro_baseurl\"]}}/api/v1/tickets/{{$node[\"ForSyncro\"].json[\"id\"]}}/update_timer_entry",
|
||||
"options": {
|
||||
"followRedirect": true
|
||||
},
|
||||
"requestMethod": "PUT",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "timer_entry_id",
|
||||
"value": "={{$node[\"IF\"].json[\"Syncro\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "start_time",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"timeInterval\"][\"start\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "end_time",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"timeInterval\"][\"end\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "notes",
|
||||
"value": "={{$node[\"Webhook\"].json[\"body\"][\"description\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"value": "={{$node[\"MatchTechnician\"].json[\"id\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Syncro"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "EnvVariables",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
580,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "syncro_baseurl",
|
||||
"value": "https://subdomain.syncromsp.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "SetTechnicians",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
870,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Tech 1",
|
||||
"value": "1234"
|
||||
},
|
||||
{
|
||||
"name": "Tech 2",
|
||||
"value": "5678"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "MatchTechnician",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1000,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "\nconst results = [];\n\nconst user = $node[\"Webhook\"].json[\"body\"][\"user\"];\n\nconst persons = items[0].json\n\nfor (key of Object.keys(persons)) {\n if (key === user.name) {\n results.push({ json: { id: persons[key], name: key } })\n }\n}\n\nreturn results;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF1",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
420,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"body\"][\"project\"][\"name\"]}}",
|
||||
"value2": "Ticket",
|
||||
"operation": "contains"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
480,
|
||||
520
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "UpdateSyncroTimer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NewSyncroTimer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"IF1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "EnvVariables",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"FindMatch": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ForGoogle": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ForSyncro": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "SetTechnicians",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"EnvVariables": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ForSyncro",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"NewSyncroTimer": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ForGoogle",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"SetTechnicians": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "MatchTechnician",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"MatchTechnician": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "FindMatch",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
108
workflows/Http/0936_HTTP_Lingvanex_Automation_Webhook.json
Normal file
108
workflows/Http/0936_HTTP_Lingvanex_Automation_Webhook.json
Normal file
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"id": "3",
|
||||
"name": "Daily poems in Telegram",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
-250,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
350,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=✒️ Poem of the day:\n{{$node[\"HTTP Request\"].json[\"0\"][\"title\"]}} by {{$node[\"HTTP Request\"].json[\"0\"][\"poet\"][\"name\"]}}\n\n{{$node[\"HTTP Request\"].json[\"0\"][\"content\"]}}\n☁️",
|
||||
"chatId": "123456789",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "telegram_bot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-50,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.poemist.com/api/v1/randompoems",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "LingvaNex",
|
||||
"type": "n8n-nodes-base.lingvaNex",
|
||||
"position": [
|
||||
150,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{$node[\"HTTP Request\"].json[\"0\"][\"content\"]}}",
|
||||
"options": {},
|
||||
"translateTo": "en_GB"
|
||||
},
|
||||
"credentials": {
|
||||
"lingvaNexApi": "lingvanex_API"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"LingvaNex": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "LingvaNex",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
72
workflows/Http/0937_HTTP_Editimage_Update_Webhook.json
Normal file
72
workflows/Http/0937_HTTP_Editimage_Update_Webhook.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
700,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"path": "test",
|
||||
"responseData": "firstEntryBinary",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Edit Image",
|
||||
"type": "n8n-nodes-base.editImage",
|
||||
"position": [
|
||||
1100,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=They found the killer it was {{$node[\"Webhook\"].data[\"query\"][\"name\"]}}!",
|
||||
"fontSize": "=25",
|
||||
"operation": "text",
|
||||
"positionX": 150,
|
||||
"positionY": 180,
|
||||
"lineLength": 18
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Read File URL",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
900,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.needpix.com/file_download.php?url=//storage.needpix.com/thumbs/newspaper-412809_1280.jpg",
|
||||
"responseFormat": "file"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Read File URL",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Read File URL": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Edit Image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
188
workflows/Http/0939_HTTP_Cron_Automation_Webhook.json
Normal file
188
workflows/Http/0939_HTTP_Cron_Automation_Webhook.json
Normal file
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"id": 3,
|
||||
"name": "NameCheap Dynamic DNS (DDNS)",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
380,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyX",
|
||||
"unit": "minutes",
|
||||
"value": 15
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Checks IP if new",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
740,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const staticData = getWorkflowStaticData('global');\nconst newItem = items.map(item => item.json[\"ip\"]);\nconst ildItem = staticData.ildItem; \n\nif (!ildItem) {\n staticData.ildItem = newItem;\n return items;\n}\n\n\nconst actualnewItem = newItem.filter((id) => !ildItem.includes(id));\nconst actualItem = items.filter((data) => actualnewItem.includes(data.json['ip']));\nstaticData.ildItem = [...actualnewItem, ...ildItem];\n\nreturn actualItem;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "subdomains",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1100,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json = {\n value: [\n {id: \"subdomain1\"},\n {id: \"subdomain2\"},\n {id: \"subdomain3\"}\n ]\n};\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Loops trough Subdomain list",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1280,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const newItems = [];\n\nfor (const item of items[0].json.value) {\n newItems.push({json: item});\n}\n\nreturn newItems;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send data to Namecheap",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1460,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://dynamicdns.park-your-domain.com/update?host={{$node[\"Loops trough Subdomain list\"].parameter[\"functionCode\"]}}test&domain={{$node[\"yourdomain.com\"].parameter[\"values\"][\"string\"][0][\"value\"]}}&password={{$node[\"yourdomain.com\"].parameter[\"values\"][\"string\"][1][\"value\"]}}&ip={{$node[\"Get Public IP address\"].json[\"ip\"]}}",
|
||||
"options": {},
|
||||
"responseFormat": "string"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get Public IP address",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
560,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.ipify.org?format=json",
|
||||
"options": {},
|
||||
"jsonParameters": true,
|
||||
"allowUnauthorizedCerts": true
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 1,
|
||||
"continueOnFail": true
|
||||
},
|
||||
{
|
||||
"name": "yourdomain.com",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
920,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "domain",
|
||||
"value": "yourdomain.com"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"value": "your-namecheap-ddns-password"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Public IP address",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"subdomains": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Loops trough Subdomain list",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"yourdomain.com": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "subdomains",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Checks IP if new": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "yourdomain.com",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Public IP address": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Checks IP if new",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Loops trough Subdomain list": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send data to Namecheap",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
80
workflows/Http/0952_HTTP_Medium_Automation_Webhook.json
Normal file
80
workflows/Http/0952_HTTP_Medium_Automation_Webhook.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Medium",
|
||||
"type": "n8n-nodes-base.medium",
|
||||
"position": [
|
||||
650,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"title": "={{$json[\"body\"][\"entry\"][\"Title\"]}}",
|
||||
"content": "={{$json[\"body\"][\"entry\"][\"PostContent\"]}}",
|
||||
"contentFormat": "markdown",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mediumApi": "Medium Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"webhookId": "",
|
||||
"parameters": {
|
||||
"path": "",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"authentication": "headerAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Strapi Webhook Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
650,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://dev.to/api/articles",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"authentication": "headerAuth",
|
||||
"jsonParameters": true,
|
||||
"bodyParametersJson": "={\n\t\"article\": {\n\t\t\"title\": \"{{$json[\"body\"][\"entry\"][\"Title\"]}}\",\n\t\t\"published\": true,\n\t\t\"body_markdown\": \"{{$json[\"body\"][\"entry\"][\"PostContent\"]}}\",\n\t\t\"tags\":[\"{{$json[\"body\"][\"entry\"][\"Tag\"]}}\"]\n\t}\n}",
|
||||
"headerParametersJson": "{\"Content-Type\": \"application/json\"}"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Dev.to Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Medium",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
49
workflows/Http/0955_HTTP_Automation_Webhook.json
Normal file
49
workflows/Http/0955_HTTP_Automation_Webhook.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.digitalocean.com/v2/droplets",
|
||||
"options": {
|
||||
"bodyContentType": "json"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "name",
|
||||
"value": "API-creation-test"
|
||||
},
|
||||
{
|
||||
"name": "region",
|
||||
"value": "blr1"
|
||||
},
|
||||
{
|
||||
"name": "size",
|
||||
"value": "s-1vcpu-1gb"
|
||||
},
|
||||
{
|
||||
"name": "image",
|
||||
"value": "ubuntu-20-04-x64"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "Bearer {your_personal_access_token}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Read Binary File",
|
||||
"type": "n8n-nodes-base.readBinaryFile",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"filePath": "/data/demo1.wav"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.wit.ai/speech?v=20200513",
|
||||
"options": {
|
||||
"bodyContentType": "raw"
|
||||
},
|
||||
"requestMethod": "POST",
|
||||
"jsonParameters": true,
|
||||
"sendBinaryData": true,
|
||||
"headerParametersJson": "={{JSON.parse('{\"Authorization\":\"Bearer {your_token_goes_here}\", \"Content-Type\":\"audio/wav\"}')}}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Read Binary File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
131
workflows/Http/0964_HTTP_Bannerbear_Automation_Scheduled.json
Normal file
131
workflows/Http/0964_HTTP_Bannerbear_Automation_Scheduled.json
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"id": "46",
|
||||
"name": "Cocktail Recipe Sharing",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Bannerbear",
|
||||
"type": "n8n-nodes-base.bannerbear",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"templateId": "",
|
||||
"modificationsUi": {
|
||||
"modificationsValues": [
|
||||
{
|
||||
"name": "cocktail-image",
|
||||
"imageUrl": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrinkThumb\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"text": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrink\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "recipe",
|
||||
"text": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strInstructions\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"additionalFields": {
|
||||
"waitForImage": true
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"bannerbearApi": "Bannerbear"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.thecocktaildb.com/api/json/v1/1/random.php",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
250,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 18,
|
||||
"mode": "everyWeek",
|
||||
"weekday": "5"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Rocketchat",
|
||||
"type": "n8n-nodes-base.rocketchat",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"channel": "",
|
||||
"options": {},
|
||||
"attachments": [
|
||||
{
|
||||
"imageUrl": "={{$node[\"Bannerbear\"].json[\"image_url\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"credentials": {
|
||||
"rocketchatApi": "Rocket"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Bannerbear": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Rocketchat",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Bannerbear",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
171
workflows/Http/0966_HTTP_Discord_Import_Scheduled.json
Normal file
171
workflows/Http/0966_HTTP_Discord_Import_Scheduled.json
Normal file
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "@Get Issue",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"maxTries": 3,
|
||||
"position": [
|
||||
1050,
|
||||
590
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.github.com/notifications",
|
||||
"options": {},
|
||||
"authentication": "basicAuth",
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "since",
|
||||
"value": "={{$node[\"@Get Date 1 min ago\"].json[\"since\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "User-Agent",
|
||||
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpBasicAuth": "Github Auth"
|
||||
},
|
||||
"retryOnFail": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
710,
|
||||
590
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyX",
|
||||
"unit": "minutes",
|
||||
"value": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Discord",
|
||||
"type": "n8n-nodes-base.discord",
|
||||
"position": [
|
||||
1610,
|
||||
580
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=Notifications In last minutes: <@userIdForTagging>\n{{$node[\"Function\"].json[\"reportMessage\"]}}"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Function",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1230,
|
||||
590
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const newItems = [];\n\nfor (const item of items[0].json) {\n newItems.push(`- [${item.reason}] => ${item.subject.title} @ ${item.subject.url.replace('api.','').replace('/repos','')}`);\n }\n\nreturn [{json: {reportMessage: `${newItems.join('\\r\\n')}`, hasNotifications: items[0].json.length > 0}}];\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
1400,
|
||||
590
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"boolean": [
|
||||
{
|
||||
"value1": "={{$node[\"Function\"].json[\"hasNotifications\"]}}",
|
||||
"value2": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "@Get Date 1 min ago",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
860,
|
||||
590
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const date = new Date(new Date().setMinutes(new Date().getMinutes() - (1))).toISOString()\nreturn [{json: {since: date}}];"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Discord",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "@Get Date 1 min ago",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Function": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"@Get Issue": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Function",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"@Get Date 1 min ago": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "@Get Issue",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
377
workflows/Http/0970_HTTP_Schedule_Create_Webhook.json
Normal file
377
workflows/Http/0970_HTTP_Schedule_Create_Webhook.json
Normal file
@@ -0,0 +1,377 @@
|
||||
{
|
||||
"id": "4AG83ybt0S3WQbkS",
|
||||
"meta": {
|
||||
"instanceId": "a943fc71a4dfb51cc3424882233bcd72e7a73857958af1cf464f7c21580c726e",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Daily AI News Translation & Summary with GPT-4 and Telegram Delivery",
|
||||
"tags": [
|
||||
{
|
||||
"id": "WuWMTipHMvadNrvh",
|
||||
"name": "Other",
|
||||
"createdAt": "2025-04-18T13:34:41.761Z",
|
||||
"updatedAt": "2025-04-18T13:34:41.761Z"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "894ceed6-8fcd-484e-bf6f-9c3eee81119e",
|
||||
"name": "Workflow Overview",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-40,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"color": 7,
|
||||
"width": 720,
|
||||
"height": 600,
|
||||
"content": "### Setup\n\n1. **Add NewsAPI and GNews API Keys**\n - Register for accounts on [NewsAPI.org](https://newsapi.org/) and [GNews](https://gnews.io/) to obtain your API keys.\n - Input your NewsAPI key directly into the `Fetch NewsAPI articles` node.\n - Input your GNews API key into the `Fetch GNews articles` node.\n2. **Set up your Telegram Bot**\n - Create a Telegram Bot via [BotFather](https://core.telegram.org/bots#6-botfather) and copy the generated Bot Token.\n - In n8n, create Telegram Bot credentials using this token.\n - In the `Send summary to Telegram` node, enter the chat ID of your target user, group, or channel to receive the messages.\n3. **Configure OpenAI Credentials**\n - In n8n, create a new credential using your OpenAI API key.\n - Assign this credential to the `GPT-4.1 Model` node (or equivalent OpenAI/AI nodes).\n\nAfter completing these steps, your workflow is fully configured to fetch, summarize, and deliver daily AI news to your selected Telegram chat automatically.\n\n### How to customize this workflow\n\n- **Change the topic:** Update the keywords in the NewsAPI and GNews nodes for other subjects (e.g., “blockchain”, “quantum computing”).\n- **Adjust delivery time:** Modify the scheduled trigger to your preferred hour.\n- **Tweak summary style or language:** Refine the prompt in the AI summarizer node for different tones or translate into other languages as needed."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9de68856-a2e1-4b06-a738-92e8db23f9ea",
|
||||
"name": "Trigger at 8am daily",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
760,
|
||||
520
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"triggerAtHour": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "d2a13562-9f21-4f99-8698-d5ba58245b02",
|
||||
"name": "Fetch GNews articles",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
980,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://gnews.io/api/v4/search",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "q",
|
||||
"value": "AI"
|
||||
},
|
||||
{
|
||||
"name": "lang",
|
||||
"value": "en"
|
||||
},
|
||||
{
|
||||
"name": "apikey"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "0895bda6-5268-4454-a49f-732a3025947b",
|
||||
"name": "Fetch NewsAPI articles",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
980,
|
||||
620
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://newsapi.org/v2/everything",
|
||||
"options": {},
|
||||
"sendQuery": true,
|
||||
"sendHeaders": true,
|
||||
"queryParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "q",
|
||||
"value": "AI"
|
||||
},
|
||||
{
|
||||
"name": "language",
|
||||
"value": "en"
|
||||
},
|
||||
{
|
||||
"name": "sortBy",
|
||||
"value": "publishedAt"
|
||||
},
|
||||
{
|
||||
"name": "pageSize",
|
||||
"value": "20"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "X-Api-Key"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "3cd42b1a-348a-486d-8217-592ce2b35e6c",
|
||||
"name": "GNews: Map to articles",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1200,
|
||||
420
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"name": "articles",
|
||||
"type": "string",
|
||||
"value": "={{ $json.articles }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "40692e2f-9289-448b-a5cb-ce4846b20264",
|
||||
"name": "NewsAPI: Map to articles",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1200,
|
||||
620
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"name": "articles",
|
||||
"type": "string",
|
||||
"value": "={{ $json.articles }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "d42b4e2d-87f4-4a0e-a6c3-ab1b3501bcfa",
|
||||
"name": "Merge GNews & NewsAPI",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
1420,
|
||||
520
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 3.1
|
||||
},
|
||||
{
|
||||
"id": "985ec49b-b127-44b9-8f63-62486d0bf864",
|
||||
"name": "Sticky: News APIs",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
900,
|
||||
210
|
||||
],
|
||||
"parameters": {
|
||||
"color": 5,
|
||||
"width": 480,
|
||||
"height": 570,
|
||||
"content": "### Data Source Nodes\n- `Fetch GNews articles` and `Fetch NewsAPI articles` get up to 20 latest AI-related English news each from two different APIs using your API keys.\n- Both sources are standardized to an `articles` property for merging.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "430c8ddc-948e-4770-b816-591c6c43c617",
|
||||
"name": "AI summarizer & translator",
|
||||
"type": "@n8n/n8n-nodes-langchain.agent",
|
||||
"position": [
|
||||
1640,
|
||||
520
|
||||
],
|
||||
"parameters": {
|
||||
"text": "=You are an AI news assistant. Your tasks:\n1. Select the 15 most relevant articles on AI technology progress and applications from {{$json.articles}}.\n2. Translate them to accurate Traditional Chinese; don't translate commonly used technical English terms.\n3. Make sure to include the article URL for each item.\n4. Begin output with today's date (e.g., '早安,這是 {{ $now.format('yyyy/MM/dd') }} 的 AI 新聞:')\nOutput only the summary.",
|
||||
"options": {},
|
||||
"promptType": "define"
|
||||
},
|
||||
"typeVersion": 1.8
|
||||
},
|
||||
{
|
||||
"id": "5dfacf8a-25d4-43fd-9b96-a34eeed45d39",
|
||||
"name": "GPT-4.1 Model",
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"position": [
|
||||
1728,
|
||||
740
|
||||
],
|
||||
"parameters": {
|
||||
"model": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "gpt-4.1",
|
||||
"cachedResultName": "gpt-4.1"
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "RjawTJt2ILjgM4Wx",
|
||||
"name": "[Template] OpenAi account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "66fedd82-5fbf-4d17-a7f5-78c41d7d5949",
|
||||
"name": "Sticky: AI Processing",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
1568,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"color": 2,
|
||||
"width": 400,
|
||||
"height": 580,
|
||||
"content": "### AI Assistant Logic\nThe summarization uses the latest GPT-4.1 model to select, translate, and enrich the top 15 AI news links from both GNews and NewsAPI. Controlled by a tailored prompt for concise, readable output."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "7a742531-4a08-408e-8b2c-558be75c1a8f",
|
||||
"name": "Send summary to Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
2016,
|
||||
520
|
||||
],
|
||||
"webhookId": "21eb8e1c-87de-45af-888d-699fbd443bc8",
|
||||
"parameters": {
|
||||
"text": "={{ $json.output }}",
|
||||
"additionalFields": {
|
||||
"appendAttribution": false
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": {
|
||||
"id": "tpF8PHPxMfdld3NA",
|
||||
"name": "[Template] Telegram Bot"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "deee909a-9cfe-409d-8201-b9b7194ec9bc",
|
||||
"connections": {
|
||||
"GPT-4.1 Model": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "AI summarizer & translator",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Fetch GNews articles": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GNews: Map to articles",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Trigger at 8am daily": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch GNews articles",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Fetch NewsAPI articles",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Merge GNews & NewsAPI": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AI summarizer & translator",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Fetch NewsAPI articles": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "NewsAPI: Map to articles",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"GNews: Map to articles": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge GNews & NewsAPI",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"NewsAPI: Map to articles": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Merge GNews & NewsAPI",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"AI summarizer & translator": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send summary to Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
158
workflows/Http/1030_HTTP_Typeform_Monitor_Webhook.json
Normal file
158
workflows/Http/1030_HTTP_Typeform_Monitor_Webhook.json
Normal file
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"id": "55",
|
||||
"name": "Expense Tracker App",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Get Receipt",
|
||||
"type": "n8n-nodes-base.typeformTrigger",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"webhookId": "b51cc683-1ef6-412f-9885-91e65f151cc0",
|
||||
"parameters": {
|
||||
"formId": ""
|
||||
},
|
||||
"credentials": {
|
||||
"typeformApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get Image",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Get Receipt\"].json[\"Upload receipt\"]}}",
|
||||
"options": {},
|
||||
"responseFormat": "file"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Extract Information",
|
||||
"type": "n8n-nodes-base.mindee",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {},
|
||||
"credentials": {
|
||||
"mindeeReceiptApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set Information",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
1050,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "Amount",
|
||||
"value": "={{$node[\"Extract Information\"].json[\"total\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "Merchant",
|
||||
"value": "={{$node[\"Extract Information\"].json[\"merchant\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Date",
|
||||
"value": "={{$node[\"Extract Information\"].json[\"date\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Time",
|
||||
"value": "={{$node[\"Extract Information\"].json[\"time\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Receipt URL",
|
||||
"value": "={{$node[\"Get Receipt\"].json[\"Upload receipt\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "Category",
|
||||
"value": "={{$node[\"Extract Information\"].json[\"category\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Store Information",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
1250,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"table": "Expenses",
|
||||
"options": {},
|
||||
"operation": "append",
|
||||
"application": ""
|
||||
},
|
||||
"credentials": {
|
||||
"airtableApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Get Image": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Extract Information",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get Receipt": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Image",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Set Information": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Store Information",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Extract Information": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Information",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
83
workflows/Http/1043_HTTP_Telegram_Send_Webhook.json
Normal file
83
workflows/Http/1043_HTTP_Telegram_Send_Webhook.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"id": "57",
|
||||
"name": "Send a cocktail recipe every day via a Telegram",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
930,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"file": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrinkThumb\"]}}",
|
||||
"chatId": "-485396236",
|
||||
"operation": "sendPhoto",
|
||||
"additionalFields": {
|
||||
"caption": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strInstructions\"]}}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "telegram-bot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
530,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
730,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.thecocktaildb.com/api/json/v1/1/random.php",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
85
workflows/Http/1052_HTTP_Telegram_Update_Webhook.json
Normal file
85
workflows/Http/1052_HTTP_Telegram_Update_Webhook.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"id": "58",
|
||||
"name": "Receive updates from Telegram and send an image of a cocktail",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Telegram Trigger",
|
||||
"type": "n8n-nodes-base.telegramTrigger",
|
||||
"position": [
|
||||
570,
|
||||
260
|
||||
],
|
||||
"webhookId": "806cc2c6-c687-4022-a82e-658e4a684e73",
|
||||
"parameters": {
|
||||
"updates": [
|
||||
"message"
|
||||
],
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "telegram-bot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
770,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://www.thecocktaildb.com/api/json/v1/1/random.php",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Telegram",
|
||||
"type": "n8n-nodes-base.telegram",
|
||||
"position": [
|
||||
970,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"file": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrinkThumb\"]}}",
|
||||
"chatId": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"chat\"][\"id\"]}}",
|
||||
"operation": "sendPhoto",
|
||||
"additionalFields": {
|
||||
"caption": "={{$node[\"HTTP Request\"].json[\"drinks\"][0][\"strDrink\"]}}",
|
||||
"reply_to_message_id": "={{$node[\"Telegram Trigger\"].json[\"message\"][\"message_id\"]}}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"telegramApi": "telegram-bot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"HTTP Request": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Telegram",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Telegram Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
206
workflows/Http/1064_HTTP_Clockify_Update_Webhook.json
Normal file
206
workflows/Http/1064_HTTP_Clockify_Update_Webhook.json
Normal file
@@ -0,0 +1,206 @@
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Syncro Status Update Clockify",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
560,
|
||||
310
|
||||
],
|
||||
"webhookId": "3300d16f-5d43-4ae7-887e-376eecaeec17",
|
||||
"parameters": {
|
||||
"path": "4500d16f-5d43-4ae7-887e-376eecaeec17",
|
||||
"options": {},
|
||||
"httpMethod": "POST",
|
||||
"responseData": "allEntries",
|
||||
"responseMode": "lastNode"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Clockify",
|
||||
"type": "n8n-nodes-base.clockify",
|
||||
"position": [
|
||||
960,
|
||||
310
|
||||
],
|
||||
"parameters": {
|
||||
"operation": "getAll",
|
||||
"returnAll": true,
|
||||
"workspaceId": "xxx",
|
||||
"additionalFields": {
|
||||
"name": "=Ticket {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"number\"]}} - {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"customer_business_then_name\"]}} [{{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"id\"]}}]",
|
||||
"archived": true
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"clockifyApi": "Clockify"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1130,
|
||||
310
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.clockify.me/api/v1/workspaces/{{$node[\"Clockify\"].parameter[\"workspaceId\"]}}/projects/{{$json[\"id\"]}}",
|
||||
"options": {},
|
||||
"requestMethod": "PUT",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "archived",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"name": "isPublic",
|
||||
"value": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": []
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Clockify API"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF1",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
730,
|
||||
310
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"body\"][\"attributes\"][\"status\"]}}",
|
||||
"value2": "Resolved",
|
||||
"operation": "notEqual"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Clockify1",
|
||||
"type": "n8n-nodes-base.clockify",
|
||||
"position": [
|
||||
960,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"operation": "getAll",
|
||||
"returnAll": true,
|
||||
"workspaceId": "xxx",
|
||||
"additionalFields": {
|
||||
"name": "=Ticket {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"number\"]}} - {{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"customer_business_then_name\"]}} [{{$node[\"Webhook\"].json[\"body\"][\"attributes\"][\"id\"]}}]",
|
||||
"archived": false
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"clockifyApi": "Clockify"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "HTTP Request1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1130,
|
||||
540
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.clockify.me/api/v1/workspaces/{{$node[\"Clockify1\"].parameter[\"workspaceId\"]}}/projects/{{$node[\"Clockify1\"].json[\"id\"]}}",
|
||||
"options": {},
|
||||
"requestMethod": "PUT",
|
||||
"authentication": "headerAuth",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "archived",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"name": "isPublic",
|
||||
"value": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": []
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": "Clockify API"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Clockify",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Clockify1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Clockify": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Clockify1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
139
workflows/Http/1072_HTTP_Stickynote_Automation_Webhook.json
Normal file
139
workflows/Http/1072_HTTP_Stickynote_Automation_Webhook.json
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"id": "5uapJIjLLhwnhX0n",
|
||||
"meta": {
|
||||
"instanceId": "2b69b24ad1a51b447e1a0d6f8c70b16aca715ccfaf123eb531f92865766fce1c",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Perplexity Researcher",
|
||||
"tags": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "5790066d-4157-4844-aeaa-47706140ed7a",
|
||||
"name": "When Executed by Another Workflow",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"notes": "Find the latest content related to the field/knowledge you are interested in.\nIn-depth materials to prepare for the writing section",
|
||||
"position": [
|
||||
-60,
|
||||
-380
|
||||
],
|
||||
"parameters": {
|
||||
"inputSource": "passthrough"
|
||||
},
|
||||
"typeVersion": 1.1
|
||||
},
|
||||
{
|
||||
"id": "311eb2bf-3b79-46cf-abb1-9d90791167c3",
|
||||
"name": "Set Prompt Variables",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
220,
|
||||
-380
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "bab0ccff-a856-49d5-833b-80e65874475e",
|
||||
"name": "System",
|
||||
"type": "string",
|
||||
"value": "Assisstant is a language model. Assistant is designed to be able to assist with a wide range of task, form answering simple question to providing in-depth explanations and discussions on a wide range of topics. As a language model, assistant is able to generate human-like text based on the imput it receives, allowing it to engage in natural-sounding evoling. It’s able to process and understand large amounts of text, and can use this knowledge to provide accurate and informative responses to a wide range of question. Additionally, Assistant is able to generate its own text based on the imput it receives, allowing it to engage in discussions and provide explanations and description on a wide range of topics. Overall, Assistant is a powerfull system that can help with a wide range of task and provide valuable insights and information on a wide range of topics. What you need help with a specific question or just want to have a conversation about a particular topic, Assistant is here to assist"
|
||||
},
|
||||
{
|
||||
"id": "1a6d7638-e2a4-495c-92d4-e0626b676b18",
|
||||
"name": "User",
|
||||
"type": "string",
|
||||
"value": "={{ $json.query }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "4385053f-c9c8-4aae-b0d2-4cf7a7817164",
|
||||
"name": "Extract API Response",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
620,
|
||||
-380
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "c5869f36-70cb-439a-8ad0-0382b37f9798",
|
||||
"name": "Respone Message Content",
|
||||
"type": "string",
|
||||
"value": "={{ $json.choices[0].message.content }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "b8e3f54b-5148-4e04-a8b1-e3003a0ee128",
|
||||
"name": "Workflow Overview",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-160,
|
||||
-480
|
||||
],
|
||||
"parameters": {
|
||||
"width": 1080,
|
||||
"height": 300,
|
||||
"content": "## Perplexity Research Workflow Overview\nThis workflow takes a user query, formats it using a system prompt, and sends it to the Perplexity AI Sonar model for search.\nResponses are extracted and returned as clean output."
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "7b77de3d-279a-4c33-b4c1-a796ab94a7fa",
|
||||
"name": "Perplexity Research Content1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
420,
|
||||
-380
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.perplexity.ai/chat/completions",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"model\": \"sonar\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"{{ $json.System }}\"\n },\n {\n \"role\": \"user\",\n \"content\": \"{{ $json.User || $json.query || $json.question || $json['Research Query'] || 'No input provided' }}\"\n }\n ],\n \"max_tokens\": 4000,\n \"temperature\": 0.2,\n \"top_p\": 0.9,\n \"return_citations\": true,\n \"search_domain_filter\": [\n \"perplexity.ai\"\n ],\n \"return_images\": false,\n \"return_related_questions\": false,\n \"search_recency_filter\": \"month\",\n \"top_k\": 0,\n \"stream\": false,\n \"presence_penalty\": 0,\n \"frequency_penalty\": 1\n}\n\n",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "XTRc36olCHOn9XQP",
|
||||
"name": "Header Auth account 2"
|
||||
}
|
||||
},
|
||||
"notesInFlow": false,
|
||||
"typeVersion": 4.2
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"callerPolicy": "any",
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "d506eade-acc3-40ed-9dfc-909cdf373969",
|
||||
"connections": {
|
||||
"When Executed by Another Workflow": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set Prompt Variables",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
781
workflows/Http/1107_HTTP_GitHub_Automation_Webhook.json
Normal file
781
workflows/Http/1107_HTTP_GitHub_Automation_Webhook.json
Normal file
@@ -0,0 +1,781 @@
|
||||
{
|
||||
"id": "6",
|
||||
"name": "Dashboard",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
-290,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Dashboard Configuration",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"color": "#FF0000",
|
||||
"notes": "Update project settings",
|
||||
"position": [
|
||||
-10,
|
||||
180
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "dashboardHostname",
|
||||
"value": "http://192.168.0.14:8080"
|
||||
},
|
||||
{
|
||||
"name": "dashboardAuthToken",
|
||||
"value": "n8n-rocks!"
|
||||
},
|
||||
{
|
||||
"name": "product_hunt_post_id",
|
||||
"value": "170391"
|
||||
},
|
||||
{
|
||||
"name": "npm_package",
|
||||
"value": "n8n"
|
||||
},
|
||||
{
|
||||
"name": "docker_name",
|
||||
"value": "n8nio"
|
||||
},
|
||||
{
|
||||
"name": "docker_repository",
|
||||
"value": "n8n"
|
||||
},
|
||||
{
|
||||
"name": "github_owner",
|
||||
"value": "n8n-io"
|
||||
},
|
||||
{
|
||||
"name": "github_repo",
|
||||
"value": "n8n"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Retrieve Docker Data",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
260,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://hub.docker.com/v2/repositories/{{$node[\"Dashboard Configuration\"].json[\"docker_name\"]}}/{{$node[\"Dashboard Configuration\"].json[\"docker_repository\"]}}",
|
||||
"options": {},
|
||||
"queryParametersUi": {
|
||||
"parameter": []
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "User-Agent",
|
||||
"value": "n8n"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Docker Pulls",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
630,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/docker_pulls",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage Docker Data\"].json[\"pull_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Docker Stars",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
630,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/docker_stars",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage Docker Data\"].json[\"star_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Retrieve npm Data",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
250,
|
||||
50
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.npms.io/v2/package/{{$node[\"Dashboard Configuration\"].json[\"npm_package\"]}}",
|
||||
"options": {},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "User-Agent",
|
||||
"value": "n8n"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "GitHub Watchers",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
820,
|
||||
640
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/github_watchers",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage GitHub Data\"].json[\"subscribers_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "GitHub Forks",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
820,
|
||||
800
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/github_forks",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage GitHub Data\"].json[\"forks_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "GitHub Open Issues ",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
620,
|
||||
860
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/github_open_issues",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage GitHub Data\"].json[\"open_issues_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "GitHub Stars",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
620,
|
||||
560
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/github_stars",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage GitHub Data\"].json[\"stargazers_count\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "npm Maintenance",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
830,
|
||||
-90
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/npm_maintenance",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"maintenance\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "npm Popularity",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1030,
|
||||
0
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/npm_popularity",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"popularity\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "npm Quality",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
1030,
|
||||
150
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/npm_quality",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"quality\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "npm Final",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
830,
|
||||
190
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/npm_final",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"final\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Product Hunt Rating",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
630,
|
||||
-510
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/prod_hunt_rating",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"value": "={{$node[\"Retrieve Product Hunt Data\"].json[\"data\"][\"post\"][\"reviewsRating\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Product Hunt Reviews",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
830,
|
||||
-410
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/prod_hunt_reviews",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"reviewsCount\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Product Hunt Votes",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
830,
|
||||
-260
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/prod_hunt_votes",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"votesCount\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "Product Hunt Comments",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
630,
|
||||
-210
|
||||
],
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}/widgets/prod_hunt_comments",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"bodyParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "auth_token",
|
||||
"value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "current",
|
||||
"value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"commentsCount\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1,
|
||||
"alwaysOutputData": true
|
||||
},
|
||||
{
|
||||
"name": "GitHub",
|
||||
"type": "n8n-nodes-base.github",
|
||||
"color": "#FF0000",
|
||||
"position": [
|
||||
250,
|
||||
710
|
||||
],
|
||||
"parameters": {
|
||||
"owner": "={{$node[\"Dashboard Configuration\"].json[\"github_owner\"]}}",
|
||||
"resource": "repository",
|
||||
"operation": "get",
|
||||
"repository": "={{$node[\"Dashboard Configuration\"].json[\"github_repo\"]}}"
|
||||
},
|
||||
"credentials": {
|
||||
"githubApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Retrieve Product Hunt Data",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"color": "#FF0000",
|
||||
"notes": "Update authorization token",
|
||||
"position": [
|
||||
250,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.producthunt.com/v2/api/graphql",
|
||||
"options": {},
|
||||
"requestMethod": "POST",
|
||||
"queryParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "query",
|
||||
"value": "={\n post(id: {{$node[\"Dashboard Configuration\"].json[\"product_hunt_post_id\"]}}) {\n commentsCount\n votesCount\n reviewsCount\n reviewsRating\n name\n }\n}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"headerParametersUi": {
|
||||
"parameter": [
|
||||
{
|
||||
"name": "User-Agent",
|
||||
"value": "n8n"
|
||||
},
|
||||
{
|
||||
"name": "authorization",
|
||||
"value": "Bearer <Enter Product Hunt token here>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Massage npm Data",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
440,
|
||||
50
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.score.detail.maintenance = parseFloat(items[0].json.score.detail.maintenance.toFixed(2));\nitems[0].json.score.detail.popularity= parseFloat(items[0].json.score.detail.popularity.toFixed(2));\nitems[0].json.score.detail.quality= parseFloat(items[0].json.score.detail.quality.toFixed(2));\nitems[0].json.score.final= parseFloat(items[0].json.score.final.toFixed(2));\n\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Massage Product Hunt Data",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
440,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.data.post.commentsCount = items[0].json.data.post.commentsCount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.data.post.votesCount= items[0].json.data.post.votesCount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.data.post.reviewsCount= items[0].json.data.post.reviewsCount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\nreturn items;\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Massage Docker Data",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
460,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.star_count = items[0].json.star_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.pull_count = items[0].json.pull_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\nreturn items;\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Massage GitHub Data",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
450,
|
||||
710
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "items[0].json.stargazers_count = items[0].json.stargazers_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.subscribers_count = items[0].json.subscribers_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.forks_count = items[0].json.forks_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\nitems[0].json.open_issues_count = items[0].json.open_issues_count.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\nreturn items;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Dashboard Configuration",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"GitHub": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Massage GitHub Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Massage npm Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "npm Maintenance",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "npm Quality",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "npm Popularity",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "npm Final",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve npm Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Massage npm Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Massage Docker Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Docker Stars",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Docker Pulls",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Massage GitHub Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "GitHub Stars",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "GitHub Watchers",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "GitHub Forks",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "GitHub Open Issues ",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Docker Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Massage Docker Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Dashboard Configuration": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Product Hunt Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Retrieve npm Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Retrieve Docker Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "GitHub",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Massage Product Hunt Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Product Hunt Rating",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Product Hunt Reviews",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Product Hunt Votes",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Product Hunt Comments",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Product Hunt Data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Massage Product Hunt Data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
146
workflows/Http/1110_HTTP_Mqtt_Monitor_Webhook.json
Normal file
146
workflows/Http/1110_HTTP_Mqtt_Monitor_Webhook.json
Normal file
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"id": "6pOGYw5O3iOY1Gc6",
|
||||
"meta": {
|
||||
"instanceId": "7221598654c32899e94731aab144bdcd338735c2ac218dc0873131caa0be0ef8",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Remote IOT Sensor monitoring via MQTT and InfluxDB",
|
||||
"tags": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "4997f226-f236-4d27-bea4-904744d9ff07",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-700,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"width": 340,
|
||||
"height": 120,
|
||||
"content": "MQTT trigger subscribed to a topic called wokwi-weather via a Mosquitto MQTT broker. The trigger receives the temperature and humidity payloads from a DHT22 sensor connected to a remote ESP32 microcontroller "
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "9d4f1da6-fda3-4312-a6b1-bd0ac499dde7",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-240,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"height": 100,
|
||||
"content": "Javascript code to extract the temperature and humidity values to ensure correct JSON format for the database"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "d8f01dba-5019-457e-8c1a-99c802282fdf",
|
||||
"name": "Sticky Note3",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
140,
|
||||
-360
|
||||
],
|
||||
"parameters": {
|
||||
"width": 260,
|
||||
"height": 120,
|
||||
"content": "HTTP request node posts temperature and humidity data from the DHT22 sensor to the InfluxDB data bucket running on a local host http://localhost:8086"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "020858a6-7771-4322-8eb6-b83e99b3563d",
|
||||
"name": "Remote Sensor MQTT Trigger",
|
||||
"type": "n8n-nodes-base.mqttTrigger",
|
||||
"position": [
|
||||
-580,
|
||||
-220
|
||||
],
|
||||
"parameters": {
|
||||
"topics": "wokwi-weather",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mqtt": {
|
||||
"id": "xtd75tjk1hKlQOba",
|
||||
"name": "MQTT account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "51e6f59f-9b93-4121-8db4-7f47b929fdf5",
|
||||
"name": "Data ingest to InfluxDB bucket",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
200,
|
||||
-220
|
||||
],
|
||||
"parameters": {
|
||||
"url": "http://localhost:8086/api/v2/write?orgID=<Organization ID>&bucket=<InfluxDB bucket name>&precision=s",
|
||||
"body": "={{ $json.payload }}",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"sendBody": true,
|
||||
"contentType": "raw",
|
||||
"sendHeaders": true,
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Authorization",
|
||||
"value": "Token <API Token value generated in InfluxDB>"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"notesInFlow": true,
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "6abe1212-b128-492f-b485-401a4315fcbc",
|
||||
"name": "Payload data preparation node",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"position": [
|
||||
-180,
|
||||
-220
|
||||
],
|
||||
"parameters": {
|
||||
"jsCode": "// Try to parse the incoming message as JSON\nlet data;\ntry {\n data = JSON.parse($json.message); // $json.message is expected to be a JSON string\n} catch (e) {\n // If parsing fails, throw an error\n throw new Error(\"Invalid JSON in MQTT message\");\n}\n\n// Get the topic from the input, or use a default value\nconst topic = $json.topic || \"unknown-topic\";\n\n// Make sure humidity and temp are numbers\nif (typeof data.humidity !== \"number\" || typeof data.temp !== \"number\") {\n throw new Error(\"Missing or invalid humidity/temp in MQTT message\");\n}\n\n// Create a formatted string like: \"topic_name humidity=45,temp=22\"\nconst line = `${topic} humidity=${data.humidity},temp=${data.temp}`;\n\n// Return the result in the expected format\nreturn [\n {\n json: {\n payload: line\n }\n }\n];"
|
||||
},
|
||||
"typeVersion": 2
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "d1311dca-5edf-4f14-86b9-629937cd3416",
|
||||
"connections": {
|
||||
"Remote Sensor MQTT Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Payload data preparation node",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Payload data preparation node": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Data ingest to InfluxDB bucket",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
543
workflows/Http/1111_HTTP_Schedule_Automation_Webhook.json
Normal file
543
workflows/Http/1111_HTTP_Schedule_Automation_Webhook.json
Normal file
@@ -0,0 +1,543 @@
|
||||
{
|
||||
"id": "6sBxOuYYcJjIBmVJ",
|
||||
"meta": {
|
||||
"instanceId": "73d9d5380db181d01f4e26492c771d4cb5c4d6d109f18e2621cf49cac4c50763",
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"name": "Automating Betting Data Retrieval with TheOddsAPI and Airtable",
|
||||
"tags": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "3f7d9313-2a46-4869-a1f5-33976352961c",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-520,
|
||||
-300
|
||||
],
|
||||
"parameters": {
|
||||
"width": 300,
|
||||
"height": 440,
|
||||
"content": "The following triggers start the workflow at the Start of the day and the End of the day. Times can be adjusted to user's preference. "
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "a535c540-c186-466f-97e2-4d96d02c1f1d",
|
||||
"name": "Sticky Note1",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-100,
|
||||
-660
|
||||
],
|
||||
"parameters": {
|
||||
"color": 4,
|
||||
"width": 460,
|
||||
"height": 660,
|
||||
"content": "Once activated, HTTP Requests pulls the upcoming data for the sport of the user's choosing. The following is set for Ice Hockey. More documentation can be found within the link below: \n\nhttps://the-odds-api.com/liveapi/guides/v4/#get-events\n\nIf you would like to add more data such as the sport books or odds, you can find documentation within the documentation below: \n\nhttps://the-odds-api.com/liveapi/guides/v4/#get-odds\n\nOnce the data is pulled, the records are created within the Airtable.\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "29335df8-6aab-475c-8d8b-38b27eb66bb9",
|
||||
"name": "Sticky Note2",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
440,
|
||||
-280
|
||||
],
|
||||
"parameters": {
|
||||
"color": 3,
|
||||
"width": 800,
|
||||
"height": 540,
|
||||
"content": "At the end of the day, the Schedule Trigger will activate a HTTP request for the scores of the events. This is set for Ice Hockey but can be adjusted for the user's preference. \n\nAfter the data is pulled, it will merge the data with upcoming events to combine the results matching the id. \n\nThe Airtable is then updated with the result records. This can be adjusted to pull in sports odds or the different sports book data. "
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "01134aa4-cc3c-42ed-bc96-f737f1434ed6",
|
||||
"name": "Morning Trigger To Pull Data At 7:00am",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
-420,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"triggerAtHour": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "c0b4c27f-bb17-4d85-a042-aa2db5060a6f",
|
||||
"name": "Evening Trigger To Pull Data At 11:00pm",
|
||||
"type": "n8n-nodes-base.scheduleTrigger",
|
||||
"position": [
|
||||
-420,
|
||||
-20
|
||||
],
|
||||
"parameters": {
|
||||
"rule": {
|
||||
"interval": [
|
||||
{
|
||||
"triggerAtHour": 23
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1.2
|
||||
},
|
||||
{
|
||||
"id": "0a38de6c-4f2e-46ba-8c10-8f12b0a4abe2",
|
||||
"name": "Retrieve Data Of Upcoming Sport Events For The Day",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
20,
|
||||
-200
|
||||
],
|
||||
"parameters": {
|
||||
"url": "=https://api.the-odds-api.com/v4/sports/icehockey_nhl/events?apiKey=60019f5ac82b8d5d508b2dc8393384c1",
|
||||
"options": {},
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "qbYtAoCFY2cLFvOU",
|
||||
"name": "Header Auth account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "28393bd9-17ed-48b1-ba6f-f62b51ce137c",
|
||||
"name": "Create Records Of Upcoming Events For The Day",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
180,
|
||||
-380
|
||||
],
|
||||
"parameters": {
|
||||
"base": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "appIXd8a8JeB9bPaL",
|
||||
"cachedResultUrl": "https://airtable.com/appIXd8a8JeB9bPaL",
|
||||
"cachedResultName": "Untitled Base"
|
||||
},
|
||||
"table": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "tbldpnP52opBEtKEy",
|
||||
"cachedResultUrl": "https://airtable.com/appIXd8a8JeB9bPaL/tbldpnP52opBEtKEy",
|
||||
"cachedResultName": "Table 1"
|
||||
},
|
||||
"columns": {
|
||||
"value": {
|
||||
"id": "={{ $json.id }}",
|
||||
"away_team": "={{ $json.away_team }}",
|
||||
"home_team": "={{ $json.home_team }}",
|
||||
"sports_key": "={{ $json.sport_key }}",
|
||||
"sport_title": "={{ $json.sport_title }}",
|
||||
"commence_time": "={{ $json.commence_time }}"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "id",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "id",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "sports_key",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "sports_key",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "sport_title",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "sport_title",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "commence_time",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "commence_time",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "home_team",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "home_team",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "away_team",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "away_team",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "completed",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "completed",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "scores",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "scores",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "last_update",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "last_update",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
},
|
||||
"options": {},
|
||||
"operation": "create"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "0ApVmNsLu7aFzQD6",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
},
|
||||
{
|
||||
"id": "086e599b-fc74-4ed5-a36f-fb80e385e625",
|
||||
"name": "Retrieve Sport Results Data At The End Of The Day",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
500,
|
||||
20
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.the-odds-api.com/v4/sports/icehockey_nhl/scores?daysFrom=1&apiKey=60019f5ac82b8d5d508b2dc8393384c1",
|
||||
"options": {},
|
||||
"sendHeaders": true,
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "qbYtAoCFY2cLFvOU",
|
||||
"name": "Header Auth account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "1b5ec6f2-d913-4005-89f0-d566e896c344",
|
||||
"name": "Combine Sport Results With Upcoming Events Records By Matching ID",
|
||||
"type": "n8n-nodes-base.merge",
|
||||
"position": [
|
||||
740,
|
||||
-120
|
||||
],
|
||||
"parameters": {
|
||||
"mode": "combine",
|
||||
"options": {},
|
||||
"fieldsToMatchString": "id"
|
||||
},
|
||||
"typeVersion": 3
|
||||
},
|
||||
{
|
||||
"id": "f1765871-6f9e-416b-8ee8-696bc4dbf6bb",
|
||||
"name": "Update Table Records With Scores And Results For Sport Events",
|
||||
"type": "n8n-nodes-base.airtable",
|
||||
"position": [
|
||||
1020,
|
||||
-60
|
||||
],
|
||||
"parameters": {
|
||||
"base": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "appIXd8a8JeB9bPaL",
|
||||
"cachedResultUrl": "https://airtable.com/appIXd8a8JeB9bPaL",
|
||||
"cachedResultName": "Untitled Base"
|
||||
},
|
||||
"table": {
|
||||
"__rl": true,
|
||||
"mode": "list",
|
||||
"value": "tbldpnP52opBEtKEy",
|
||||
"cachedResultUrl": "https://airtable.com/appIXd8a8JeB9bPaL/tbldpnP52opBEtKEy",
|
||||
"cachedResultName": "Table 1"
|
||||
},
|
||||
"columns": {
|
||||
"value": {
|
||||
"id": "={{ $json.id }}",
|
||||
"scores": "={{ $json.scores }}",
|
||||
"completed": "={{ $json.completed }}",
|
||||
"last_update": "={{ $json.last_update }}"
|
||||
},
|
||||
"schema": [
|
||||
{
|
||||
"id": "id",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": true,
|
||||
"required": false,
|
||||
"displayName": "id",
|
||||
"defaultMatch": true
|
||||
},
|
||||
{
|
||||
"id": "id",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "id",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "sports_key",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "sports_key",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "sport_title",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "sport_title",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "commence_time",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "commence_time",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "home_team",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "home_team",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "away_team",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": true,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "away_team",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "completed",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "completed",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "scores",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "scores",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
},
|
||||
{
|
||||
"id": "last_update",
|
||||
"type": "string",
|
||||
"display": true,
|
||||
"removed": false,
|
||||
"readOnly": false,
|
||||
"required": false,
|
||||
"displayName": "last_update",
|
||||
"defaultMatch": false,
|
||||
"canBeUsedToMatch": true
|
||||
}
|
||||
],
|
||||
"mappingMode": "defineBelow",
|
||||
"matchingColumns": [
|
||||
"id"
|
||||
],
|
||||
"attemptToConvertTypes": false,
|
||||
"convertFieldsToString": false
|
||||
},
|
||||
"options": {},
|
||||
"operation": "update"
|
||||
},
|
||||
"credentials": {
|
||||
"airtableTokenApi": {
|
||||
"id": "0ApVmNsLu7aFzQD6",
|
||||
"name": "Airtable Personal Access Token account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 2.1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "bf20603b-eb12-4156-94fe-fb18ecf6a454",
|
||||
"connections": {
|
||||
"Morning Trigger To Pull Data At 7:00am": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Data Of Upcoming Sport Events For The Day",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Evening Trigger To Pull Data At 11:00pm": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Retrieve Sport Results Data At The End Of The Day",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Sport Results Data At The End Of The Day": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Combine Sport Results With Upcoming Events Records By Matching ID",
|
||||
"type": "main",
|
||||
"index": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Retrieve Data Of Upcoming Sport Events For The Day": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Combine Sport Results With Upcoming Events Records By Matching ID",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Create Records Of Upcoming Events For The Day",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Combine Sport Results With Upcoming Events Records By Matching ID": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Update Table Records With Scores And Results For Sport Events",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
287
workflows/Http/1112_HTTP_Stickynote_Automation_Webhook.json
Normal file
287
workflows/Http/1112_HTTP_Stickynote_Automation_Webhook.json
Normal file
File diff suppressed because one or more lines are too long
138
workflows/Http/1131_HTTP_Stickynote_Import_Webhook.json
Normal file
138
workflows/Http/1131_HTTP_Stickynote_Import_Webhook.json
Normal file
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"id": "7DPLpEkww5Uctcml",
|
||||
"meta": {
|
||||
"instanceId": "75d76ac1fb686d403c2294ca007b62282f34c3e15dc3528cc1dbe36a827c0c6e"
|
||||
},
|
||||
"name": "get_a_web_page",
|
||||
"tags": [
|
||||
{
|
||||
"id": "7v5QbLiQYkQ7zGTK",
|
||||
"name": "tools",
|
||||
"createdAt": "2025-01-08T16:33:21.887Z",
|
||||
"updatedAt": "2025-01-08T16:33:21.887Z"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "290cc9b8-e4b1-4124-ab0e-afbb02a9072b",
|
||||
"name": "Execute Workflow Trigger",
|
||||
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
||||
"position": [
|
||||
-460,
|
||||
-100
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"id": "f256ed59-ba61-4912-9a75-4e7703547de5",
|
||||
"name": "FireCrawl",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"position": [
|
||||
-220,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"url": "https://api.firecrawl.dev/v1/scrape",
|
||||
"method": "POST",
|
||||
"options": {},
|
||||
"jsonBody": "={\n \"url\": \"{{ $json.query.url }}\",\n \"formats\": [\n \"markdown\"\n ]\n} ",
|
||||
"sendBody": true,
|
||||
"sendHeaders": true,
|
||||
"specifyBody": "json",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpHeaderAuth",
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "RoJ6k6pWBzSVp9JK",
|
||||
"name": "Firecrawl"
|
||||
}
|
||||
},
|
||||
"typeVersion": 4.2
|
||||
},
|
||||
{
|
||||
"id": "a28bdbe6-fa59-4bf1-b0ab-c34ebb10cf0f",
|
||||
"name": "Edit Fields",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
-20,
|
||||
-100
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"assignments": {
|
||||
"assignments": [
|
||||
{
|
||||
"id": "1af62ef9-7385-411a-8aba-e4087f09c3a9",
|
||||
"name": "response",
|
||||
"type": "string",
|
||||
"value": "={{ $json.data.markdown }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 3.4
|
||||
},
|
||||
{
|
||||
"id": "fcd26213-038a-453f-80e5-a3936e4c2d06",
|
||||
"name": "Sticky Note",
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"position": [
|
||||
-480,
|
||||
-340
|
||||
],
|
||||
"parameters": {
|
||||
"width": 620,
|
||||
"height": 200,
|
||||
"content": "## Send URL got Crawl\nThis can be reused by Ai Agents and any Workspace to crawl a site. All that Workspace has to do is send a request:\n\n```json\n {\n \"url\": \"Some URL to Get\"\n }\n```"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"pinData": {
|
||||
"Execute Workflow Trigger": [
|
||||
{
|
||||
"json": {
|
||||
"query": {
|
||||
"url": "https://en.wikipedia.org/wiki/Linux"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1"
|
||||
},
|
||||
"versionId": "396f46a7-3120-42f9-b3d5-2021e6e995b8",
|
||||
"connections": {
|
||||
"FireCrawl": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Edit Fields",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Execute Workflow Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "FireCrawl",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user