{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "cb2b03e2-787d-417d-a329-8b0153e3fe2a",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        112,
        336
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ff52ac63-9e32-43f0-bbc6-7f297423c992",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.phone }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "76256926-8c1e-415a-b265-fdcee7a35fe3",
      "name": "Shopify Trigger - Order Paid",
      "type": "n8n-nodes-base.shopifyTrigger",
      "position": [
        -112,
        144
      ],
      "parameters": {
        "topic": "orders/paid",
        "authentication": "oAuth2"
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "3a44fe59-7b8d-40e0-9f5d-ad2f10eebb6b",
      "name": "Shopify Trigger - Customer Created",
      "type": "n8n-nodes-base.shopifyTrigger",
      "position": [
        -112,
        336
      ],
      "parameters": {
        "topic": "customers/create",
        "authentication": "oAuth2"
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "d280f7e3-112f-4e3e-b38e-0e2936056a4b",
      "name": "Shopify Trigger - Fulfillment Created",
      "type": "n8n-nodes-base.shopifyTrigger",
      "position": [
        -112,
        528
      ],
      "parameters": {
        "topic": "fulfillment_events/create",
        "authentication": "oAuth2"
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "06a7e87e-dba7-4ed0-a63e-9d343838ec44",
      "name": "Send message template",
      "type": "@woztell-sanuker/n8n-nodes-woztell-sanuker.woztell",
      "position": [
        336,
        336
      ],
      "parameters": {
        "buttons": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "channel": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "headers": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "carousel": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "operation": "sendTemplates",
        "variables": {
          "value": {
            "Variable #1": "={{ $json.customer.first_name }}",
            "Variable #2": "={{ $json.order_number }}"
          },
          "schema": [
            {
              "id": "Variable #1",
              "type": "string",
              "display": true,
              "required": true,
              "displayName": "Variable #1",
              "defaultMatch": false
            },
            {
              "id": "Variable #2",
              "type": "string",
              "display": true,
              "required": true,
              "displayName": "Variable #2",
              "defaultMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "recipientId": "={{ $json.phone }}",
        "requestOptions": {}
      },
      "credentials": {
        "woztellCredentialApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ff0701e1-bc0e-4417-939a-22935ddd7c84",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -336
      ],
      "parameters": {
        "width": 208,
        "height": 448,
        "content": "### 1) Listens for a selected Shopify event. \nYou can enable or disable specific triggers depending on what notifications you want to send.\n\nFor this template, create webhooks for:\n- Order creation\n- Customer creation\n- Fulfillment creation\n##\nMake sure your Shopify app includes these API scopes:\n- read_customer_events\n- read_customers\n- read_orders\n- read_fulfillments\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "11ab91b6-49d4-451c-96a2-f14cd0160fd7",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -96
      ],
      "parameters": {
        "width": 208,
        "height": 208,
        "content": "### 2) Checks whether the customer has a phone number.\n\nIf a phone number exists, the workflow continues.\n\nIf not, it stops to prevent sending errors."
      },
      "typeVersion": 1
    },
    {
      "id": "30bd2aae-736d-43b1-8209-3c4a35512846",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -512
      ],
      "parameters": {
        "width": 208,
        "height": 624,
        "content": "### 3) Sends a WhatsApp template message to the customer.\n \nSelect your sending channel, select an approved template and map Shopify data (like customer name and order number) into template variables.\n\nSet up your WOZTELL credentials. To generate the access token, follow the step-by-step guide [here]( https://support.woztell.com/portal/en/kb/articles/access-token#Access_Token_Generation).\n\nRequired permissions:\n- channel:list\n- channel:getBasicInfo\n- channel:getEnvironmentInfo\n- channel:getDetails\nbot:sendResponses\n##\nFor the WOZTELL Channel API field, follow [this guide](https://support.woztell.com/portal/en/kb/articles/access-token-channels-in-woztell#How_to_Create_an_Access_Token_for_a_Channel_in_WOZTELL) to create a new token. If you have already generated a token, you may reuse it."
      },
      "typeVersion": 1
    },
    {
      "id": "7e6a0a3b-ec4c-498b-b235-c5d2e47980e5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -752
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 1424,
        "content": "## \u2728 What this template does\nThis workflow automatically sends WhatsApp notifications from Shopify using WOZTELL. It listens for Shopify events such as order paid, customer created, or fulfillment created, then sends a pre approved WhatsApp template to the customer.\n\nUse this to replace or support email notifications with faster WhatsApp updates.\n\n## \ud83d\udc77 Who it\u2019s for\nDesigned for ecommerce businesses that want to automatically send WhatsApp order and fulfillment updates to customers. Suitable for store owners or agencies managing Shopify automation.\n\n## \u2699\ufe0f How it works\n1. Shopify triggers the workflow when a selected event happens.\n2. The workflow checks if a phone number exists.\n3. If yes, it sends a WhatsApp template through WOZTELL.\n\n## \ud83e\udded How to use\n1. Import this template into n8n.\n2. Connect your Shopify account using OAuth.\n3. Connect your WOZTELL account using an access token.\n4. Select your WhatsApp template.\n5. Map Shopify fields into template variables.\n6. Activate the workflow.\n7. In Shopify, switch the webhook from Test URL to Production URL.\n\n## \ud83e\udde9 Requirements\n- Shopify store admin access\n- n8n account\n- WOZTELL paid account with WhatsApp Business Platform activated\n- An approved WhatsApp message template created in WOZTELL\n\n## \ud83e\udde0 Customization ideas\n- Change the Shopify trigger events (order created, paid, fulfilled, etc.)\n- Add more conditions in the IF node\n- Use different WhatsApp templates for each event\n- Add extra nodes for internal alerts (Slack/email) or CRM updates\n- Replace the Shopify trigger with another e commerce platform trigger such as WooCommerce, Magento, or a custom webhook\n\n## \ud83e\udd16About WOZTELL\nThis template uses WOZTELL to connect n8n with the official WhatsApp Business Platform, allowing you to send and receive WhatsApp messages through approved templates and automation workflows.\n\nYou can create a WOZTELL account and register a WhatsApp Business API account for free.\n\n1. Sign up [here](\nhttps://platform.woztell.com/signup?lang=en&utm_campaign=plugin-n8n&utm_medium=plugin-n8n&utm_source=N8N)\n2. Verify your email and complete your account setup.\n3. Follow the WhatsApp Business API [setup guide](\nhttps://doc.woztell.com/docs/procedures/basic-whatsapp-chatbot-setup/standard-procedures-wa-connect-waba/)\n##\nOnce your WhatsApp Business account is connected and message templates are approved, you can activate this workflow.\n\n## \ud83d\ude80 More templates\nWe\u2019re continuously building more WOZTELL n8n templates. Check our n8n profile to explore the latest workflows."
      },
      "typeVersion": 1
    },
    {
      "id": "d8934571-bc71-42e0-8361-d868a9b8aa85",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -464
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 576,
        "content": "## \ud83d\udcd8 New here? Follow the step-by-step guide\nDon\u2019t know how to set up credentials? We prepared a step-by-step guide covering Shopify webhooks, credentials, and publishing the workflow, plus copy-paste message templates and ready-to-use variable mappings. \n\n### Text guide\nRead it [here](https://woztell.com/connect-shopify-whatsapp-n8n/).\n\n\n### Video guide\n\n@[youtube](Av5mVz21D28)"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Send message template",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify Trigger - Order Paid": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify Trigger - Customer Created": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify Trigger - Fulfillment Created": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}