Envío de recordatorios de retroalimentación post-entrevista a Slack desde Google Sheets (con respaldo por correo)

Intermedio

Este es unHR, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como If, Gmail, Slack, GoogleSheets, ScheduleTrigger. Automatizar los recordatorios de comentarios post-entrevista con Google Sheets, Slack y Gmail

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Bot Token de Slack o URL de Webhook
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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": "Nota adhesiva",
      "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": "Nota adhesiva1",
      "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": "Activador de recordatorio diario",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -120,
        160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 18
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ee420d16-40b5-4faf-9501-bc9a8228ec04",
      "name": "Obtener datos de retroalimentación de entrevistas",
      "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": "Verificar si se envió la retroalimentación",
      "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": "Check for 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": "Send Slack Reminder",
      "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": "Enviar recordatorio por correo electrónico",
      "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": "Actualizar estado del recordatorio",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Recursos Humanos, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos9
Categoría2
Tipos de nodos6
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
WeblineIndia

WeblineIndia

@weblineindia

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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34