{
  "id": "JIlw9lSYaoxAGNkK",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Onboard new employees using Zoom, Asana, and Monday.com",
  "tags": [],
  "nodes": [
    {
      "id": "generated-10f47ecc-1220-4e31-997d-f4b05bd8c5d4",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        -1072
      ],
      "parameters": {
        "width": 536,
        "height": 688,
        "content": "## Onboard new employees using Zoom, Asana, and Monday.com - Workflow Overview\n\n### How it works\n\nThis workflow automates the onboarding process for newly joined employees using Monday.com as the source of truth. It runs on a schedule and checks for employees whose status is marked as \u201cJoined\u201d and not yet processed.\n\nFor each eligible employee, the workflow creates an onboarding task in Asana with a predefined checklist, sends a personalized welcome email via Gmail, and schedules a Zoom introduction meeting. Once the Zoom meeting is created, the join link is automatically added back to the employee\u2019s item in Monday.com.\n\nFinally, the workflow updates the employee\u2019s status to \u201cProcessed\u201d to ensure the same record is not handled again in future runs.\n\n### Setup steps\n\n1. Connect your Monday.com account and update the board ID and column IDs to match your board.\n2. Configure Asana credentials and select the project and assignee for onboarding tasks.\n3. Connect Gmail and customize the welcome email content if needed.\n4. Connect your Zoom account to enable automatic meeting creation.\n5. Review the schedule trigger timing and adjust it based on how often you want onboarding to run.\n"
      }
    },
    {
      "id": "generated-b0f31eca-fcd4-444d-b332-5da6bd10dcbc",
      "name": "Trigger & Data Retrieval",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 352,
        "content": "### Scheduling and employee detection\n\nThis workflow runs on a schedule and fetches employees from Monday.com whose status is marked as Joined and not yet processed."
      }
    },
    {
      "id": "generated-14689c7b-495b-4670-9d5a-90d004c1ccf1",
      "name": "Task Creation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -176
      ],
      "parameters": {
        "color": 7,
        "width": 540,
        "height": 360,
        "content": "### Task Creation and Welcome Email\n\nCreates an onboarding checklist task in Asana and sends a personalized welcome email to the new employee.\n"
      }
    },
    {
      "id": "generated-a8b0895f-f975-4052-97d9-de304746bbc1",
      "name": "Intro Meeting & Update",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 656,
        "content": "### Intro Meeting and Updates\n\nSchedules a 30-minute Zoom introductory meeting for the new employee.\nUpdates Zoom link and marks employee as processed in Monday.com.\n\n"
      }
    },
    {
      "id": "e8a34d15-f06a-4366-b6bd-917db18d92d8",
      "name": "Update Employee Zoom Link",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        960,
        -96
      ],
      "parameters": {
        "value": "={\n  \"url\": \"{{ $json.join_url }}\",\n  \"text\": \"Join Intro Call\"\n}\n",
        "itemId": "={{ $('Fetch joined employees from Monday.com').item.json.id }}",
        "boardId": "5025720609",
        "columnId": "link_mkyxc6hk",
        "resource": "boardItem",
        "operation": "changeColumnValue"
      },
      "credentials": {
        "mondayComApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "62465c20-8297-4604-9dbc-282b868f4453",
      "name": "Filter \u2013 Skip Already Processed Employees",
      "type": "n8n-nodes-base.filter",
      "position": [
        -96,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8d284e3a-3d3e-49c8-9e02-fa6a17df5110",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.column_values[7].text }}",
              "rightValue": "=Processed"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "3c31f873-b65f-47f4-a0d5-e3d264b83491",
      "name": "Check for newly joined employees",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -560,
        16
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 1
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "1b66453f-2345-4f5d-b553-f805b3853da7",
      "name": "Create onboarding task in Asana",
      "type": "n8n-nodes-base.asana",
      "position": [
        192,
        16
      ],
      "parameters": {
        "name": "=Onboarding \u2013 {{ $json.column_values[1].text }}",
        "workspace": "1205967598025927",
        "authentication": "oAuth2",
        "otherProperties": {
          "notes": "=New employee onboarding checklist.\n\nEmployee Name:\n{{ $json.column_values[1].text }}\n\nTasks to complete:\n\u2022 Create company email\n\u2022 Grant tool access\n\u2022 Share policies & handbook\n\u2022 Assign mentor\n\u2022 Schedule intro meetings\n",
          "due_on": "={{ $now }}",
          "assignee": "1212557659831213",
          "projects": [
            "1212555032005130"
          ]
        }
      },
      "credentials": {
        "asanaOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "593d5711-0caa-498c-a3af-00b298d8e6c9",
      "name": "Schedule Zoom intro meeting",
      "type": "n8n-nodes-base.zoom",
      "position": [
        736,
        16
      ],
      "parameters": {
        "topic": "=Welcome & Team Introduction \u2013 {{ $('Fetch joined employees from Monday.com').item.json.column_values[1].text }}",
        "authentication": "oAuth2",
        "additionalFields": {
          "duration": 30,
          "startTime": "={{ new Date(Date.now() + 86400000).toISOString() }}\n"
        }
      },
      "credentials": {
        "zoomOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7bc67075-f97d-4b84-85e0-765577a6900e",
      "name": "Send welcome email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        480,
        16
      ],
      "parameters": {
        "sendTo": "={{ $('Fetch joined employees from Monday.com').item.json.column_values[6].text }}",
        "message": "=Hi {{ $('Fetch joined employees from Monday.com').item.json.column_values[1].text }},  \n\nWelcome to the team! We\u2019re excited to have you join us. \n\nYour onboarding process has been initiated. \nYou\u2019ll soon receive access details and next steps.\n\nLooking forward to working with you!  \u2013 HR Team",
        "options": {},
        "subject": "=Welcome to the Team,{{ $('Fetch joined employees from Monday.com').item.json.column_values[1].text }}! \ud83c\udf89",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "380226fc-eed6-4de5-a449-6a1e759e4ea3",
      "name": "Fetch joined employees from Monday.com",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        -320,
        16
      ],
      "parameters": {
        "boardId": "5025720609",
        "columnId": "project_status",
        "resource": "boardItem",
        "operation": "getByColumnValue",
        "returnAll": true,
        "columnValue": "Joined"
      },
      "credentials": {
        "mondayComApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "deb06ff4-0f1b-45bd-99cf-8b65b7c98e69",
      "name": "Mark employee as processed",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        992,
        144
      ],
      "parameters": {
        "value": "={\n  \"label\": \"Processed\"\n}\n",
        "itemId": "={{ $('Fetch joined employees from Monday.com').item.json.id }}",
        "boardId": "5025720609",
        "columnId": "color_mkz3c6wx",
        "resource": "boardItem",
        "operation": "changeColumnValue"
      },
      "credentials": {
        "mondayComApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e6157a85-054c-49c6-b9da-57965519b16d",
  "connections": {
    "Send welcome email": {
      "main": [
        [
          {
            "node": "Schedule Zoom intro meeting",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Zoom intro meeting": {
      "main": [
        [
          {
            "node": "Update Employee Zoom Link",
            "type": "main",
            "index": 0
          },
          {
            "node": "Mark employee as processed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create onboarding task in Asana": {
      "main": [
        [
          {
            "node": "Send welcome email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for newly joined employees": {
      "main": [
        [
          {
            "node": "Fetch joined employees from Monday.com",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch joined employees from Monday.com": {
      "main": [
        [
          {
            "node": "Filter \u2013 Skip Already Processed Employees",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter \u2013 Skip Already Processed Employees": {
      "main": [
        [
          {
            "node": "Create onboarding task in Asana",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}