Google CalendarとGmailを使った自動候補者インタビュー跟踪システム

中級

これはHR分野の自動化ワークフローで、13個のノードを含みます。主にIf, Gmail, Filter, Webhook, GoogleSheetsなどのノードを使用。 Google Calendar、Sheets、およびGmailアラートを使用したインタビューの自動追跡

前提条件
  • Googleアカウント + Gmail API認証情報
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "fgGjrwJD0wsrTF4C",
  "meta": {
    "instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
    "templateCredsSetupCompleted": true
  },
  "name": "Automated Candidate Interview Tracker with Google Calendar & Gmail Alerts",
  "tags": [],
  "nodes": [
    {
      "id": "40220665-8466-4ca5-a665-59b1b7fb4dcd",
      "name": "5分ごとにチェック",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        144,
        -64
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1",
      "name": "カレンダーイベントを取得",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        368,
        -64
      ],
      "parameters": {
        "options": {
          "timeMax": "={{ $now.plus({ hours: 1 }).toISO() }}",
          "timeMin": "={{ $now.toISO() }}"
        },
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "=76iujhgtr4321eryi8"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "6ldLmzzYtaqng4pw",
          "name": "Google Calendar account - test"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e600def1-33a8-433b-978a-5bd334d4e861",
      "name": "今後の面接をフィルタリング",
      "type": "n8n-nodes-base.filter",
      "position": [
        592,
        -64
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "condition1",
              "operator": {
                "type": "dateTime",
                "operation": "before",
                "singleValue": true
              },
              "leftValue": "={{ $json.start.dateTime }}",
              "rightValue": "={{ $now.plus({ minutes: 5 }).toISO() }}"
            },
            {
              "id": "condition2",
              "operator": {
                "type": "dateTime",
                "operation": "after",
                "singleValue": true
              },
              "leftValue": "={{ $json.start.dateTime }}",
              "rightValue": "={{ $now.toISO() }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "871ea2fb-6f24-4291-888c-94c1a47a6518",
      "name": "Googleシートに追加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        816,
        -160
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SPREADSHEET_ID"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "ScSS2KxGQULuPtdy",
          "name": "Google Sheets- test"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "97b38c41-ea45-4e4b-8318-5da4d3c24135",
      "name": "候補者にリマインダーを送信",
      "type": "n8n-nodes-base.gmail",
      "position": [
        816,
        32
      ],
      "webhookId": "4aa88c2f-aa96-4773-a71b-6dd89843b55a",
      "parameters": {
        "sendTo": "={{ $json.attendees[0].email }}",
        "message": "=<h2>Interview Reminder</h2>\n<p>Dear Candidate,</p>\n<p>Your interview is scheduled to start in <strong>5 minutes</strong>.</p>\n<p><strong>Interview:</strong> {{ $json.summary }}<br>\n<strong>Time:</strong> {{ $json.start.dateTime }}<br>\n<strong>Google Meet Link:</strong> <a href=\"{{ $json.hangoutLink }}\">Join Meeting</a></p>\n<p>Please join on time. Good luck!</p>",
        "options": {},
        "subject": "Interview Reminder - Starting in 5 Minutes"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PcTqvGU9uCunfltE",
          "name": "Gmail account - test"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "53f7164c-9007-4261-8628-24b1bcdac2c7",
      "name": "結果をシートに更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        368,
        352
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SPREADSHEET_ID"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "ScSS2KxGQULuPtdy",
          "name": "Google Sheets- test"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "6780349a-d56e-465c-8dc4-4a23a2523dbf",
      "name": "Webhook: 面接結果を送信",
      "type": "n8n-nodes-base.webhook",
      "position": [
        144,
        352
      ],
      "webhookId": "interview-result-webhook",
      "parameters": {
        "path": "interview-result",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "4269bbb9-8d74-4d20-8053-260836d36478",
      "name": "合格したかチェック",
      "type": "n8n-nodes-base.if",
      "position": [
        592,
        352
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "passed-condition",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.result }}",
              "rightValue": "Pass"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e9572ff4-464a-4956-a14e-2c0b1917a3c3",
      "name": "候補者にメール - 合格",
      "type": "n8n-nodes-base.gmail",
      "position": [
        816,
        256
      ],
      "webhookId": "7b073d4f-6bb9-4b31-aa60-8f9e0cebb3e5",
      "parameters": {
        "sendTo": "={{ $json.candidateEmail }}",
        "message": "=<h2>Congratulations!</h2>\n<p>Dear Candidate,</p>\n<p>We are pleased to inform you that you have <strong>PASSED</strong> the interview.</p>\n<p><strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>Our team will contact you soon with next steps.</p>\n<p>Best regards,<br>HR Team</p>",
        "options": {},
        "subject": "🎉 Congratulations! You Passed the Interview"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PcTqvGU9uCunfltE",
          "name": "Gmail account - test"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "11a09ef5-e424-45db-9923-700ca794fc47",
      "name": "候補者にメール - 不合格",
      "type": "n8n-nodes-base.gmail",
      "position": [
        816,
        448
      ],
      "webhookId": "0ea6d946-1e54-47c6-ae97-7cbeb6c0a919",
      "parameters": {
        "sendTo": "={{ $json.candidateEmail }}",
        "message": "=<h2>Interview Result</h2>\n<p>Dear Candidate,</p>\n<p>Thank you for taking the time to interview with us.</p>\n<p>After careful consideration, we have decided not to move forward with your application at this time.</p>\n<p><strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>We wish you all the best in your future endeavors.</p>\n<p>Best regards,<br>HR Team</p>",
        "options": {},
        "subject": "Interview Result"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PcTqvGU9uCunfltE",
          "name": "Gmail account - test"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
      "name": "管理者にメール",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1040,
        352
      ],
      "webhookId": "13efb4cd-fe47-4727-a220-2825ea71ee75",
      "parameters": {
        "sendTo": "manager@company.com",
        "message": "=<h2>Interview Completed</h2>\n<p><strong>Candidate:</strong> {{ $json.candidateEmail }}<br>\n<strong>Result:</strong> {{ $json.result }}<br>\n<strong>Feedback:</strong> {{ $json.feedback }}</p>\n<p>Updated in Google Sheet.</p>",
        "options": {},
        "subject": "Interview Result: {{ $json.candidateEmail }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PcTqvGU9uCunfltE",
          "name": "Gmail account - test"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0c077145-df34-4e7d-8bf1-31244f07fca9",
      "name": "付箋メモ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -336
      ],
      "parameters": {
        "color": 3,
        "width": 672,
        "height": 208,
        "content": "## Workflow Overview\n\n- **Check Every 5 Minutes**: Triggers the workflow to run every 5 minutes.\n- **Get Calendar Events**: Retrieves upcoming interview events from Google Calendar.\n- **Filter Upcoming Interviews**: Filters the retrieved events to focus on upcoming interviews.\n- **Add to Google Sheet**: Appends filtered interview details to a Google Sheet.\n- **Send Reminder to Candidate**: Sends an email reminder to the candidate via Gmail.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e553920b-784e-4841-b3ec-2fb43307a6a0",
      "name": "付箋メモ1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        96
      ],
      "parameters": {
        "width": 688,
        "height": 224,
        "content": "## Workflow Overview\n\n- **Webhook: Submit Interview Result**: Receives interview result data via a webhook.\n- **Update Sheet with Result**: Updates the Google Sheet with the submitted interview result.\n- **Check if Passed**: Evaluates whether the interview result indicates a pass or fail.\n- **Email Candidate - Passed**: Sends a pass notification email to the candidate via Gmail.\n- **Email Manager**: Sends an email update to the manager via Gmail.\n- **Email Candidate - Failed**: Sends a fail notification email to the candidate via Gmail."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e41094e8-2bbf-499d-a796-e50f5a930408",
  "connections": {
    "4269bbb9-8d74-4d20-8053-260836d36478": {
      "main": [
        [
          {
            "node": "e9572ff4-464a-4956-a14e-2c0b1917a3c3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "11a09ef5-e424-45db-9923-700ca794fc47",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1": {
      "main": [
        [
          {
            "node": "e600def1-33a8-433b-978a-5bd334d4e861",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "40220665-8466-4ca5-a665-59b1b7fb4dcd": {
      "main": [
        [
          {
            "node": "cec5691c-d2e4-4da0-a72f-a5eacc87e4d1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "11a09ef5-e424-45db-9923-700ca794fc47": {
      "main": [
        [
          {
            "node": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e9572ff4-464a-4956-a14e-2c0b1917a3c3": {
      "main": [
        [
          {
            "node": "1d62aabc-dc5b-40d8-9be5-d18eff86a10e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "53f7164c-9007-4261-8628-24b1bcdac2c7": {
      "main": [
        [
          {
            "node": "4269bbb9-8d74-4d20-8053-260836d36478",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e600def1-33a8-433b-978a-5bd334d4e861": {
      "main": [
        [
          {
            "node": "871ea2fb-6f24-4291-888c-94c1a47a6518",
            "type": "main",
            "index": 0
          },
          {
            "node": "97b38c41-ea45-4e4b-8318-5da4d3c24135",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6780349a-d56e-465c-8dc4-4a23a2523dbf": {
      "main": [
        [
          {
            "node": "53f7164c-9007-4261-8628-24b1bcdac2c7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 人事

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数13
カテゴリー1
ノードタイプ8
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Oneclick AI Squad

Oneclick AI Squad

@oneclick-ai

The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34