AutomationFlowsGeneral › WhatsApp Job Notification Workflow

WhatsApp Job Notification Workflow

Original n8n title: La - Job Notification (whatsapp)

LA - Job Notification (WhatsApp). Uses httpRequest. Webhook trigger; 4 nodes.

Webhook trigger★★★★☆ complexity4 nodesHTTP Request
General Trigger: Webhook Nodes: 4 Complexity: ★★★★☆ Added:

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
{
  "name": "LA - Job Notification (WhatsApp)",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "la-notify",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "webhook-la-notify",
      "name": "Webhook - LA Notify",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Parse notifier.py payload\n// Expected: { event, phone, message, job_id, client_name, ... }\n\nconst body = $input.first().json.body || $input.first().json;\n\nconst event       = body.event || 'unknown';\nconst phone       = body.phone || '';\nconst message     = body.message || '';\nconst jobId       = body.job_id || '';\nconst clientName  = body.client_name || '';\n\nif (!phone || !message) {\n  return [{ json: { skip: true, reason: 'missing phone or message' } }];\n}\n\n// Format phone for Evolution API\n// notifier.py sends plain number (e.g. 5511999999999)\n// Evolution API accepts this format directly\nconst formattedPhone = phone.includes('@') ? phone : `${phone}@s.whatsapp.net`;\n\nreturn [{\n  json: {\n    skip: false,\n    phone: formattedPhone,\n    message,\n    event,\n    jobId,\n    clientName\n  }\n}];"
      },
      "id": "parse-la-notify",
      "name": "Parse Payload",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        480,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "cond-not-skip",
              "leftValue": "={{ $json.skip }}",
              "rightValue": false,
              "operator": {
                "type": "boolean",
                "operation": "equals",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "filter-valid",
      "name": "Filtrar V\u00e1lido",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2,
      "position": [
        700,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $env.EVOLUTION_API_URL }}/message/sendText/{{ $env.EVOLUTION_NOTIFY_INSTANCE }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "={{ $env.EVOLUTION_API_KEY }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ number: $json.phone, text: $json.message }) }}",
        "options": {
          "timeout": 10000
        },
        "retryOnFail": true,
        "maxTries": 2,
        "waitBetweenTries": 2000
      },
      "id": "enviar-whatsapp",
      "name": "Enviar WhatsApp",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        920,
        300
      ]
    }
  ],
  "connections": {
    "Webhook - LA Notify": {
      "main": [
        [
          {
            "node": "Parse Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Payload": {
      "main": [
        [
          {
            "node": "Filtrar V\u00e1lido",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filtrar V\u00e1lido": {
      "main": [
        [
          {
            "node": "Enviar WhatsApp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    "la",
    "notify",
    "whatsapp"
  ],
  "triggerCount": 1,
  "updatedAt": "2026-02-25T00:00:00.000Z",
  "versionId": "1"
}
Pro

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

About this workflow

LA - Job Notification (WhatsApp). Uses httpRequest. Webhook trigger; 4 nodes.

Source: https://github.com/jefersonalvarenga/sofia/blob/a3b352e4358affb5914985293fe0a43ce8beef88/workflows/la-notify.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

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

General

Portfolio Orchestrator. Uses httpRequest. Webhook trigger; 59 nodes.

HTTP Request
General

jump-section: Comment Fix Pipeline. Uses httpRequest. Webhook trigger; 24 nodes.

HTTP Request
General

GitHub Issues Router (Linear / Jira / ClickUp). Uses stickyNote, httpRequest, respondToWebhook. Webhook trigger; 23 nodes.

HTTP Request
General

Form to CRM Lead Router (Pipedrive / HubSpot / Salesforce). Uses stickyNote, httpRequest, respondToWebhook. Webhook trigger; 22 nodes.

HTTP Request
General

Calendly to CRM Sync (Pipedrive / HubSpot / Salesforce). Uses stickyNote, httpRequest, respondToWebhook. Webhook trigger; 22 nodes.

HTTP Request