{
  "name": "New hire onboarding checklist (Agent Routines)",
  "nodes": [
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SHEET_ID"
        },
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Hires"
        },
        "event": "rowAdded",
        "options": {}
      },
      "id": "6def09ce-3f49-5170-9828-68eee563eb92",
      "name": "New hire row",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "typeVersion": 1,
      "position": [
        250,
        300
      ],
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "REPLACE_ME",
          "name": "Google Sheets Trigger account"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Return JSON only. Keys: tasks (array of strings), welcome_subject, welcome_body."
            },
            {
              "content": "=New hire: {{ JSON.stringify($json) }}\n\nWorkflow: Google Sheets trigger on new row (name, email, role, start date) -> create a task list in your project tool with role-specific onboarding steps -> draft a welcome email with first-week schedule -> schedule a reminder to the manager 1 day before the start date and a check-in on day 7."
            }
          ]
        },
        "jsonOutput": true,
        "options": {}
      },
      "id": "5177b785-4677-5658-9bbc-e9d7431f5a33",
      "name": "Plan onboarding",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        490,
        300
      ],
      "credentials": {
        "openAiApi": {
          "id": "REPLACE_ME",
          "name": "OpenAI account"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://YOUR_PROJECT_TOOL_API/tasks",
        "options": {
          "response": {
            "response": {
              "fullResponse": true,
              "neverError": true
            }
          },
          "timeout": 10000
        }
      },
      "id": "acf41613-c73d-5df3-a02c-3b27b36f8962",
      "name": "Create tasks in project tool",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        730,
        300
      ]
    },
    {
      "parameters": {
        "resource": "draft",
        "subject": "={{ $('Plan onboarding').item.json.message.content.welcome_subject }}",
        "message": "={{ $('Plan onboarding').item.json.message.content.welcome_body }}",
        "options": {
          "sendTo": "={{ $('New hire row').item.json.email }}"
        }
      },
      "id": "83617d4a-1ad2-5095-aa34-202f7ee54c01",
      "name": "Draft welcome email",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        730,
        460
      ],
      "credentials": {
        "gmailOAuth2": {
          "id": "REPLACE_ME",
          "name": "Gmail account"
        }
      }
    },
    {
      "parameters": {
        "resume": "specificTime",
        "dateTime": "={{ DateTime.fromISO($('New hire row').item.json['start date']).minus({days:1}).toISO() }}"
      },
      "id": "690f8681-3dd4-574b-874b-3d686bc2eb3d",
      "name": "Wait until day before start",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        730,
        620
      ]
    },
    {
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#people"
        },
        "text": "={{ $('New hire row').item.json.name }} starts tomorrow as {{ $('New hire row').item.json.role }}.",
        "otherOptions": {}
      },
      "id": "7d3da2d7-972a-5651-a2cb-d7c45894d3fd",
      "name": "Remind manager",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        970,
        300
      ],
      "credentials": {
        "slackApi": {
          "id": "REPLACE_ME",
          "name": "Slack account"
        }
      }
    },
    {
      "parameters": {
        "resume": "specificTime",
        "dateTime": "={{ DateTime.fromISO($('New hire row').item.json['start date']).plus({days:7}).toISO() }}"
      },
      "id": "ac60e328-f98a-52cd-80db-a73dbea16434",
      "name": "Wait until day 7",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1210,
        300
      ]
    },
    {
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#people"
        },
        "text": "=Day 7 check-in due for {{ $('New hire row').item.json.name }}.",
        "otherOptions": {}
      },
      "id": "ef699686-3472-5a76-adcd-1c522decd395",
      "name": "Day 7 check-in",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        1450,
        300
      ],
      "credentials": {
        "slackApi": {
          "id": "REPLACE_ME",
          "name": "Slack account"
        }
      }
    }
  ],
  "connections": {
    "New hire row": {
      "main": [
        [
          {
            "node": "Plan onboarding",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Plan onboarding": {
      "main": [
        [
          {
            "node": "Create tasks in project tool",
            "type": "main",
            "index": 0
          },
          {
            "node": "Draft welcome email",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait until day before start",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait until day before start": {
      "main": [
        [
          {
            "node": "Remind manager",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remind manager": {
      "main": [
        [
          {
            "node": "Wait until day 7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait until day 7": {
      "main": [
        [
          {
            "node": "Day 7 check-in",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": false,
    "source": "https://agentroutines.si/r/new-hire-onboarding-checklist/"
  },
  "tags": []
}