N
n8n Store
Workflow Market
WhatsApp Group Onboarding with Automated Welcome Messages & Airtable Point System

WhatsApp Group Onboarding with Automated Welcome Messages & Airtable Point System

by davidxai0 views

Description

Categories

⚙️ Automation

Nodes Used

n8n-nodes-base.filtern8n-nodes-base.webhookn8n-nodes-base.airtablen8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.httpRequest
PriceFree
Views0
Last Updated11/28/2025
workflow.json
{
  "meta": {
    "instanceId": "7d4316a9a160395b84f5cb72765256e74858341efa926ad6938446bfd622e2f2",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "42e2143e-5d85-4c28-8e96-8e50e89886e4",
      "name": "New group participant",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -160,
        -60
      ],
      "webhookId": "0d328573-da59-489e-8f2f-784aa4c19b82",
      "parameters": {
        "path": "0d328573-da59-489e-8f2f-784aa4c19b82",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "ee6f7d26-f8fb-4a16-9a5f-0f3bef27ee0a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -200
      ],
      "parameters": {
        "height": 300,
        "content": "## New participant  \nA new user has joined the group."
      },
      "typeVersion": 1
    },
    {
      "id": "3d747c5d-b256-4f1d-8d96-f321b9dc4efd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -200
      ],
      "parameters": {
        "color": 6,
        "height": 300,
        "content": "## Welcome message  \nSend a \"welcome message\" via Whapi to the new user in the WhatsApp group."
      },
      "typeVersion": 1
    },
    {
      "id": "379f97c8-d062-4c25-a19f-ad721728e270",
      "name": "Welcome WhatsApp message",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        440,
        -60
      ],
      "parameters": {
        "url": "https://gate.whapi.cloud/messages/text",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"to\": \"{{ $json.body.groups_participants[0].participants[0] }}\",\n  \"body\": \"MESSAGE\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "application/json"
            },
            {
              "name": "authorization",
              "value": "Bearer {TOKEN}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "27e3e20d-780d-4b4f-8a85-2f1cda4ac041",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        140,
        -60
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "da41e332-6556-4470-92df-ef1b77915fc7",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.body.groups_participants[0].group_id }}",
              "rightValue": "[email protected]"
            },
            {
              "id": "f6aac86c-5794-43ce-87ed-3720f7a03aab",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.body.groups_participants[0].action }}",
              "rightValue": "add"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0b28e17a-7f57-4f5e-a174-15c71fd9741c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -200
      ],
      "parameters": {
        "color": 5,
        "height": 300,
        "content": "## Conditions: \n1. Right group?\n2. Type \"add\"?"
      },
      "typeVersion": 1
    },
    {
      "id": "4172ad9e-0f61-4581-95b9-a4dfc1b9efb9",
      "name": "Airtable Create",
      "type": "n8n-nodes-base.airtable",
      "position": [
        720,
        -60
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appREiqyOxTYwsigc",
          "cachedResultUrl": "https://airtable.com/appREiqyOxTYwsigc",
          "cachedResultName": "WhatsApp Engagement Database"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblIf7YbtyvUvDNm0",
          "cachedResultUrl": "https://airtable.com/appREiqyOxTYwsigc/tblIf7YbtyvUvDNm0",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Count": 100,
            "WhatsApp_ID": "={{ $('New group participant').item.json.body.groups_participants[0].participants[0] }}",
            "Last interaction": "={{ $now.format('yyyy.MM.dd') }}"
          },
          "schema": [
            {
              "id": "WhatsApp_ID",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "WhatsApp_ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Count",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last interaction",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last interaction",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raffle vouchers",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "Raffle vouchers",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "Zpq5AlLIA3q6NsSJ",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a238eaba-2fda-441f-93b6-fbdd810619a9",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        -200
      ],
      "parameters": {
        "color": 4,
        "height": 300,
        "content": "## 100 Start Points  \nNew users start with 100 points (for example)"
      },
      "typeVersion": 1
    },
    {
      "id": "bc5aefc1-fd7c-42cc-8110-4687a4845402",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1540,
        -240
      ],
      "parameters": {
        "color": 6,
        "width": 1260,
        "height": 1000,
        "content": "# New WhatsApp Group Participant Workflow\n\n## Receive Webhook Notification\n### The workflow starts when a webhook receives a POST request from Whapi, notifying that a new participant has joined a WhatsApp group.\n\n## Filter the Event\n### The workflow checks two conditions:\n\n### The event is for the correct WhatsApp group (matching the specific group ID).\n\n### The action type is \"add\" (meaning a user was added to the group).\n\n## Send Welcome Message\n### If both conditions are met, the workflow sends a personalized welcome message to the new participant via Whapi.\nThe message explains the group rules and how the user can earn points and participate in weekly raffles.\n\n## Create Airtable Record\n### After sending the welcome message, the workflow creates a new record in the Airtable database for the new participant.\n### The record includes:\n\n### The participant’s WhatsApp ID\n\n### An initial engagement count of 100 points\n\n### The date of the last interaction (set to today)\n\n## Result\n### Every new group member is automatically welcomed and registered in your engagement database with starter points, ready to participate in your group’s activities and rewards.\n\n## This workflow ensures new users are greeted, informed, and instantly included in your engagement tracking system."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Filter": {
      "main": [
        [
          {
            "node": "Welcome WhatsApp message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New group participant": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Welcome WhatsApp message": {
      "main": [
        [
          {
            "node": "Airtable Create",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

相关工作流