feat: add folder support for workflows (fixes #70)
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
650,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "={{$json[\"contact\"][\"firstName\"]}} from {{$json[\"contact\"][\"company\"]}} has replied back to your campaign.",
|
||||
"channelId": "qx9yo1i9z3bg5qcy5a1oxnh69c",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Emelia Trigger",
|
||||
"type": "n8n-nodes-base.emeliaTrigger",
|
||||
"position": [
|
||||
450,
|
||||
200
|
||||
],
|
||||
"webhookId": "f53bc370-a8cb-4748-8f81-be7ae9b94972",
|
||||
"parameters": {
|
||||
"events": [
|
||||
"replied"
|
||||
],
|
||||
"campaignId": "6054d068b374b64365740101"
|
||||
},
|
||||
"credentials": {
|
||||
"emeliaApi": "Emelia API Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Emelia Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
650,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "={{$json[\"contact\"][\"firstName\"]}} from {{$json[\"contact\"][\"company\"]}} has replied back to your campaign.",
|
||||
"channelId": "qx9yo1i9z3bg5qcy5a1oxnh69c",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Emelia Trigger",
|
||||
"type": "n8n-nodes-base.emeliaTrigger",
|
||||
"position": [
|
||||
450,
|
||||
200
|
||||
],
|
||||
"webhookId": "f53bc370-a8cb-4748-8f81-be7ae9b94972",
|
||||
"parameters": {
|
||||
"events": [
|
||||
"replied"
|
||||
],
|
||||
"campaignId": "6054d068b374b64365740101"
|
||||
},
|
||||
"credentials": {
|
||||
"emeliaApi": "Emelia API Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Emelia Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "n8n Trigger",
|
||||
"type": "n8n-nodes-base.n8nTrigger",
|
||||
"position": [
|
||||
450,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"events": [
|
||||
"init"
|
||||
]
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
650,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=Your n8n instance started at {{$json[\"timestamp\"]}}",
|
||||
"channelId": "toyi3uoycf8rirtm7d5jm15sso",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"n8n Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
490,
|
||||
460
|
||||
],
|
||||
"webhookId": "c0345765-4488-4ac8-a9da-02f647dd2b90",
|
||||
"parameters": {
|
||||
"path": "c0345765-4488-4ac8-a9da-02f647dd2b90",
|
||||
"options": {}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
690,
|
||||
460
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "Message",
|
||||
"value": "Hello!"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
690,
|
||||
610
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=The workflow {{$workflow.name}}, was updated.",
|
||||
"channelId": "toyi3uoycf8rirtm7d5jm15sso",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Workflow Trigger",
|
||||
"type": "n8n-nodes-base.workflowTrigger",
|
||||
"position": [
|
||||
490,
|
||||
610
|
||||
],
|
||||
"parameters": {
|
||||
"events": [
|
||||
"update"
|
||||
]
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Workflow Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Notion Trigger",
|
||||
"type": "n8n-nodes-base.notionTrigger",
|
||||
"position": [
|
||||
270,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"event": "pageAddedToDatabase",
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyHour"
|
||||
}
|
||||
]
|
||||
},
|
||||
"databaseId": "6ea34c0d-67e8-4614-ad5c-68c665a34763"
|
||||
},
|
||||
"credentials": {
|
||||
"notionApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
470,
|
||||
350
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"Team\"]}}",
|
||||
"value2": "Marketing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
670,
|
||||
250
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=New meeting notes were added.\nAgenda: {{$json[\"Agenda\"]}}\nDate: {{$json[\"Date\"][\"start\"]}}\nLink: https://notion.so/{{$json[\"id\"].replace(/-/g,'')}}",
|
||||
"channelId": "64cae1bh6pggtcupfd4ztwby4r",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": ""
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
668,
|
||||
495
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Notion Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"id": "133",
|
||||
"name": "Analyze the sentiment of feedback and send a message on Mattermost",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Typeform Trigger",
|
||||
"type": "n8n-nodes-base.typeformTrigger",
|
||||
"position": [
|
||||
510,
|
||||
260
|
||||
],
|
||||
"webhookId": "ad8a87ef-d293-4e48-8d36-838d69ebce0f",
|
||||
"parameters": {
|
||||
"formId": ""
|
||||
},
|
||||
"credentials": {
|
||||
"typeformApi": "typeform"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Cloud Natural Language",
|
||||
"type": "n8n-nodes-base.googleCloudNaturalLanguage",
|
||||
"position": [
|
||||
710,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"content": "={{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"googleCloudNaturalLanguageOAuth2Api": "cloud"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
910,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$node[\"Google Cloud Natural Language\"].json[\"documentSentiment\"][\"score\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1110,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=You got a new feedback with a score of {{$node[\"Google Cloud Natural Language\"].json[\"documentSentiment\"][\"score\"]}}. Here is what it says:{{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"channelId": "4h1bz64cyifwxnzojkzh8hxh4a",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1110,
|
||||
360
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Typeform Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Cloud Natural Language",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Cloud Natural Language": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"id": "146",
|
||||
"name": "Send financial metrics monthly to Mattermost",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "ProfitWell",
|
||||
"type": "n8n-nodes-base.profitWell",
|
||||
"position": [
|
||||
730,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"type": "monthly",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"profitWellApi": "profitwell"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
530,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 9,
|
||||
"mode": "everyMonth"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
930,
|
||||
220
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=Active Customers: {{$node[\"ProfitWell\"].json[\"active_customers\"]}}\nTrailing Customers: {{$node[\"ProfitWell\"].json[\"active_trialing_customers\"]}}\nNew Customers: {{$node[\"ProfitWell\"].json[\"new_customers\"]}}\nGrowth Rate: {{$node[\"ProfitWell\"].json[\"growth_rate\"]}}\nRecurring Revenue: {{$node[\"ProfitWell\"].json[\"recurring_revenue\"]}}",
|
||||
"channelId": "w6rsxrqds3bt9pguxzduowqucy",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "ProfitWell",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"ProfitWell": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"id": "151",
|
||||
"name": "Receive a Mattermost message when new data gets added to Airtable",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Airtable Trigger",
|
||||
"type": "n8n-nodes-base.airtableTrigger",
|
||||
"position": [
|
||||
550,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"baseId": "",
|
||||
"tableId": "Data",
|
||||
"pollTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
},
|
||||
"triggerField": "Created",
|
||||
"additionalFields": {}
|
||||
},
|
||||
"credentials": {
|
||||
"airtableApi": "Airtable Credentials n8n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
750,
|
||||
340
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=New Data was added to Airtable.\nID:{{$node[\"Airtable Trigger\"].json[\"fields\"][\"id\"]}}\nName: {{$node[\"Airtable Trigger\"].json[\"fields\"][\"name\"]}}",
|
||||
"channelId": "",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Airtable Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"id": "188",
|
||||
"name": "Send a message on Mattermost when an order is created in WooCommerce",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "WooCommerce Trigger",
|
||||
"type": "n8n-nodes-base.wooCommerceTrigger",
|
||||
"position": [
|
||||
550,
|
||||
260
|
||||
],
|
||||
"webhookId": "84960a7c-cb69-4dfb-a5ed-aac12e0efbf8",
|
||||
"parameters": {
|
||||
"event": "order.created"
|
||||
},
|
||||
"credentials": {
|
||||
"wooCommerceApi": "woocommerce"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
750,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"message": "={{$node[\"WooCommerce Trigger\"].json[\"billing\"][\"first_name\"]}} bought {{$node[\"WooCommerce Trigger\"].json[\"line_items\"][0][\"name\"]}}!",
|
||||
"channelId": "pj1p95ebei8g3ro5p84kxxuuio",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"WooCommerce Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"id": "18",
|
||||
"name": "Gender Inclusive Language",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
150,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"path": "webhook",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost1",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
550,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "May I suggest \"folks\" or “y'all”? We use gender inclusive language here. 😄",
|
||||
"channelId": "={{$node[\"Webhook\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "n8n Mattermost - Bot"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
340,
|
||||
450
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "guys",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "Guys",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "bros",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "Bros",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "dudes",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "Dudes",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "gals",
|
||||
"operation": "contains"
|
||||
},
|
||||
{
|
||||
"value1": "={{$node[\"Webhook\"].json[\"body\"][\"text\"]}}",
|
||||
"value2": "Gals",
|
||||
"operation": "contains"
|
||||
}
|
||||
]
|
||||
},
|
||||
"combineOperation": "any"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
550,
|
||||
550
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": true,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Twitter notifications",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Twitter",
|
||||
"type": "n8n-nodes-base.twitter",
|
||||
"position": [
|
||||
610,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"operation": "search",
|
||||
"searchText": "n8n_io",
|
||||
"additionalFields": {
|
||||
"resultType": "recent"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"twitterOAuth1Api": "Twitter"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
410,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "everyMinute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Function",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
940,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const new_items = [];\nconst data = this.getWorkflowStaticData('node');\n\ndata.ids = data.ids || [];\n\nfor (var i=0; i<items.length; i++) {\n if (data.ids.includes(items[i].json.id)) {\n break;\n } else {\n new_items.push({json: {id: items[i].json.id, url: items[i].json.url, tweet: items[i].json.tweet, username: items[i].json.username, photo: items[i].json.photo, name: items[i].json.name, color: items[i].json.color}});\n }\n}\n\ndata.ids = items.map(item => item.json.id)\nreturn new_items;\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
780,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"number": [
|
||||
{
|
||||
"name": "id",
|
||||
"value": "={{$node[\"Twitter\"].json[\"id\"]}}"
|
||||
}
|
||||
],
|
||||
"string": [
|
||||
{
|
||||
"name": "url",
|
||||
"value": "=https://twitter.com/{{$node[\"Twitter\"].json[\"user\"][\"screen_name\"]}}/status/{{$node[\"Twitter\"].json[\"id_str\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "tweet",
|
||||
"value": "={{$node[\"Twitter\"].json[\"text\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"value": "={{$node[\"Twitter\"].json[\"user\"][\"screen_name\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "photo",
|
||||
"value": "={{$node[\"Twitter\"].json[\"user\"][\"profile_image_url_https\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"value": "={{$node[\"Twitter\"].json[\"user\"][\"name\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "color",
|
||||
"value": "={{$node[\"Twitter\"].json[\"user\"][\"profile_link_color\"]}}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"dotNotation": true
|
||||
},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1110,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"message": "={{$node[\"Function\"].json[\"url\"]}}",
|
||||
"channelId": "c81pcft85byeipbp3nptbmicah",
|
||||
"attachments": [
|
||||
{
|
||||
"text": "={{$node[\"Function\"].json[\"tweet\"]}}",
|
||||
"color": "=#{{$node[\"Function\"].json[\"color\"]}}",
|
||||
"author_icon": "={{$node[\"Function\"].json[\"photo\"]}}",
|
||||
"author_link": "=https://twitter.com/{{$node[\"Function\"].json[\"username\"]}}",
|
||||
"author_name": "={{$node[\"Function\"].json[\"name\"]}} ({{$node[\"Function\"].json[\"username\"]}})"
|
||||
}
|
||||
],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Function",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Twitter",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Twitter": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Function": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,453 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Ack",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
-160,
|
||||
1440
|
||||
],
|
||||
"webhookId": "d3025d6c-5956-439e-9c9a-db3ef524a24f",
|
||||
"parameters": {
|
||||
"path": "/ack",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Resolve",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
120,
|
||||
1880
|
||||
],
|
||||
"webhookId": "92d7ddfa-20f9-49bc-976e-4f6c76c0b3b4",
|
||||
"parameters": {
|
||||
"path": "/resolve",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
60,
|
||||
1040
|
||||
],
|
||||
"webhookId": "9888d896-dd23-4e97-9d16-c12055b64133",
|
||||
"parameters": {
|
||||
"path": "9888d896-dd23-4e97-9d16-c12055b64133",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Jira1",
|
||||
"type": "n8n-nodes-base.jira",
|
||||
"position": [
|
||||
680,
|
||||
1040
|
||||
],
|
||||
"parameters": {
|
||||
"project": "10016",
|
||||
"summary": "={{$node[\"Webhook\"].json[\"body\"][\"event\"][\"data\"][\"title\"]}}",
|
||||
"issueType": "10007",
|
||||
"additionalFields": {
|
||||
"assignee": "qwertz12345"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"jiraSoftwareCloudApi": {
|
||||
"id": "64",
|
||||
"name": "Jira SW Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Jira2",
|
||||
"type": "n8n-nodes-base.jira",
|
||||
"position": [
|
||||
540,
|
||||
1880
|
||||
],
|
||||
"parameters": {
|
||||
"issueKey": "={{$node[\"Resolve\"].json[\"body\"][\"context\"][\"jira_key\"]}}",
|
||||
"operation": "update",
|
||||
"updateFields": {
|
||||
"statusId": "31"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"jiraSoftwareCloudApi": {
|
||||
"id": "64",
|
||||
"name": "Jira SW Cloud account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "PagerDuty1",
|
||||
"type": "n8n-nodes-base.pagerDuty",
|
||||
"position": [
|
||||
60,
|
||||
1440
|
||||
],
|
||||
"parameters": {
|
||||
"email": "address@mail.com",
|
||||
"resource": "incident",
|
||||
"operation": "update",
|
||||
"incidentId": "={{$json[\"body\"][\"context\"][\"pagerduty_incident\"]}}",
|
||||
"updateFields": {
|
||||
"status": "acknowledged"
|
||||
},
|
||||
"authentication": "apiToken",
|
||||
"conferenceBridgeUi": {}
|
||||
},
|
||||
"credentials": {
|
||||
"pagerDutyApi": {
|
||||
"id": "65",
|
||||
"name": "PagerDuty account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "PagerDuty2",
|
||||
"type": "n8n-nodes-base.pagerDuty",
|
||||
"position": [
|
||||
340,
|
||||
1880
|
||||
],
|
||||
"parameters": {
|
||||
"email": "address@mail.com",
|
||||
"resource": "incident",
|
||||
"operation": "update",
|
||||
"incidentId": "={{$json[\"body\"][\"context\"][\"pagerduty_incident\"]}}",
|
||||
"updateFields": {
|
||||
"status": "resolved"
|
||||
},
|
||||
"authentication": "apiToken",
|
||||
"conferenceBridgeUi": {}
|
||||
},
|
||||
"credentials": {
|
||||
"pagerDutyApi": {
|
||||
"id": "65",
|
||||
"name": "PagerDuty account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost5",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
300,
|
||||
1440
|
||||
],
|
||||
"parameters": {
|
||||
"message": "💪🏼 Incident status has been changed to Acknowledged on PagerDuty.",
|
||||
"channelId": "={{$node[\"Ack\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost6",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
760,
|
||||
1760
|
||||
],
|
||||
"parameters": {
|
||||
"message": "💪 This issue got closed in PagerDuty and Jira.",
|
||||
"channelId": "={{$node[\"Resolve\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost4",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
900,
|
||||
1180
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=⚠️ {{$node[\"Webhook\"].json[\"body\"][\"messages\"][0][\"log_entries\"][0][\"incident\"][\"summary\"]}}\nPagerDuty incident: {{$node[\"Webhook\"].json[\"body\"][\"messages\"][0][\"log_entries\"][0][\"incident\"][\"html_url\"]}}\nJira issue: https://n8n.atlassian.net/browse/{{$json[\"key\"]}}",
|
||||
"channelId": "={{$node[\"Mattermost1\"].json[\"id\"]}}",
|
||||
"attachments": [
|
||||
{
|
||||
"actions": {
|
||||
"item": [
|
||||
{
|
||||
"name": "Acknowledge",
|
||||
"type": "button",
|
||||
"options": {},
|
||||
"data_source": "custom",
|
||||
"integration": {
|
||||
"item": {
|
||||
"url": "https://username.app.n8n.cloud/webhook/ack",
|
||||
"context": {
|
||||
"property": [
|
||||
{
|
||||
"name": "pagerduty_incident",
|
||||
"value": "={{ $node[\"Webhook\"].json[\"body\"][\"event\"][\"data\"][\"id\"] }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Resolve",
|
||||
"type": "button",
|
||||
"options": {},
|
||||
"data_source": "custom",
|
||||
"integration": {
|
||||
"item": {
|
||||
"url": "https://username.app.n8n.cloud/webhook/resolve",
|
||||
"context": {
|
||||
"property": [
|
||||
{
|
||||
"name": "jira_key",
|
||||
"value": "={{$json[\"key\"]}}"
|
||||
},
|
||||
{
|
||||
"name": "pagerduty_incident",
|
||||
"value": "={{ $node[\"Webhook\"].json[\"body\"][\"event\"][\"data\"][\"id\"] }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost3",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
900,
|
||||
940
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=🚨 New incident: \nAuxiliary Channel -> https://mattermost.internal.n8n.io/test/channels/{{$node[\"Mattermost1\"].json[\"name\"]}}\nPagerDuty Incident -> {{$node[\"Webhook\"].json[\"body\"][\"event\"][\"data\"][\"html_url\"]}}\nJira Issue -> https://n8n.atlassian.net/browse/{{$json[\"key\"]}}",
|
||||
"channelId": "qwertz12345",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost2",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
480,
|
||||
1040
|
||||
],
|
||||
"parameters": {
|
||||
"userId": "qwertz12345",
|
||||
"resource": "channel",
|
||||
"channelId": "={{$json[\"id\"]}}",
|
||||
"operation": "addUser"
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost1",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
280,
|
||||
1040
|
||||
],
|
||||
"parameters": {
|
||||
"teamId": "qwertz12345",
|
||||
"channel": "={{$json[\"body\"][\"event\"][\"data\"][\"incident_key\"]}}",
|
||||
"resource": "channel",
|
||||
"displayName": "={{$json[\"body\"][\"event\"][\"data\"][\"title\"]}}"
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost7",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
760,
|
||||
1980
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=🎉 The incident ({{$node[\"PagerDuty2\"].json[\"summary\"]}}) was resolved by the lovely folks in the on-call team!",
|
||||
"channelId": "qwertz12345",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": {
|
||||
"id": "61",
|
||||
"name": "Mattermost account"
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Ack": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "PagerDuty1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Jira1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost3",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Mattermost4",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Jira2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost6",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Mattermost7",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Resolve": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "PagerDuty2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"PagerDuty1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost5",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"PagerDuty2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Jira2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mattermost1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost2",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Mattermost2": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Jira1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"webhookId": "213324b6-b84d-42f9-af3b-42804cc71cd1",
|
||||
"parameters": {
|
||||
"path": "213324b6-b84d-42f9-af3b-42804cc71cd1",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "PagerDuty",
|
||||
"type": "n8n-nodes-base.pagerDuty",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"email": "n8ndocsburner@gmail.com",
|
||||
"operation": "update",
|
||||
"incidentId": "={{$json[\"body\"][\"context\"][\"pagerduty_incident\"]}}",
|
||||
"updateFields": {
|
||||
"status": "acknowledged"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pagerDutyApi": "PagerDuty Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "💪🏼 Incident status has been changed to Acknowledged on PagerDuty.",
|
||||
"channelId": "={{$node[\"Webhook\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "PagerDuty",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"PagerDuty": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1050,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "💪 This issue got closed in PagerDuty and Jira.",
|
||||
"channelId": "={{$node[\"Webhook\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost1",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1050,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=🎉 The incident ({{$node[\"PagerDuty\"].json[\"summary\"]}}) was resolved by the lovely folks in the on-call team!",
|
||||
"channelId": "k1h3du9r9byyfg7sys8ib6p3ey",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Jira",
|
||||
"type": "n8n-nodes-base.jira",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"issueKey": "={{$node[\"Webhook\"].json[\"body\"][\"context\"][\"jira_key\"]}}",
|
||||
"operation": "update",
|
||||
"updateFields": {
|
||||
"statusId": "31"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"jiraSoftwareCloudApi": "jira"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "PagerDuty",
|
||||
"type": "n8n-nodes-base.pagerDuty",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"email": "n8ndocsburner@gmail.com",
|
||||
"operation": "update",
|
||||
"incidentId": "={{$json[\"body\"][\"context\"][\"pagerduty_incident\"]}}",
|
||||
"updateFields": {
|
||||
"status": "resolved"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"pagerDutyApi": "PagerDuty Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"webhookId": "1bd40693-c7dd-43f5-97d9-6d8986e62fc1",
|
||||
"parameters": {
|
||||
"path": "1bd40693-c7dd-43f5-97d9-6d8986e62fc1",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Jira": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Mattermost1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "PagerDuty",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"PagerDuty": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Jira",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Twilio",
|
||||
"type": "n8n-nodes-base.twilio",
|
||||
"position": [
|
||||
900,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=The workflow named '{{$node[\"Error Trigger\"].json[\"workflow\"][\"name\"]}}' with the ID {{$node[\"Error Trigger\"].json[\"workflow\"][\"id\"]}} has encountered an error."
|
||||
},
|
||||
"credentials": {
|
||||
"twilioApi": "Twilio"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=The workflow named '{{$json[\"workflow\"][\"name\"]}}' with the ID {{$json[\"workflow\"][\"id\"]}} has encountered an error. The last node that was executed was {{$json[\"execution\"][\"lastNodeExecuted\"]}}.",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Error Trigger",
|
||||
"type": "n8n-nodes-base.errorTrigger",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Mattermost": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Twilio",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Error Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"id": "3",
|
||||
"name": "StatsInstagram",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1030,
|
||||
290
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=Bonjour ! Voici les stats de notre Instagram {{$json[\"Compte\"]}} en ce beau matin du {{$node[\"Date & Time\"].json[\"day_today\"]}} {{$node[\"Date & Time\"].json[\"data\"]}}\nLe nombre de Followers est de : {{$json[\"Followers\"]}}\nNous avons réalisé : {{$json[\"Posts\"]}} posts, \nBravo !",
|
||||
"channelId": "xxxxxxx",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "API"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Date & Time",
|
||||
"type": "n8n-nodes-base.dateTime",
|
||||
"position": [
|
||||
640,
|
||||
290
|
||||
],
|
||||
"parameters": {
|
||||
"value": "={{$json[\"date_today\"]}}",
|
||||
"custom": true,
|
||||
"options": {},
|
||||
"toFormat": "DD-MM-YYYY"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
310,
|
||||
290
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Get the date today",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
470,
|
||||
290
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "var date = new Date().toISOString();\nvar day = new Date().getDay();\nconst weekday = [\"Dimanche\", \"Lundi\", \"Mardi\", \"Mercredi\", \"Jeudi\", \"Vendredi\", \"Samedi\"];\n\nitems[0].json.date_today = date;\nitems[0].json.day_today = weekday[day];\n\nreturn items;\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Read data on Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
850,
|
||||
290
|
||||
],
|
||||
"parameters": {
|
||||
"range": "cells",
|
||||
"options": {},
|
||||
"sheetId": "sheetID",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": "GoogleAPI"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get the date today",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Date & Time": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Read data on Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Get the date today": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Date & Time",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Read data on Google Sheets": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"position": [
|
||||
590,
|
||||
400
|
||||
],
|
||||
"webhookId": "822cce61-ff5f-4cea-b8ba-1822651786e3",
|
||||
"parameters": {
|
||||
"path": "822cce61-ff5f-4cea-b8ba-1822651786e3",
|
||||
"options": {},
|
||||
"httpMethod": "POST"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Set",
|
||||
"type": "n8n-nodes-base.set",
|
||||
"position": [
|
||||
780,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"values": {
|
||||
"string": [
|
||||
{
|
||||
"name": "amudhan",
|
||||
"value": "n8n-rocks"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {},
|
||||
"keepOnlySet": true
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
990,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=Join me in a video call:",
|
||||
"channelId": "={{$node[\"Webhook\"].json[\"body\"][\"channel_id\"]}}",
|
||||
"attachments": [
|
||||
{
|
||||
"title": "=https://whereby.com/{{$json[$node[\"Webhook\"].json[\"body\"][\"user_name\"]]}}",
|
||||
"title_link": "=https://whereby.com/{{$json[$node[\"Webhook\"].json[\"body\"][\"user_name\"]]}}"
|
||||
}
|
||||
],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mm_creds"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Set": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Set",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Cron",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"mode": "custom",
|
||||
"cronExpression": "0 0 17 28 9 *"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Sheets",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"range": "Sessions!A:D",
|
||||
"options": {},
|
||||
"sheetId": "1nlnsTQKGgQZN-Rtd07K9bn0ROm0aFBC2O4kzM2YaTBI",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": "n8ndocsburner-googlesheets"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "= Hey @channel, we hope you had a great time at **{{$node[\"Google Sheets\"].json[\"Session\"]}}**.\nLet us know how we did by sharing your feedback with us on the link below!",
|
||||
"channelId": "={{$node[\"Google Sheets\"].json[\"Mattermost Channel ID\"]}}",
|
||||
"attachments": [
|
||||
{
|
||||
"title": "=Feedback Form - {{$node[\"Google Sheets\"].json[\"Session\"]}}",
|
||||
"title_link": "={{$node[\"Google Sheets\"].json[\"Feedback Form Link\"]}}"
|
||||
}
|
||||
],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mm_failedmachine"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Cron": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Sheets",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Sheets": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"id": "7",
|
||||
"name": "Coffee Bot (Mattermost)",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Divide into groups",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
1060,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const ideal_group_size = 3;\nlet groups = [];\nlet data_as_array = [];\nlet newItems = [];\n\n// Take all the users and add them to an array\nfor (let j = 0; j < items.length; j++) {\n data_as_array.push({username: items[j].json.username, email: items[j].json.email});\n}\n\n// Fisher-Yates (aka Knuth) Shuffle\nfunction shuffle(array) {\n var currentIndex = array.length, temporaryValue, randomIndex;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n}\n\n// Randomize the sequence of names in the array\ndata_as_array = shuffle(data_as_array);\n\n// Create groups of ideal group size (3)\nfor (let i = 0; i < data_as_array.length; i += ideal_group_size) {\n groups.push(data_as_array.slice(i, i + ideal_group_size));\n}\n\n// Make sure that no group has just one person. If it does, take\n// one from previous group and add it to that group \nfor (let k = 0; k < groups.length; k++) {\n if (groups[k].length === 1) {\n groups[k].push(groups[k-1].shift());\n }\n}\n\nfor (let l = 0; l < groups.length; l++) {\n newItems.push({json: {groupsUsername: groups[l].map(a=> a.username), groupsEmail: groups[l].map(b=> b.email)}})\n}\n\nreturn newItems;"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Greetings",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
650,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "👋 Happy Monday\n\nGroups for this week's virtual coffee are:",
|
||||
"channelId": "Enter Your Channel ID",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Cred"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Weekly trigger on monday",
|
||||
"type": "n8n-nodes-base.cron",
|
||||
"position": [
|
||||
450,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"triggerTimes": {
|
||||
"item": [
|
||||
{
|
||||
"hour": 10,
|
||||
"mode": "everyWeek"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Announce groups",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1250,
|
||||
200
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=☀️ {{$node[\"Divide into groups\"].json[\"groupsUsername\"].join(', ')}}",
|
||||
"channelId": "=",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Cred"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Employees in coffee chat channel",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
850,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"resource": "user",
|
||||
"operation": "getAll",
|
||||
"additionalFields": {
|
||||
"inChannel": "={{$node[\"Greetings\"].parameter[\"channelId\"]}}"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Cred"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Send calendar invites",
|
||||
"type": "n8n-nodes-base.googleCalendar",
|
||||
"position": [
|
||||
1250,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"end": "2020-12-17T18:38:49.000Z",
|
||||
"start": "2020-12-17T18:08:49.000Z",
|
||||
"calendar": "Enter Your Google Calendar",
|
||||
"additionalFields": {
|
||||
"summary": "n8n coffee catchup",
|
||||
"attendees": [
|
||||
"={{$node[\"Divide into groups\"].json[\"groupsEmail\"].join(',')}}"
|
||||
],
|
||||
"guestsCanModify": true,
|
||||
"conferenceDataUi": {
|
||||
"conferenceDataValues": {
|
||||
"conferenceSolution": "hangoutsMeet"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"googleCalendarOAuth2Api": "Google Calendar Cred"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"Greetings": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Employees in coffee chat channel",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Divide into groups": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Announce groups",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
},
|
||||
{
|
||||
"node": "Send calendar invites",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Weekly trigger on monday": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Greetings",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Employees in coffee chat channel": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Divide into groups",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Send message",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
910,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=New information was added to your Google Sheet.\nID: {{$json[\"id\"]}}\nName: {{$json[\"name\"]}}\nEmail: {{$json[\"email\"]}}",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Check if new data",
|
||||
"type": "n8n-nodes-base.function",
|
||||
"position": [
|
||||
710,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"functionCode": "const new_items = [];\n// Get static data stored with the workflow\n\nconst data = this.getWorkflowStaticData(\"node\");\ndata.ids = data.ids || [];\nfor (let i = items.length - 1; i >= 0; i--) {\n\n// Check if data is already present\n if (data.ids.includes(items[i].json.ID)) {\n break;\n } else {\n\n// if new data then add it to an array\n new_items.push({\n json: {\n id: items[i].json.ID,\n name: items[i].json.Name,\n email: items[i].json.Email\n },\n });\n }\n}\ndata.ids = items.map((item) => item.json.ID);\n\n// return new items\nreturn new_items;\n"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Read data",
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"position": [
|
||||
510,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"options": {},
|
||||
"sheetId": "1PyC-U1lXSCbxVmHuwFbkKDF9e3PW_iUn8T-iAd_MYjQ",
|
||||
"authentication": "oAuth2"
|
||||
},
|
||||
"credentials": {
|
||||
"googleSheetsOAuth2Api": "google-sheets"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Execute every 45 mins",
|
||||
"type": "n8n-nodes-base.interval",
|
||||
"position": [
|
||||
310,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"unit": "minutes"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Read data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Check if new data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Check if new data": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Send message",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Execute every 45 mins": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Read data",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
810,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=You got new feedback with a score of {{$json[\"SentimentScore\"][\"Negative\"]}}. Here is what it says:{{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"channelId": "h7cxrd1cefr13x689enzyw7xhc",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
800,
|
||||
500
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
600,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [],
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"Sentiment\"]}}",
|
||||
"value2": "NEGATIVE"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "AWS Comprehend",
|
||||
"type": "n8n-nodes-base.awsComprehend",
|
||||
"position": [
|
||||
400,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{$json[\"What did you think about the event?\"]}}",
|
||||
"operation": "detectSentiment"
|
||||
},
|
||||
"credentials": {
|
||||
"aws": "AWS Comprehend Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Typeform Trigger",
|
||||
"type": "n8n-nodes-base.typeformTrigger",
|
||||
"position": [
|
||||
200,
|
||||
400
|
||||
],
|
||||
"webhookId": "ad8a87ef-d293-4e48-8d36-838d69ebce0f",
|
||||
"parameters": {
|
||||
"formId": "DuJHEGW5"
|
||||
},
|
||||
"credentials": {
|
||||
"typeformApi": "typeform"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"AWS Comprehend": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Typeform Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AWS Comprehend",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Lemlist Trigger",
|
||||
"type": "n8n-nodes-base.lemlistTrigger",
|
||||
"position": [
|
||||
410,
|
||||
160
|
||||
],
|
||||
"webhookId": "e1e29f99-7222-488a-826f-5af50ffe7505",
|
||||
"parameters": {
|
||||
"event": "emailsReplied",
|
||||
"options": {
|
||||
"campaignId": "cam_H5pYEryq6mRKBiy5v"
|
||||
}
|
||||
},
|
||||
"credentials": {
|
||||
"lemlistApi": "Lemlist API Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
610,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"message": "={{$json[\"firstName\"]}} has replied back to your {{$json[\"campaignName\"]}}. Below is the reply:\n> {{$json[\"text\"]}}",
|
||||
"channelId": "qx9yo1i9z3bg5qcy5a1oxnh69c",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Lemlist Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"id": "133",
|
||||
"name": "Analyze the sentiment of feedback and send a message on Mattermost",
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Typeform Trigger",
|
||||
"type": "n8n-nodes-base.typeformTrigger",
|
||||
"position": [
|
||||
510,
|
||||
260
|
||||
],
|
||||
"webhookId": "ad8a87ef-d293-4e48-8d36-838d69ebce0f",
|
||||
"parameters": {
|
||||
"formId": ""
|
||||
},
|
||||
"credentials": {
|
||||
"typeformApi": "typeform"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Google Cloud Natural Language",
|
||||
"type": "n8n-nodes-base.googleCloudNaturalLanguage",
|
||||
"position": [
|
||||
710,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"content": "={{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"options": {}
|
||||
},
|
||||
"credentials": {
|
||||
"googleCloudNaturalLanguageOAuth2Api": "cloud"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
910,
|
||||
260
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [
|
||||
{
|
||||
"value1": "={{$node[\"Google Cloud Natural Language\"].json[\"documentSentiment\"][\"score\"]}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
1110,
|
||||
160
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=You got a new feedback with a score of {{$node[\"Google Cloud Natural Language\"].json[\"documentSentiment\"][\"score\"]}}. Here is what it says:{{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"channelId": "4h1bz64cyifwxnzojkzh8hxh4a",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "mattermost"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
1110,
|
||||
360
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"active": false,
|
||||
"settings": {},
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Typeform Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Google Cloud Natural Language",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Google Cloud Natural Language": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"name": "Mattermost",
|
||||
"type": "n8n-nodes-base.mattermost",
|
||||
"position": [
|
||||
810,
|
||||
300
|
||||
],
|
||||
"parameters": {
|
||||
"message": "=You got new feedback with a score of {{$json[\"SentimentScore\"][\"Negative\"]}}. Here is what it says:{{$node[\"Typeform Trigger\"].json[\"What did you think about the event?\"]}}",
|
||||
"channelId": "h7cxrd1cefr13x689enzyw7xhc",
|
||||
"attachments": [],
|
||||
"otherOptions": {}
|
||||
},
|
||||
"credentials": {
|
||||
"mattermostApi": "Mattermost Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "NoOp",
|
||||
"type": "n8n-nodes-base.noOp",
|
||||
"position": [
|
||||
800,
|
||||
500
|
||||
],
|
||||
"parameters": {},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "IF",
|
||||
"type": "n8n-nodes-base.if",
|
||||
"position": [
|
||||
600,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"conditions": {
|
||||
"number": [],
|
||||
"string": [
|
||||
{
|
||||
"value1": "={{$json[\"Sentiment\"]}}",
|
||||
"value2": "NEGATIVE"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "AWS Comprehend",
|
||||
"type": "n8n-nodes-base.awsComprehend",
|
||||
"position": [
|
||||
400,
|
||||
400
|
||||
],
|
||||
"parameters": {
|
||||
"text": "={{$json[\"What did you think about the event?\"]}}",
|
||||
"operation": "detectSentiment"
|
||||
},
|
||||
"credentials": {
|
||||
"aws": "AWS Comprehend Credentials"
|
||||
},
|
||||
"typeVersion": 1
|
||||
},
|
||||
{
|
||||
"name": "Typeform Trigger",
|
||||
"type": "n8n-nodes-base.typeformTrigger",
|
||||
"position": [
|
||||
200,
|
||||
400
|
||||
],
|
||||
"webhookId": "ad8a87ef-d293-4e48-8d36-838d69ebce0f",
|
||||
"parameters": {
|
||||
"formId": "DuJHEGW5"
|
||||
},
|
||||
"credentials": {
|
||||
"typeformApi": "typeform"
|
||||
},
|
||||
"typeVersion": 1
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"IF": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Mattermost",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "NoOp",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"AWS Comprehend": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "IF",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Typeform Trigger": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "AWS Comprehend",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user