{
  "active": false,
  "connections": {
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Get File List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get File List": {
      "main": [
        [
          {
            "node": "DL File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "DL File": {
      "main": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Supabase Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Question and Answer Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Question and Answer Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Vector Store Retriever": {
      "ai_retriever": [
        [
          {
            "node": "Question and Answer Chain",
            "type": "ai_retriever",
            "index": 0
          }
        ]
      ]
    },
    "Supabase Vector Store1": {
      "ai_vectorStore": [
        [
          {
            "node": "Vector Store Retriever",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Supabase Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    }
  },
  "createdAt": "2025-05-31T07:34:34.237Z",
  "id": "b0KmqGhBdSlQjXKU",
  "isArchived": false,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "My workflow 10",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        160,
        640
      ],
      "id": "037b7adb-a147-4f32-bd61-b67cc886dc7b",
      "name": "When clicking \u2018Test workflow\u2019"
    },
    {
      "parameters": {
        "mode": "insert",
        "tableName": {
          "__rl": true,
          "value": "documents",
          "mode": "list",
          "cachedResultName": "documents"
        },
        "embeddingBatchSize": 3,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1.1,
      "position": [
        820,
        640
      ],
      "id": "9572e295-a30c-40c1-bf9f-ff30b6d911c4",
      "name": "Supabase Vector Store",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "fileFolder",
        "filter": {
          "folderId": {
            "__rl": true,
            "value": "https://drive.google.com/drive/folders/1kSTRF4x29TNNTDCys3eHbCej-C7ytlEK",
            "mode": "url"
          }
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        380,
        640
      ],
      "id": "28ec78be-3328-42f7-87b7-b6a0247986a9",
      "name": "Get File List",
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "download",
        "fileId": {
          "__rl": true,
          "value": "={{ $json.id }}",
          "mode": "id"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        600,
        640
      ],
      "id": "424da881-9f83-4636-9753-c08841223303",
      "name": "DL File",
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.2,
      "position": [
        820,
        860
      ],
      "id": "79292cd4-a4f2-491f-8985-e9be08695ef2",
      "name": "Embeddings OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "dataType": "binary",
        "loader": "textLoader",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1,
      "position": [
        940,
        860
      ],
      "id": "45fc97d9-326b-4cb9-9f5d-0ad90e168bd6",
      "name": "Default Data Loader"
    },
    {
      "parameters": {
        "chunkSize": 4000,
        "chunkOverlap": 200,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        1020,
        1060
      ],
      "id": "2f39efc2-92e3-4ca7-aa25-9936c7a85d35",
      "name": "Recursive Character Text Splitter"
    },
    {
      "parameters": {
        "options": {
          "systemPromptTemplate": "=### ACTION\nG\u00e9n\u00e8re un fichier JSON de workflow n8n pr\u00eat \u00e0 \u00eatre import\u00e9, \u00e0 partir d\u2019une description en langage naturel d\u2019une t\u00e2che d\u2019automatisation. Le fichier doit contenir tous les n\u0153uds n\u00e9cessaires, correctement configur\u00e9s, connect\u00e9s, document\u00e9s et valides pour n8n.\n\n### \u00c9TAPES\n1. Analyser la t\u00e2che d\u00e9crite en langage naturel et identifier :\n - Le d\u00e9clencheur\n - Les applications utilis\u00e9es\n - La logique m\u00e9tier\n - Les r\u00e9sultats attendus\n2. Associer chaque composant \u00e0 un n\u0153ud n8n appropri\u00e9.\n3. Configurer chaque n\u0153ud :\n - Utiliser des donn\u00e9es factices r\u00e9alistes comme placeholders\n - R\u00e9f\u00e9rencer les donn\u00e9es en amont via des expressions comme {{$json[\"champ\"]}}\n - Ajouter une gestion des erreurs via des n\u0153uds IF ou Try/Catch\n4. Ajouter des n\u0153uds Sticky Note pour documenter la logique ou clarifier des configurations si n\u00e9cessaire.\n5. Veiller \u00e0 ce qu\u2019un n\u0153ud final indique explicitement la fin du processus.\n6. Valider la structure du fichier JSON pour garantir sa compatibilit\u00e9 avec n8n.\n7. Retourner uniquement le fichier JSON, sans texte suppl\u00e9mentaire.\n\n### PERSONA\nAgis en tant que d\u00e9veloppeur d\u2019automatisation expert en n8n, capable de transformer n\u2019importe quelle demande utilisateur en workflow fonctionnel, robuste, bien structur\u00e9 et auto-document\u00e9.\n\n### EXEMPLES\nEntr\u00e9e : \"Quand une feuille Google Sheet est mise \u00e0 jour, envoyer les donn\u00e9es \u00e0 Discord et les enregistrer dans Airtable.\"\nSortie :\n - N\u0153ud d\u00e9clencheur : Google Sheets (on update)\n - N\u0153uds actions : Discord, Airtable\n - Sticky Note : pr\u00e9cisant les colonnes attendues\n - R\u00e9f\u00e9rences aux champs : {{$json[\"row\"][\"nom\"]}}\n\n\n### CONTEXTE\nLes utilisateurs fourniront des descriptions textuelles informelles de sc\u00e9narios d\u2019automatisation. Ces descriptions couvriront des cas d\u2019usage vari\u00e9s (int\u00e9gration, notification, transformation de donn\u00e9es).\nLes workflows doivent \u00eatre g\u00e9n\u00e9r\u00e9s en JSON n8n pr\u00eat \u00e0 l'import, avec toutes les connexions, param\u00e8tres et r\u00e9f\u00e9rences correctement d\u00e9finis.\nLes identifiants doivent \u00eatre simul\u00e9s par des valeurs fictives, jamais cod\u00e9s en dur.\nChaque workflow doit \u00eatre lisible, clair, et document\u00e9 par des Sticky Notes explicatives. Aucune int\u00e9gration externe r\u00e9elle n\u2019est utilis\u00e9e.\n\n### CONTRAINTES\n * S'assurer que le workflow respecte les recommandations concernant :\n    - La structure des n\u0153uds\n    - Les connexions entre n\u0153uds\n    - La gestion de la m\u00e9moire et des donn\u00e9es interm\u00e9diaires\n    - La gestion des erreurs (ex. IF / Try-Catch)\n * Adapter syst\u00e9matiquement la logique de g\u00e9n\u00e9ration en se conformant \u00e0 ces r\u00e9f\u00e9rences pour garantir des workflows optimaux et robustes.\n\n\n### MOD\u00c8LE\nFormat de sortie : objet JSON valide, structur\u00e9 selon le sch\u00e9ma n8n.\nMod\u00e8le IA recommand\u00e9 : gpt-4o (pr\u00e9cision \u00e9lev\u00e9e)\nFallback : gpt-3.5\nTemp\u00e9rature : 0.1 pour les t\u00e2ches pr\u00e9cises ; 0.7 si cr\u00e9ativit\u00e9 n\u00e9cessaire dans la logique.\n\n\nVoici quelques infos utiles sur les WorkFlow n8n : \n\nContext: {context}"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.chainRetrievalQa",
      "typeVersion": 1.5,
      "position": [
        380,
        -420
      ],
      "id": "e534e8e6-428c-4cfe-93eb-00067e92ebdf",
      "name": "Question and Answer Chain"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        0,
        -420
      ],
      "id": "d7c631f7-0fd0-4562-a180-587f08049b80",
      "name": "When chat message received"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "claude-sonnet-4-20250514",
          "mode": "list",
          "cachedResultName": "Claude Sonnet 4"
        },
        "options": {
          "maxTokensToSample": 10000
        }
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.3,
      "position": [
        380,
        -200
      ],
      "id": "f3bf8ff2-e3f4-4fee-bb18-d4f6bf66a13b",
      "name": "Anthropic Chat Model",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "type": "@n8n/n8n-nodes-langchain.retrieverVectorStore",
      "typeVersion": 1,
      "position": [
        500,
        -200
      ],
      "id": "7399d855-75fe-42a4-b2d7-5112f30fcf2b",
      "name": "Vector Store Retriever"
    },
    {
      "parameters": {
        "tableName": {
          "__rl": true,
          "value": "documents",
          "mode": "list",
          "cachedResultName": "documents"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "typeVersion": 1.1,
      "position": [
        500,
        0
      ],
      "id": "707c89e6-6b86-4f34-b2fd-b7427a72a841",
      "name": "Supabase Vector Store1",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.2,
      "position": [
        580,
        200
      ],
      "id": "ed5097cf-fdd6-4309-8523-2fffa6f93975",
      "name": "Embeddings OpenAI1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## \ud83d\udc4b Salut c'est Thomas !\n\nMerci pour votre int\u00e9r\u00eat ! J'esp\u00e8re vous revoir bient\u00f4t sur [Ma cha\u00eene YouTube](https://www.youtube.com/@thomasbssh?sub_confirmation=1) ! \n\n### \ud83d\ude80 Travaillons ensemble !\n\n**D\u00e9veloppons vos solutions IA sur mesure :**\n\ud83d\udc49 [Contactez mon agence Azuro AI](https://azuro-ai.com/contact)\n\n**Ma\u00eetrisez l'IA avec mon guide expert :**\n\ud83d\udc49 [Guide Complet du Prompt Engineering](https://ressources.thomas-berton.com/package/guide-complet-du-prompt-engineering-maitrisez-l-art-de-communiquer-avec-l-ia)\n\n**Questions ? Rejoignez ma communaut\u00e9 :**\n\ud83d\udc49 [Mon Discord](https://discord.gg/MnjwnVV5sn)\n\n### \ud83d\udcf1 Retrouvez-moi sur :\n- [Ma cha\u00eene YouTube](https://www.youtube.com/@thomasbssh?sub_confirmation=1)\n- [Mon Instagram](https://instagram.com/thomasbssh)\n- \ud83d\udce7 contact@thomas-berton.com",
        "height": 500,
        "width": 640,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -380,
        100
      ],
      "typeVersion": 1,
      "id": "0bd3b5aa-47c3-4df0-96a2-513380d8bd62",
      "name": "Sticky Note"
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [],
  "triggerCount": 0,
  "updatedAt": "2025-05-31T07:34:34.237Z",
  "versionId": "ec24063c-a6bf-4cba-8283-060ccb04d991"
}