Workflow: develop a modular n8n workflow that supports Github Stickynote Create Triggered
Integrations: function, githubTrigger, if, notion, stickyNote, switch

{"meta": {"instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"}, "nodes": [{"id": "0bd18974-8414-4b83-b3fb-85d2f6a74164", "name": "Create database page", "type": "n8n-nodes-base.notion", "position": [1220, 400], "parameters": {"title": "={{$json[\"body\"][\"issue\"][\"title\"]}}", "resource": "databasePage", "databaseId": "5026700b-6693-473a-8100-8cc6ddef62a6", "propertiesUi": {"propertyValues": [{"key": "Issue ID|number", "numberValue": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"id\"]}}"}, {"key": "Link|url", "urlValue": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"html_url\"]}}"}]}}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "dfce23fd-7ff8-42d1-9544-694345156080", "name": "Note", "type": "n8n-nodes-base.stickyNote", "position": [1220, 800], "parameters": {"content": "## IF & Switch\nDepends on what action was taken on an issue in GitHub."}, "typeVersion": 1}, {"id": "577e0d7a-0539-414f-8ec8-00ce12807d5b", "name": "Find database page", "type": "n8n-nodes-base.notion", "position": [1400, 600], "parameters": {"options": {}, "resource": "databasePage", "operation": "getAll", "returnAll": true, "databaseId": "5026700b-6693-473a-8100-8cc6ddef62a6", "filterJson": "={{$node[\"Create custom Notion filters\"].json[\"notionfilter\"]}}", "filterType": "json"}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "91b0586c-eb08-41d0-bbb0-8a03c4a0ac3a", "name": "Switch", "type": "n8n-nodes-base.switch", "position": [1580, 600], "parameters": {"rules": {"rules": [{"value2": "edited"}, {"output": 1, "value2": "deleted"}, {"output": 2, "value2": "closed"}, {"output": 3, "value2": "reopened"}]}, "value1": "={{$node[\"Trigger on issues\"].json[\"body\"][\"action\"]}}", "dataType": "string"}, "typeVersion": 1}, {"id": "5262e14e-adc2-45d1-9e3f-c0eba013077a", "name": "IF", "type": "n8n-nodes-base.if", "position": [1040, 500], "parameters": {"conditions": {"string": [{"value1": "={{$node[\"Trigger on issues\"].json[\"body\"][\"action\"]}}", "value2": "opened"}]}}, "typeVersion": 1}, {"id": "735ef0b3-70c3-4a88-ad02-35edf8f749c4", "name": "Edit issue", "type": "n8n-nodes-base.notion", "position": [1760, 360], "parameters": {"pageId": "={{ $node[\"Find database page\"].json[\"id\"] }}", "resource": "databasePage", "operation": "update", "propertiesUi": {"propertyValues": [{"key": "Issue|title", "title": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"title\"]}}"}]}}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "39b75e78-bd62-40e4-9e88-12c6a1901c34", "name": "Delete issue", "type": "n8n-nodes-base.notion", "position": [1760, 520], "parameters": {"pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "operation": "archive"}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "d8fee72d-c19d-4b99-85c2-dcc5d4fa6756", "name": "Create custom Notion filters", "type": "n8n-nodes-base.function", "position": [1220, 600], "parameters": {"functionCode": "const new_items = [];\nfor (item of $items(\"Trigger on issues\")) {\n\n  // do not process this item if action is created\n  if (item.json[\"body\"][\"action\"] == \"opened\") {\n    continue;\n  }\n\n  // build the output template\n  var new_item = {\n    \"json\": {\n      \"notionfilter\": \"\"\n    }\n  };\n  new_item = JSON.stringify(new_item);\n  new_item = JSON.parse(new_item);\n  new_items.push(new_item);\n\n  // create Notion filter to find specific database page by issue ID\n  notionfilter = {\n    or: [],\n  }\n\n  const filter = {\n    property: 'Issue ID',\n    number: {\n      equals: parseInt(item.json[\"body\"][\"issue\"][\"id\"])\n    }\n  }\n  notionfilter[\"or\"].push(filter);\n\n  new_item.json.notionfilter = JSON.stringify(notionfilter); \n}\n\nreturn new_items;"}, "typeVersion": 1}, {"id": "99c69200-d932-4379-9a36-96cd8420f21c", "name": "Close issue", "type": "n8n-nodes-base.notion", "position": [1760, 680], "parameters": {"pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "resource": "databasePage", "operation": "update", "propertiesUi": {"propertyValues": [{"key": "Closed|checkbox", "checkboxValue": true}]}}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "3f4b27d3-33ae-44f8-ab18-1c23ae7cf890", "name": "Reopen issue", "type": "n8n-nodes-base.notion", "position": [1760, 840], "parameters": {"pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "resource": "databasePage", "operation": "update", "propertiesUi": {"propertyValues": [{"key": "Closed|checkbox"}]}}, "credentials": {"notionApi": {"id": "9", "name": "[UPDATE ME]"}}, "typeVersion": 2}, {"id": "62e1a9d3-3fc6-46de-a048-cf8176f30f94", "name": "Trigger on issues", "type": "n8n-nodes-base.githubTrigger", "position": [860, 500], "webhookId": "bc0a0a44-00db-473b-8746-b60b3b36039c", "parameters": {"owner": "John-n8n", "events": ["issues"], "repository": "DemoRepo"}, "credentials": {"githubApi": {"id": "20", "name": "[UPDATE ME]"}}, "typeVersion": 1}], "connections": {"IF": {"main": [[{"node": "Create database page", "type": "main", "index": 0}], [{"node": "Create custom Notion filters", "type": "main", "index": 0}]]}, "Switch": {"main": [[{"node": "Edit issue", "type": "main", "index": 0}], [{"node": "Delete issue", "type": "main", "index": 0}], [{"node": "Close issue", "type": "main", "index": 0}], [{"node": "Reopen issue", "type": "main", "index": 0}]]}, "Trigger on issues": {"main": [[{"node": "IF", "type": "main", "index": 0}]]}, "Find database page": {"main": [[{"node": "Switch", "type": "main", "index": 0}]]}, "Create custom Notion filters": {"main": [[{"node": "Find database page", "type": "main", "index": 0}]]}}}