AutomationFlowsSlack & Telegram › Client Onboarding Automation: Tally Forms to Google Drive, Notion & Slack

Client Onboarding Automation: Tally Forms to Google Drive, Notion & Slack

ByMuhammad Ahmad @muhammadahmad33 on n8n.io

📝 Automation: Instantly Onboard New Clients from Tally Form to Notion, Google Drive & Slack This automation streamlines the client onboarding process by integrating Tally, Notion, Google Drive, and Slack. When a potential client submits a Tally form, the automation is triggered…

Webhook trigger★★★★☆ complexity8 nodesGoogle DriveNotionSlack
Slack & Telegram Trigger: Webhook Nodes: 8 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #6351 — we link there as the canonical source.

This workflow follows the Google Drive → Slack recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e47dea40-652d-4037-b767-fb408f856738",
      "name": "Create folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        220,
        -200
      ],
      "parameters": {
        "name": "={{ $json.name + \" - Onboarding\" }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "=1rCt7cyX7b3FQSJRDB8bRT4ho9QEUh0mA"
        },
        "resource": "folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "c248ad7e-3560-4b08-b849-313134d3fd8b",
      "name": "Create a database page",
      "type": "n8n-nodes-base.notion",
      "position": [
        880,
        -40
      ],
      "parameters": {
        "title": "Clients",
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "230bb34e-b122-800a-87e4-c5f2e30500b9",
          "cachedResultUrl": "https://www.notion.so/230bb34eb122800a87e4c5f2e30500b9",
          "cachedResultName": "Clients"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Name|title",
              "title": "={{ $json.name }}"
            },
            {
              "key": "Email|email",
              "emailValue": "={{ $json.email }}"
            },
            {
              "key": "Project Type|select",
              "selectValue": "={{ $json.projectType }}"
            },
            {
              "key": "Budget|select",
              "selectValue": "={{ $json.budget }}"
            },
            {
              "key": "Onboarding Link|url",
              "urlValue": "=https://drive.google.com/drive/folders/{{$json[\"id\"]}}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "4540bdfe-a7c3-4ec9-ade8-8f5e23bd4655",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        420,
        -200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0b77f413-5350-49a0-8138-316b47a714a4",
              "name": "uuid",
              "type": "string",
              "value": "={{ $execution.id }}"
            },
            {
              "id": "435421f5-f7c2-439d-84d1-929c55a72dd9",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "dff64989-c132-456c-99e7-b8dcfdd294e7",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        1060,
        -40
      ],
      "parameters": {
        "text": "=\ud83d\ude80 New Client Onboarded!\n\n\ud83d\udc64 Name: {{$json[\"property_name\"]}}  \n\ud83d\udce7 Email: {{$json[\"property_email\"]}}  \n\ud83d\udcbc Project Type: {{$json[\"property_project_type\"]}}  \n\ud83d\udcb0 Budget: {{$json[\"property_budget\"]}}  \n\ud83d\udcc2 Folder: {{$json[\"property_onboarding_link\"]}}  \n\ud83d\udd17 Notion Page: {{$json[\"url\"]}}\n",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#client-notifications"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "a78e08e7-f4f2-4f30-82ba-e3d2b8843d5b",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -220,
        -80
      ],
      "parameters": {
        "path": "/tally-submission",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "9225c3ad-2a66-4440-ba66-3b0b8ee92362",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        640,
        -40
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2,
      "alwaysOutputData": true
    },
    {
      "id": "5024846e-6d16-4a52-b35e-f35afdba65b5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1020,
        -200
      ],
      "parameters": {
        "color": 4,
        "width": 600,
        "height": 440,
        "content": " Client Onboarding Workflow \u2013 Setup Guide\n\ud83c\udfaf What this workflow does:\nAutomates client onboarding from a Tally form:\n\nCreates a Google Drive folder\n\nAdds client data to a Notion database\n\nSends a Slack notification to your team\n\n\ud83d\udd27 Manual Setup Instructions\n\ud83d\udce5 Tally Form\n\nThis workflow listens for form submissions at:\nhttps://<your-n8n-domain>/webhook/tally-submission\n\nExpected fields: Name, Email, Project Type, Budget\n\n\ud83d\udcc2 Google Drive\n\nThe parent folder ID is hardcoded \u2192 update this:\n1rCt7cyX7b3FQSJRDB8bRT4ho9QEUh0mA\n\nAdd your Google OAuth2 credentials to the node.\n\n\ud83e\udde0 Notion\n\nDatabase ID is hardcoded \u2192 replace it with yours:\n230bb34e-b122-800a-87e4-c5f2e30500b9\n\nMake sure your database has fields:\nName, Email, Project Type, Budget, Onboarding Link\n\nAttach your Notion OAuth2 credentials.\n\n\ud83d\udd14 Slack\n\nThe channel #client-notifications is hardcoded \u2192 change it if needed.\n\nSlack OAuth2 is required to post messages.\n\n\u26a0\ufe0f This workflow uses hardcoded values (no env vars). Be sure to manually replace folder IDs, database IDs, and Slack channels with your own.\n\n\u2705 All nodes use OAuth2 \u2014 no API keys are exposed."
      },
      "typeVersion": 1
    },
    {
      "id": "c8ab7998-aa90-41f9-8b7d-3505f300777b",
      "name": "Extract Client Fields",
      "type": "n8n-nodes-base.code",
      "position": [
        240,
        80
      ],
      "parameters": {
        "jsCode": "const fields = $json.body.data.fields;\n\nlet result = {};\n\nfields.forEach(field => {\n  const label = field.label.toLowerCase();\n\n  if (label.includes('name')) {\n    result.name = field.value;\n  }\n\n  if (label.includes('email')) {\n    result.email = field.value;\n  }\n\n  if (label.includes('project')) {\n    const selectedId = field.value[0];\n    const option = field.options.find(opt => opt.id === selectedId);\n    result.projectType = option?.text || '';\n  }\n\n  if (label.includes('budget')) {\n    const selectedId = field.value[0];\n    const option = field.options.find(opt => opt.id === selectedId);\n    result.budget = option?.text || '';\n  }\n});\n\nreturn [{ json: result }];\n"
      },
      "typeVersion": 2
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Create a database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Extract Client Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create folder": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Client Fields": {
      "main": [
        [
          {
            "node": "Create folder",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Create a database page": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

📝 Automation: Instantly Onboard New Clients from Tally Form to Notion, Google Drive & Slack This automation streamlines the client onboarding process by integrating Tally, Notion, Google Drive, and Slack. When a potential client submits a Tally form, the automation is triggered…

Source: https://n8n.io/workflows/6351/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This workflow is an AI-assisted clean plate and object removal pipeline built for modern VFX production environments. It transforms a single plate image and removal brief into multiple high-quality cl

HTTP Request, Google Drive, Slack +3
Slack & Telegram

This workflow is an AI-driven FX concept generation pipeline that transforms a single VFX brief into multiple high-quality simulation-ready video concepts. It automates ideation, rendering, storage, a

HTTP Request, Google Drive, Notion +2
Slack & Telegram

Are you tired of the repetitive dance between git push, creating a pull request in GitHub, updating the corresponding task in JIRA, and then manually notifying your team in Slack, or Notion?

HTTP Request, Stop And Error, Jira +2
Slack & Telegram

Automate end-to-end AI video creation by transforming text scripts into professional avatar videos with natural voiceovers. 🎬🤖 This workflow receives a script via webhook, generates realistic audio us

HTTP Request, Google Drive, Error Trigger +1
Slack & Telegram

App Screenshot Generator - Multi-Device App Store. Uses n8n-nodes-sudomock, httpRequest, compression, googleDrive. Webhook trigger; 15 nodes.

N8N Nodes Sudomock, HTTP Request, Compression +2