{
  "name": "\uc18c\uc815_n8n_\uc2ac\ub799\ubd07",
  "nodes": [
    {
      "parameters": {
        "content": "\uc0ac\uc804\uc791\uc5c5 \uc791\uc5c5\n1. [\uc2ac\ub799] \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\uc0dd\uc131\n2. [\uc2ac\ub799 api] \uc571 \uc0dd\uc131\n\uae30\ubcf8\uc124\uc815\n\uc571 \uad8c\ud55c (OAuth & Permission)\n\uc571 \ud648\n \ud45c\uc2dc \uc774\ub984 \uc791\uc131, \ud56d\uc0c1 \uc628\ub77c\uc778 ON, \ud0ed \ud45c\uc2dc ON \n-OAuth \uad8c\ud55c (\ubd07 \ud1a0\ud070, \uc0ac\uc6a9\uc790 \ud1a0\ud070) \ub458\ub2e4 \uc0dd\uc131\ub418\uace0 \uc124\uce58. \n3. [\uc2ac\ub799] \ubd07 \ucd08\ub300\ud558\uae30 \n\uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4 \uc88c\uce21 \ud558\ub2e8  apps \ub780\uc5d0 \ubd07 \ud45c\uc2dc\uc774\ub984 \ud655\uc778\n\ud074\ub9ad \ud6c4 \uc6b0\uce21 \uc0c1\ub2e8 \uc810 \uc138\uac1c \n\uc0c1\uc138\ubcf4\uae30 Open App Details\n\ubd07 \ucd08\ub300\ud560 \ucc44\ub110 \uc120\ud0dd\nAdd testbot too a channel ",
        "height": 336,
        "width": 416
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        0
      ],
      "typeVersion": 1,
      "id": "e14c0626-51b9-4620-bdee-38fb47d189cd",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "24ef1afb-ecbb-470d-b7a9-32d6089cc86c",
              "name": "=\uadfc\ubb34\uc2dc\uac04",
              "value": "={{ DateTime.fromMillis($json.ts * 1000).setZone('Asia/Seoul').toFormat('yyyy-MM-dd HH:mm:ss') }}",
              "type": "string"
            },
            {
              "id": "5c86a0d4-b38b-4950-b2a9-6f67611b48b7",
              "name": "\uc0ac\uc6a9\uc790\uc774\ub984",
              "value": "={{ $json.real_name }}",
              "type": "string"
            },
            {
              "id": "19831c1a-c9a2-4370-a4b0-cf53fd4e3fd1",
              "name": "\uad6c\ubd84",
              "value": "={{ $json.text.includes('\ucd9c\uadfc') ? '\ucd9c\uadfc' : '\ud1f4\uadfc' }}",
              "type": "string"
            },
            {
              "id": "1286aa03-a20c-4d78-befc-bb5d17d1a80a",
              "name": "\uc6d0\ubcf8\uba54\uc2dc\uc9c0",
              "value": "={{ $json.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -624,
        512
      ],
      "id": "d3522551-0253-4cac-989f-ee2d3fbcddb1",
      "name": "Edit Fields2"
    },
    {
      "parameters": {
        "resource": "channel",
        "operation": "replies",
        "channelId": {
          "__rl": true,
          "value": "C09S7DBUPND",
          "mode": "list",
          "cachedResultName": "5_\ucd9c\ud1f4\uadfc\uae30\ub85d"
        },
        "ts": "=1763506818.156159",
        "filters": {}
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        -1264,
        496
      ],
      "id": "f67928da-5f73-439f-a92c-cf386c33381f",
      "name": "Get a thread",
      "alwaysOutputData": true,
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "combine",
        "combineBy": "combineByPosition",
        "options": {}
      },
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.2,
      "position": [
        -784,
        512
      ],
      "id": "9e11ab2d-66cd-4f1b-8b3f-906b333c72fd",
      "name": "Merge"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1xQYG995Z2sr8L5Vn4rYmhS4jxOnc_SZYjhP2BP1p4TE",
          "mode": "list",
          "cachedResultName": "[\uc9c0\uc9c0\ud50c\ub7a9] \uadfc\ud0dc\ub0b4\uc5ed",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xQYG995Z2sr8L5Vn4rYmhS4jxOnc_SZYjhP2BP1p4TE/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1859397282,
          "mode": "list",
          "cachedResultName": "\uc2dc\ud2b84",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xQYG995Z2sr8L5Vn4rYmhS4jxOnc_SZYjhP2BP1p4TE/edit#gid=1859397282"
        },
        "columns": {
          "mappingMode": "autoMapInputData",
          "value": {},
          "matchingColumns": [],
          "schema": [
            {
              "id": "\uad6c\ubd84",
              "displayName": "\uad6c\ubd84",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\uadfc\ubb34\uc2dc\uac04",
              "displayName": "\uadfc\ubb34\uc2dc\uac04",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\ub0a0\uc9dc",
              "displayName": "\ub0a0\uc9dc",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\uc2dc\uac04",
              "displayName": "\uc2dc\uac04",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\uc0ac\uc6a9\uc790\uc774\ub984",
              "displayName": "\uc0ac\uc6a9\uc790\uc774\ub984",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "\uc6d0\ubcf8\uba54\uc2dc\uc9c0",
              "displayName": "\uc6d0\ubcf8\uba54\uc2dc\uc9c0",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        -448,
        512
      ],
      "id": "e97fae22-a252-454a-a3d9-6f1dc4bc2404",
      "name": "Append row in sheet1",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getPermalink",
        "channelId": {
          "__rl": true,
          "value": "C09S7DBUPND",
          "mode": "list",
          "cachedResultName": "5_\ucd9c\ud1f4\uadfc\uae30\ub85d"
        },
        "timestamp": 1763506818.156159
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        -1456,
        496
      ],
      "id": "f93ff4af-251f-4266-a3c2-d3abc1e7d514",
      "name": "Get a message permalink",
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "\uc6cc\ud06c\ud50c\ub85c\uc6b0 \uc124\uba85\nSlack (Get Messages): \ud0c0\uc784\uc2a4\ud0ec\ud504\ub97c \ud1b5\ud574 \uba54\uc2dc\uc9c0\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nSlack (Get a thread): \ud574\ub2f9 \uba54\uc2dc\uc9c0\uc758 \uc2a4\ub808\ub4dc(\ub313\uae00)\ub97c \ubaa8\ub450 \uac00\uc838\uc635\ub2c8\ub2e4.\n\nFunction : \ubd07\uacfc \uad00\ub9ac\uc790(U09PV8GNYDV)\ub97c \uc81c\uc678\ud558\uace0, \ud14d\uc2a4\ud2b8\uc5d0 '\ucd9c\uadfc' \ub610\ub294 '\ud1f4\uadfc' \ud0a4\uc6cc\ub4dc\uac00 \ud3ec\ud568\ub41c \uc0ac\uc6a9\uc790 \uba54\uc2dc\uc9c0\ub9cc \ucd94\ucd9c\n\nSlack (Get Information about user): \uc870\uac74\uc5d0 \ud574\ub2f9\ud558\ub294 \uc0ac\uc6a9\uc790\uc758 real_name \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \n\nMerge Node: \ud544\ud130\ub9c1\ub41c \uba54\uc2dc\uc9c0 \ub370\uc774\ud130\uc640 \uc0ac\uc6a9\uc790 \uc774\ub984 \ub370\uc774\ud130\ub97c \ud569\uce69\ub2c8\ub2e4.\n\nEdit Fields2 (Set Node): \ub370\uc774\ud130\ub97c \uc815\ub9ac\ud558\uace0 \uc2dc\uac04\ub300\ub97c \ubcc0\ud658\ud558\uba70, \ubd88\ud544\uc694\ud55c \ud544\ub4dc\ub97c \uc81c\uac70\ud569\ub2c8\ub2e4.\n\nGoogle Sheets: \ucd5c\uc885 \ub370\uc774\ud130\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.",
        "height": 336,
        "width": 736
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1104,
        0
      ],
      "typeVersion": 1,
      "id": "3e05de7d-853e-4953-8ccd-637f92ad95f9",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "jsCode": "const items = [];\nconst EXCLUDED_USER_ID = 'U09PV8GNYDV'; // \uc81c\uc678\ud560 \uad00\ub9ac\uc790 ID\ub97c \ubcc0\uc218\ub85c \uc120\uc5b8\n\n// \uc785\ub825\ub41c \ubaa8\ub4e0 \ud56d\ubaa9(Slack \uba54\uc2dc\uc9c0)\uc744 \ubc18\ubcf5\ud569\ub2c8\ub2e4.\nfor (const item of $input.all()) {\n  const user = item.json.user; // \uba54\uc2dc\uc9c0 \uc791\uc131\uc790 ID\n  const text = item.json.text; // \uba54\uc2dc\uc9c0 \ub0b4\uc6a9\n\n  // 1. \uc2ac\ub799\ubd07\uc774 \uc544\ub2c8\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n  const isNotBot = user !== 'USLACKBOT'; \n  \n  // 2. \uad00\ub9ac\uc790 ID (U09PV8GNYDV)\uac00 \uc544\ub2c8\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n  const isNotAdmin = user !== EXCLUDED_USER_ID; \n\n  // 3. \ud14d\uc2a4\ud2b8\uc5d0 '\ucd9c\uadfc' \ub610\ub294 '\ud1f4\uadfc'\uc774 \ud3ec\ud568\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n  const isCheckInOut = text && (text.includes('\ucd9c\uadfc') || text.includes('\ud1f4\uadfc'));\n  \n  // \uc138 \uc870\uac74 (\ubd07\uc774 \uc544\ub2d8 && \uad00\ub9ac\uc790\uac00 \uc544\ub2d8 && \ucd9c\ud1f4\uadfc \ud0a4\uc6cc\ub4dc \ud3ec\ud568)\uc774 \ubaa8\ub450 \ucc38\uc77c \uacbd\uc6b0\uc5d0\ub9cc \ucd9c\ub825\ud569\ub2c8\ub2e4.\n  if (isNotBot && isNotAdmin && isCheckInOut) {\n    items.push(item);\n  }\n}\n\nreturn items;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -1088,
        496
      ],
      "id": "b0a35022-1d7e-4428-b6c7-8fc4964a9719",
      "name": "Code in JavaScript"
    },
    {
      "parameters": {
        "resource": "user",
        "user": {
          "__rl": true,
          "value": "={{ $json.user }}",
          "mode": "id"
        }
      },
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        -928,
        608
      ],
      "id": "74f009c7-3fb9-4bf6-96df-8e93d5114e9f",
      "name": "Get information about a user",
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "trigger": [
          "any_event"
        ],
        "channelId": {
          "__rl": true,
          "value": "C09S7DBUPND",
          "mode": "list",
          "cachedResultName": "5_\ucd9c\ud1f4\uadfc\uae30\ub85d"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.slackTrigger",
      "typeVersion": 1,
      "position": [
        -1632,
        640
      ],
      "id": "9f8038d4-871f-4f46-bc77-1ab35c5fd615",
      "name": "Slack Trigger",
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -1632,
        352
      ],
      "id": "c2ad0992-59c3-4fd4-94a6-400369d53f8d",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -1632,
        496
      ],
      "id": "7b467e31-d783-4eba-83d7-96c6f6261a83",
      "name": "When clicking \u2018Execute workflow\u2019"
    }
  ],
  "connections": {
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Append row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a thread": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a message permalink": {
      "main": [
        [
          {
            "node": "Get a thread",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get information about a user",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get information about a user": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Slack Trigger": {
      "main": [
        []
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Get a message permalink",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bc1c18c2-6066-439b-b30e-aa7f63c337da",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "rkzLE75ewVGfK77y",
  "tags": []
}