Système de traitement de commandes alimentaires piloté par l'IA, intégrant Facebook Messenger, Google Sheets et Google Calendar

Avancé

Ceci est unLead Nurturing, AI Chatbot, Multimodal AIworkflow d'automatisation du domainecontenant 26 nœuds.Utilise principalement des nœuds comme If, Code, Webhook, HttpRequest, GoogleSheets. Système de traitement de commandes alimentaires piloté par l'IA, intégrant Facebook Messenger, Google Sheets et Google Calendar

Prérequis
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "0d9842ac819c94ed608cf109ffea042fc9fa0d9e9bc828738c90c3953c1f318f"
  },
  "nodes": [
    {
      "id": "sticky_main_001",
      "name": "Note adhésive - Description principale",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -300
      ],
      "parameters": {
        "color": 4,
        "width": 1000,
        "height": 900,
        "content": "## 📌 Karaage Pops - Messenger Order Automation\n\nThis workflow automates **Facebook Messenger order management** by connecting Messenger → Google Sheets → Google Calendar. It parses customer messages, logs orders, and schedules fulfillment.\n\n### 🧾 What it does\n- Listens to incoming customer messages on Facebook Messenger.\n- Sends greeting + order form.\n- Uses AI to parse customer responses.\n- Saves details to Google Sheets.\n- Creates calendar events for delivery/pickup.\n- Sends confirmation + upsell message.\n\n### 🛠 Requirements\n- **Facebook Page** + Page Access Token from Meta.\n- **Google Sheets** with columns: `Date`, `Time`, `Order`, `Full Name`, `Contact Number`, `Delivery Address`.\n- **Google Calendar** for scheduling.\n- **n8n instance** (self-hosted or cloud).\n\n### 🔑 Environment variables (place these as n8n credentials or env vars)\n| Variable | Purpose | Example |\n|---|---:|---|\n| `FB_PAGE_ID` | Facebook Page ID | `123456789` |\n| `FB_PAGE_ACCESS_TOKEN` | Long-lived Page token | `EAAG...` |\n| `FB_VERIFY_TOKEN` | For webhook validation | `random-string` |\n| `YOUR_GOOGLE_SHEET_ID` | Google Sheet document ID | `1AbCdEfG...` |\n| `YOUR_SHEET_GID_OR_NAME` | Sheet name or GID | `Sheet1` |\n| `YOUR_GOOGLE_CALENDAR_EMAIL` | Calendar where events are added | `you@email.com` |\n\n### ⚠️ Troubleshooting\n- **Webhook not triggering?** Ensure Facebook App is in Live Mode, webhook URL is reachable, and the verify token matches.\n- **No Sheet rows after import?** Share the sheet with the connected Google account and verify headers match exactly.\n- **AI not parsing orders?** Check the OpenRouter model credentials and that model name is valid. Also test with simple messages.\n- **403 / permission errors?** Confirm tokens and credentials are correctly set in n8n Credentials, not in node JSON.\n\n---\n✅ **Next steps:** Clone this workflow, connect credentials, add a screenshot/loom video (recommended), then resubmit to n8n.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_webhook_002",
      "name": "Note adhésive - Déclencheur Webhook",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -100
      ],
      "parameters": {
        "color": 1,
        "width": 360,
        "height": 220,
        "content": "### Webhook & Validation\n- This area handles Facebook verification (hub.challenge) and incoming messenger events.\n- Set `FB_VERIFY_TOKEN` in Facebook Developer Dashboard to match the placeholder.\n- `path`: `fb-messenger-webhook` (copy the full webhook URL and add to your FB App webhook settings)."
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_ai_003",
      "name": "Note adhésive - Agent IA",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        520
      ],
      "parameters": {
        "color": 1,
        "width": 340,
        "height": 220,
        "content": "### AI Agent & Memory Buffer\n- The AI Agent (LangChain) reads the raw message and returns a friendly conversational reply or structured order prompt.\n- Memory Buffer keeps a session per customer (`sessionKey` uses sender.id) so the agent can maintain context during the conversation.\n- Adjust the system prompt inside the AI Agent node to customize behavior."
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_parse_004",
      "name": "Note adhésive - Analyse",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1800,
        520
      ],
      "parameters": {
        "color": 1,
        "width": 380,
        "height": 200,
        "content": "### Order Parsing & Validation\n- `Parse Order Text` converts free-form text (lines like `Full Name: ...`) into structured JSON.\n- `Validate Parsed Order` makes sure required fields (Full Name, Date, Order, Delivery Address) exist before saving."
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_sheets_005",
      "name": "Note adhésive - Feuilles Google",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        260
      ],
      "parameters": {
        "color": 1,
        "width": 380,
        "height": 180,
        "content": "### Google Sheets Node\n- `Append or Update Orders Sheet` appends or updates rows in your sheet.\n- Ensure the `documentId` is set to `{{YOUR_GOOGLE_SHEET_ID}}` and sheet name/GID matches `{{YOUR_SHEET_GID_OR_NAME}}`.\n- Share sheet with the Google account used in n8n credentials."
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_calendar_006",
      "name": "Note adhésive - Calendrier Google",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1960,
        180
      ],
      "parameters": {
        "color": 1,
        "width": 320,
        "height": 160,
        "content": "### Google Calendar\n- `Create Calendar Event` will create an event using `{{YOUR_GOOGLE_CALENDAR_EMAIL}}`.\n- Make sure the calendar email used is accessible by the connected Google account."
      },
      "typeVersion": 1
    },
    {
      "id": "sticky_message_007",
      "name": "Note adhésive - Message de confirmation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2120,
        40
      ],
      "parameters": {
        "color": 1,
        "width": 360,
        "height": 170,
        "content": "### Messenger Confirmation\n- `Send Message to FB (Text)` and `Send Message to FB (Image)` deliver confirmation and menu images.\n- Edit payloads in HTTP nodes to customize text, images, or quick-replies."
      },
      "typeVersion": 1
    },
    {
      "id": "1b74aa53-b1aa-47ed-be39-49845e2aad96",
      "name": "Agent IA (Assistant de commande)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        352,
        464
      ],
      "parameters": {
        "text": "={{ $json.body.entry[0].messaging[0].message.text }}",
        "options": {
          "systemMessage": "=### OPENING MESSAGE:\n👋 Hi po! Welcome to Karaage Pops – PureGold Carmona! 🍗\nThanks for messaging us! Here’s everything you need to know:\n\n📍 Location: https://maps.app.goo.gl/cpbXL1vHJqtdaGyP7 (PureGold Carmona)\n🕙 Operating Hours: Monday to Saturday, 10AM to 7PM\n🚚 Delivery: Saturday–Sunday only in Carmona (Min. 3 orders, ₱30 fee)\n\n🔥 Our Flavors – 9 Crispy Options!\nSMALL: PHP 69\nMEDIUM: PHP 99\nLARGE: PHP 129\n\nSalt & Pepper\nSpicy Buffalo 🌶️\nGarlic Parmesan ⭐\nYangnyeom (Korean-style)\nSweet & Spicy\nHoney Garlic 🍯\nSweet Teriyaki\nLemon Pepper\nCreamy Cheese 🧀\n\n🎉 Promo Alert! Large Karaage + Rice is now just ₱129 (from ₱139)! 💯\n----------------------------------------------------------------\n### Customer order - please fill out all required fields (send as a separate message):\n1. Full Name:\n2. Contact Number:\n3. Delivery Address:\n4. Time:\n5. Date:\n6. Order:\n----------------------------------------------------------------\n### UPSELL (Sent after order is received)\nWould you like to upsize or add any of the following?\n- Upgrade to Large Karaage + Rice – ₱129\n- Extra Rice – ₱15\n- Coke (can) – ₱25\n- Bottled Water – ₱15\n\nReply with \"Add: [item]\" or \"No, thank you!\""
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "a5ee9486-5c65-43d8-bc4a-209d4549451d",
      "name": "Mémoire Buffer (Session client)",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "notes": "Order price list and product sizing stored for quick reference.",
      "position": [
        272,
        672
      ],
      "parameters": {
        "sessionKey": "={{ $json.body.entry[0].messaging[0].sender.id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 50
      },
      "typeVersion": 1.3
    },
    {
      "id": "ccf97b51-a7d1-43ab-8d58-4e5f74171d99",
      "name": "OpenRouter Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        128,
        672
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat:free",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "5476fda6-eb40-4047-b425-b61ffbdb1176",
      "name": "Respond 200 OK",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        720,
        464
      ],
      "parameters": {
        "options": {
          "responseCode": 200
        },
        "respondWith": "noData"
      },
      "typeVersion": 1.1
    },
    {
      "id": "61b85284-4114-4354-b94f-0a7221399b26",
      "name": "Déclencheur Webhook - FB Messenger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        48,
        352
      ],
      "webhookId": "44b1ed59-bd9f-412f-aad1-11cea984b2de",
      "parameters": {
        "path": "fb-messenger-webhook",
        "options": {},
        "responseMode": "responseNode",
        "multipleMethods": true
      },
      "typeVersion": 2
    },
    {
      "id": "ef557297-ba25-4997-9fb9-26e3e89ea3e9",
      "name": "Respond Challenge",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        720,
        32
      ],
      "parameters": {
        "options": {},
        "respondWith": "text",
        "responseBody": "={{ $('Webhook - FB Messenger').item.json.query['hub.challenge'] }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "5fdc09bb-5f86-4802-8df8-f028da9b7dac",
      "name": "Validate Déclencheur Webhook Subscription",
      "type": "n8n-nodes-base.if",
      "position": [
        432,
        128
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1c58f754-c63f-4744-98d9-0bebaef30c9b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.query['hub.mode'] }}",
              "rightValue": "subscribe"
            },
            {
              "id": "12ba435c-90c1-450f-8801-0aaafbcf7808",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.query['hub.verify_token'] }}",
              "rightValue": "{{YOUR_FB_VERIFY_TOKEN}}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "send-text-http-001",
      "name": "Send Message to FB (Text)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2000,
        96
      ],
      "parameters": {
        "url": "=https://graph.facebook.com/v13.0/{{FB_PAGE_ID}}/messages",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"recipient\": { \"id\": \"{{ $('Webhook - FB Messenger').item.json.body.entry[0].messaging[0].sender.id }}\" },\n  \"message\": { \"text\": {{JSON.stringify($('AI Agent (Order Assistant)').item.json.output)}} },\n  \"messaging_type\": \"RESPONSE\",\n  \"notification_type\": \"REGULAR\"\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "{{FB_PAGE_ACCESS_TOKEN}}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "28330bd3-2fbc-4cc9-9373-305ddde8205e",
      "name": "Sticky Note - Définirup & Description (Original)",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 880,
        "height": 420,
        "content": "## Karaage Pops - Messenger Order Automation\n\nThis workflow captures Facebook Messenger orders, parses customer input, saves orders to Google Sheets, and schedules fulfillment in Google Calendar. Replace placeholders (FB_PAGE_ID, FB_PAGE_ACCESS_TOKEN, YOUR_GOOGLE_SHEET_ID, YOUR_GOOGLE_CALENDAR_EMAIL, YOUR_FB_VERIFY_TOKEN) with environment variables or n8n credentials. Do not hardcode secrets.\n\nSetup steps are included in the template description. Rename nodes as needed and provide proper credentials in n8n."
      },
      "typeVersion": 1
    },
    {
      "id": "cf4e10f5-941b-4673-bee5-a9ccc4fc309f",
      "name": "Note adhésive - Usage (Original)",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        80
      ],
      "parameters": {
        "width": 1100,
        "height": 368,
        "content": "## How to use\n1. Create FB app & Page, set webhook to this workflow URL.\n2. Store tokens as environment variables or credentials.\n3. Create Google Sheet with columns: Date, Time, Order, Full Name, Contact Number, Delivery Address.\n4. Connect Google Sheets and Google Calendar credentials in n8n.\n5. Test the flow by messaging the FB Page."
      },
      "typeVersion": 1
    },
    {
      "id": "e97638ca-146e-4470-b8ff-037db276ba07",
      "name": "Respond 202 (Error fallback)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        720,
        224
      ],
      "parameters": {
        "options": {
          "responseCode": 202
        },
        "respondWith": "noData"
      },
      "typeVersion": 1.1
    },
    {
      "id": "send-image-http-001",
      "name": "Send Message to FB (Image)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1280,
        368
      ],
      "parameters": {
        "url": "=https://graph.facebook.com/v13.0/{{FB_PAGE_ID}}/messages",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"recipient\": { \"id\": \"{{ $('Webhook - FB Messenger').item.json.body.entry[0].messaging[0].sender.id }}\" },\n  \"message\": { \"attachment\": { \"type\": \"image\", \"payload\": { \"url\": \"https://i.imgur.com/M4cryeH.jpg\", \"is_reusable\": true } } },\n  \"messaging_type\": \"RESPONSE\",\n  \"notification_type\": \"REGULAR\"\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "{{FB_PAGE_ACCESS_TOKEN}}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "53ff0cdc-a4ad-4b08-a46f-11e99d6a2e93",
      "name": "Check for Menu Trigger",
      "type": "n8n-nodes-base.if",
      "position": [
        976,
        464
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c1f7edad-f67c-454f-a768-eae3a28f684b",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "Here’s our FULL MENU OF FLAVORS and options for you to choose from"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c0ae83fc-68ec-4ef8-8200-2d0097c56a90",
      "name": "Send Generic Text (HTTP)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1312,
        560
      ],
      "parameters": {
        "url": "=https://graph.facebook.com/v13.0/{{FB_PAGE_ID}}/messages",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"recipient\": { \"id\": \"{{ $('Webhook - FB Messenger').item.json.body.entry[0].messaging[0].sender.id }}\" },\n  \"message\": { \"text\": {{JSON.stringify($('AI Agent (Order Assistant)').item.json.output)}} },\n  \"messaging_type\": \"RESPONSE\",\n  \"notification_type\": \"REGULAR\"\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "access_token",
              "value": "{{FB_PAGE_ACCESS_TOKEN}}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "8e4ff0ef-c175-4af7-9dd2-17f34d4588d9",
      "name": "Parse Order Text",
      "type": "n8n-nodes-base.code",
      "position": [
        2016,
        544
      ],
      "parameters": {
        "jsCode": "const text = $('Webhook - FB Messenger').first().json.body.entry[0].messaging[0].message.text;\nconst lines = text.split(/\\r?\\n/);\nconst result = {};\nlines.forEach(line => {\n  const [key, ...rest] = line.split(':');\n  if (key && rest.length) {\n    result[key.trim().replace(/^[^a-zA-Z0-9]+/g, '')] = rest.join(':').trim();\n  }\n});\nreturn [{ json: result }];\n"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "8599060b-82e6-423a-b840-4072f73f75c7",
      "name": "Validate Parsed Order",
      "type": "n8n-nodes-base.if",
      "position": [
        1712,
        560
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c1f7edad-f67c-454f-a768-eae3a28f684b",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Send Message to FB (Text)').item.json.output }}",
              "rightValue": "Full Name"
            },
            {
              "id": "f269fa0c-7291-454e-9738-e24979a82c8e",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Send Message to FB (Text)').item.json.output }}",
              "rightValue": "Date"
            },
            {
              "id": "818104ae-1325-4e6c-a109-378923f58104",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Send Message to FB (Text)').item.json.output }}",
              "rightValue": "Order"
            },
            {
              "id": "8b6790de-8552-4a1f-af86-324e72739c28",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Send Message to FB (Text)').item.json.output }}",
              "rightValue": "Delivery Address"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7319266e-8bb6-4ce4-9cbb-bb5983a3938a",
      "name": "Respond Raw Items (Debug)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2032,
        784
      ],
      "parameters": {
        "options": {
          "responseCode": 100
        },
        "respondWith": "allIncomingItems"
      },
      "typeVersion": 1.1
    },
    {
      "id": "20b91f65-03f6-4503-9126-64b7cb170c96",
      "name": "Create Calendar Event",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        2000,
        336
      ],
      "parameters": {
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "{{YOUR_GOOGLE_CALENDAR_EMAIL}}",
          "cachedResultName": "{{YOUR_GOOGLE_CALENDAR_EMAIL}}"
        },
        "additionalFields": {
          "summary": "={{ $json.Order }} ORDERED BY {{ $json['Full Name'] }}"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fe286031-e032-44ae-bc45-303dac0f8c56",
      "name": "Append or Update Orders Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1648,
        336
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $json['Date'] }}",
            "Time": "={{ $json['Time'] }}",
            "Order": "={{ $json['Order'] }}",
            "Full Name": "={{ $json['Full Name'] }}",
            "Contact Number": "={{ $json['Contact Number'] }}",
            "Delivery Address": "={{ $json['Delivery Address'] }}"
          },
          "schema": [
            {
              "id": "Full Name",
              "type": "string",
              "displayName": "Full Name"
            },
            {
              "id": "Contact Number",
              "type": "string",
              "displayName": "Contact Number"
            },
            {
              "id": "Delivery Address",
              "type": "string",
              "displayName": "Delivery Address"
            },
            {
              "id": "Time",
              "type": "string",
              "displayName": "Time"
            },
            {
              "id": "Date",
              "type": "string",
              "displayName": "Date"
            },
            {
              "id": "Order",
              "type": "string",
              "displayName": "Order"
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Full Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "{{YOUR_SHEET_GID_OR_NAME}}",
          "cachedResultName": "{{YOUR_SHEET_GID_OR_NAME}}"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "{{YOUR_GOOGLE_SHEET_ID}}",
          "cachedResultName": "{{YOUR_GOOGLE_SHEET_NAME}}"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "pinData": {},
  "connections": {
    "ccf97b51-a7d1-43ab-8d58-4e5f74171d99": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent (Assistant de commande)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "8e4ff0ef-c175-4af7-9dd2-17f34d4588d9": {
      "main": [
        [
          {
            "node": "fe286031-e032-44ae-bc45-303dac0f8c56",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8599060b-82e6-423a-b840-4072f73f75c7": {
      "main": [
        [
          {
            "node": "8e4ff0ef-c175-4af7-9dd2-17f34d4588d9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7319266e-8bb6-4ce4-9cbb-bb5983a3938a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "53ff0cdc-a4ad-4b08-a46f-11e99d6a2e93": {
      "main": [
        [
          {
            "node": "send-image-http-001",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c0ae83fc-68ec-4ef8-8200-2d0097c56a90",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - FB Messenger": {
      "main": [
        [
          {
            "node": "Validate Webhook Subscription",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent (Assistant de commande)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0ae83fc-68ec-4ef8-8200-2d0097c56a90": {
      "main": [
        [
          {
            "node": "8599060b-82e6-423a-b840-4072f73f75c7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "send-text-http-001": {
      "main": [
        [
          {
            "node": "53ff0cdc-a4ad-4b08-a46f-11e99d6a2e93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent (Assistant de commande)": {
      "main": [
        [
          {
            "node": "5476fda6-eb40-4047-b425-b61ffbdb1176",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fe286031-e032-44ae-bc45-303dac0f8c56": {
      "main": [
        [
          {
            "node": "20b91f65-03f6-4503-9126-64b7cb170c96",
            "type": "main",
            "index": 0
          },
          {
            "node": "send-text-http-001",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Webhook Subscription": {
      "main": [
        [
          {
            "node": "ef557297-ba25-4997-9fb9-26e3e89ea3e9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e97638ca-146e-4470-b8ff-037db276ba07",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Memory Buffer (Session client)": {
      "ai_memory": [
        [
          {
            "node": "AI Agent (Assistant de commande)",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Nurturing de leads, Chatbot IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds26
Catégorie3
Types de nœuds11
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34