8
n8n 한국어amn8n.com

Google Sheets에서 Slack으로 면접 후 피드백 알림 전송(이메일 대체方案 포함)

중급

이것은HR, Multimodal AI분야의자동화 워크플로우로, 9개의 노드를 포함합니다.주로 If, Gmail, Slack, GoogleSheets, ScheduleTrigger 등의 노드를 사용하며. Google Sheets, Slack 및 Gmail을 사용한 면접 후 피드백 알림 자동화

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • Slack Bot Token 또는 Webhook URL
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "kLHXGgGMQNnfjVW8",
  "meta": {
    "instanceId": "14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa",
    "templateCredsSetupCompleted": true
  },
  "name": "Send Post‑Interview Feedback Nudges from Google Sheets to Slack (with Email Fallback)",
  "tags": [],
  "nodes": [
    {
      "id": "3c94fc35-7f70-44f8-8084-74ef9e86305e",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -180,
        -20
      ],
      "parameters": {
        "width": 1620,
        "height": 560,
        "content": "## Send Post‑Interview Feedback Nudges from Google Sheets to Slack (with Email Fallback)"
      },
      "typeVersion": 1
    },
    {
      "id": "7915c9b3-beea-41c6-a1d8-34dd1a5b52c1",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -180,
        580
      ],
      "parameters": {
        "width": 1620,
        "height": 380,
        "content": "## Description:\n- The workflow starts with a Schedule Trigger node named \"Daily Reminder Trigger\", which runs every day at 6:00 PM to initiate the process.\n\n- The next node, named \"Fetch Interview Feedback Data\", is a Google Sheets (Read Sheet) node that pulls all the interview entries from a spreadsheet.\n\n- An IF node named \"Check If Feedback Is Submitted\" filters the entries, allowing only those where the Feedback Submitted field is not marked as \"Yes\" to move forward.\n\n- The next IF node named \"Check for Slack ID\" evaluates whether a valid Slack ID exists for each pending feedback row.\n\n- If Slack ID exists, the workflow proceeds to the \"Send Slack Reminder\" node, which is a Slack (Post Message) node sending a personalized DM reminder to the interviewer.\n\n- If Slack ID is missing, the workflow uses the \"Send Email Reminder\" node, a Gmail (Send Message) node, to send an email notification to the interviewer.\n\n- Regardless of whether the reminder was sent via Slack or Email, the final step is handled by a Google Sheets (Append or Update) node named \"Update Reminder Status\".\n\n- This node updates the sheet and marks the Reminder Sent or Feedback Submitted column as \"Yes\" to prevent further reminders for the same entry in future workflow executions."
      },
      "typeVersion": 1
    },
    {
      "id": "38bcc7d4-df73-4ccb-a7a0-618540a48310",
      "name": "일일 알림 트리거",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -120,
        160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 18
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ee420d16-40b5-4faf-9501-bc9a8228ec04",
      "name": "면접 피드백 데이터 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        120,
        160
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1780789038,
          "cachedResultUrl": "",
          "cachedResultName": "Interview_Feedback"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1cQ-TBf3-dqo7njDYzYpxpASYFvEp8lIzH7vpIqTLcwc",
          "cachedResultUrl": "",
          "cachedResultName": "N8N_Email_Attachment"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "zkQXt1viHat7vaB3",
          "name": "Google Sheets account 6"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "3440d46a-fd6b-428c-a77b-06b03b522847",
      "name": "피드백 제출 여부 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        360,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "28cdc419-2495-4936-bdee-f871ba07cc2d",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json[\"Feedback Submitted (Y/N)\"] }}",
              "rightValue": "Y"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c9fff58b-e8f0-40b7-90b1-c6fb63416ef0",
      "name": "Slack ID 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        640,
        180
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "42475361-d80f-44c0-b7b6-b3bd15a6281e",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json[\"Candidate Slack Id\"] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f2ac87d5-06d8-417c-aeed-f41fb49085e1",
      "name": "Slack 알림 보내기",
      "type": "n8n-nodes-base.slack",
      "position": [
        940,
        300
      ],
      "webhookId": "6d603894-f9e9-4cf8-8f53-f69810fa4e78",
      "parameters": {
        "text": "={{ $json[\"Areas of Improvement\"] }}",
        "user": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json[\"Candidate Slack Id\"] }}"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "HlObxWRUmnuebuJP",
          "name": "Interview_feedback_Slack"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "3564776b-8617-4857-95b7-c12ba50a3268",
      "name": "이메일 알림 보내기",
      "type": "n8n-nodes-base.gmail",
      "position": [
        940,
        60
      ],
      "webhookId": "9ec6e88c-d28e-460f-bc29-ff97b4024526",
      "parameters": {
        "sendTo": "={{ $json[\"Candidate Email\"] }}",
        "message": "={{ $json[\"Areas of Improvement\"] }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $json.Recommendation }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YqeBbKp4FvFiADc0",
          "name": "Gmail account 7"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c6513c53-c950-4eb8-bb75-d21167549b3a",
      "name": "알림 상태 업데이트",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1200,
        180
      ],
      "parameters": {
        "columns": {
          "value": {
            "Position": "={{ $('Check for Slack ID').item.json.Position }}",
            "Strengths": "={{ $('Check for Slack ID').item.json.Strengths }}",
            "Interview ID": "={{ $('Check for Slack ID').item.json[\"Interview ID\"] }}",
            "Candidate Name": "={{ $('Check for Slack ID').item.json[\"Candidate Name\"] }}",
            "Interview Date": "={{ $('Check for Slack ID').item.json[\"Interview Date\"] }}",
            "Rating (1–5)": "={{ $('Check for Slack ID').item.json[\"Rating (1–5)\"] }}",
            "Recommendation": "={{ $('Check for Slack ID').item.json.Recommendation }}",
            "Candidate Email": "={{ $('Check for Slack ID').item.json[\"Candidate Email\"] }}",
            "Interview Stage": "={{ $('Check for Slack ID').item.json[\"Interview Stage\"] }}",
            "Interviewer Name": "={{ $('Check for Slack ID').item.json[\"Interviewer Name\"] }}",
            "Skills Evaluated": "={{ $('Check for Slack ID').item.json[\"Skills Evaluated\"] }}",
            "Candidate Slack Id": "={{ $('Check for Slack ID').item.json[\"Candidate Slack Id\"] }}",
            "Additional Comments": "={{ $('Check for Slack ID').item.json[\"Additional Comments\"] }}",
            "Areas of Improvement": "={{ $('Check for Slack ID').item.json[\"Areas of Improvement\"] }}",
            "Feedback Submitted (Y/N)": "=Y"
          },
          "schema": [
            {
              "id": "Interview ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Interview ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Candidate Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Candidate Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Candidate Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Candidate Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Candidate Slack Id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Candidate Slack Id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Interviewer Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Interviewer Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Interview Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Interview Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Interview Stage",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Interview Stage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Position",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Skills Evaluated",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Skills Evaluated",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Rating (1–5)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Rating (1–5)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Strengths",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Strengths",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Areas of Improvement",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Areas of Improvement",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Recommendation",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Recommendation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Additional Comments",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Additional Comments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback Submitted (Y/N)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Feedback Submitted (Y/N)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Feedback Submitted (Y/N)"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1780789038,
          "cachedResultUrl": "",
          "cachedResultName": "Interview_Feedback"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1cQ-TBf3-dqo7njDYzYpxpASYFvEp8lIzH7vpIqTLcwc",
          "cachedResultUrl": "",
          "cachedResultName": "N8N_Email_Attachment"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "zkQXt1viHat7vaB3",
          "name": "Google Sheets account 6"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": true
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "254a0e91-bb2b-4271-8036-a3908acde0ae",
  "connections": {
    "c9fff58b-e8f0-40b7-90b1-c6fb63416ef0": {
      "main": [
        [
          {
            "node": "3564776b-8617-4857-95b7-c12ba50a3268",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f2ac87d5-06d8-417c-aeed-f41fb49085e1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3564776b-8617-4857-95b7-c12ba50a3268": {
      "main": [
        [
          {
            "node": "c6513c53-c950-4eb8-bb75-d21167549b3a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f2ac87d5-06d8-417c-aeed-f41fb49085e1": {
      "main": [
        [
          {
            "node": "c6513c53-c950-4eb8-bb75-d21167549b3a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "38bcc7d4-df73-4ccb-a7a0-618540a48310": {
      "main": [
        [
          {
            "node": "ee420d16-40b5-4faf-9501-bc9a8228ec04",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6513c53-c950-4eb8-bb75-d21167549b3a": {
      "main": [
        []
      ]
    },
    "ee420d16-40b5-4faf-9501-bc9a8228ec04": {
      "main": [
        [
          {
            "node": "3440d46a-fd6b-428c-a77b-06b03b522847",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3440d46a-fd6b-428c-a77b-06b03b522847": {
      "main": [
        [],
        [
          {
            "node": "c9fff58b-e8f0-40b7-90b1-c6fb63416ef0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 인사, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수9
카테고리2
노드 유형6
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
WeblineIndia

WeblineIndia

@weblineindia

A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34