Help workflow

my workflow .json

:slight_smile: {
“name”: “Google Sheet → Vertex AI (Gemini) → Feuille2”,
“nodes”: [
{
“parameters”: {
“pollTimes”: {
“item”: [
{
“mode”: “everyMinute”
}
]
},
“documentId”: {
“__rl”: true,
“value”: “1slZZ6CMKH3nhRo7saoldj6GAKXxGRLdo_kbO8bB5Z0Y”,
“mode”: “list”,
“cachedResultName”: “cliche”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1slZZ6CMKH3nhRo7saoldj6GAKXxGRLdo_kbO8bB5Z0Y/edit?usp=drivesdk”
},
“sheetName”: {
“__rl”: true,
“value”: 1411598489,
“mode”: “list”,
“cachedResultName”: “Feuille 1”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1slZZ6CMKH3nhRo7saoldj6GAKXxGRLdo_kbO8bB5Z0Y/edit#gid=1411598489”
},
“options”: {}
},
“id”: “eb5e8a22-30b5-4a82-b622-75bd6a01d4ab”,
“name”: “Sheet Trigger”,
“type”: “n8n-nodes-base.googleSheetsTrigger”,
“typeVersion”: 1,
“position”: [
-1408,
-592
],
“credentials”: {
“googleSheetsTriggerOAuth2Api”: {
“id”: “JshiEOpYVmapUdZe”,
“name”: “Google Sheets Trigger account”
}
}
},
{
“parameters”: {
“sheetId”: “1slZZ6CMKH3nhRo7saoldj6GAKXxGRLdo_kbO8bB5Z0Y”,
“range”: “Feuille1!A:Z”,
“options”: {}
},
“id”: “d33461c5-6a6d-44a7-b601-aa2a2596b629”,
“name”: “Read Sheet”,
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 2,
“position”: [
-1152,
-592
],
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “C3sCWF4CKRjDLEQC”,
“name”: “Google Sheets account [email protected]
}
}
},
{
“parameters”: {
“batchSize”: 1,
“options”: {}
},
“id”: “295ec246-ae63-4bc2-aa2e-c86ca79f8efd”,
“name”: “Split In Batches”,
“type”: “n8n-nodes-base.splitInBatches”,
“typeVersion”: 1,
“position”: [
-912,
-592
]
},
{
“parameters”: {
“operation”: “append”,
“sheetId”: “1slZZ6CMKH3nhRo7saoldj6GAKXxGRLdo_kbO8bB5Z0Y”,
“range”: “Feuille2!A:Z”,
“options”: {
“valueInputMode”: “RAW”
}
},
“id”: “a9654637-9c97-45ba-9216-a30e3d5298b3”,
“name”: “Write to Feuille2”,
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 2,
“position”: [
304,
-592
],
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “C3sCWF4CKRjDLEQC”,
“name”: “Google Sheets account [email protected]
}
}
},
{
“parameters”: {
“promptType”: “define”,
“text”: “=Tu es un assistant d’extraction et de normalisation de données (facture / ligne d’article).\nObjectif : transformer les champs ci-dessous en un JSON strict, valide, sans texte autour.\n\nRègles :\n- Réponds UNIQUEMENT avec un JSON (pas de Markdown, pas d’explication).\n- Si une valeur est absente, mets null.\n- Convertis les nombres en number (pas de texte), enlève les espaces, gère virgule/point.\n- Ne devine pas : si incertain => null.\n- Garde les chaînes en français, mais sans fautes volontaires.\n\nDonnées (entrée n8n) :\n- code_f: {{ $json[‘code f’] }}\n- fournisseur: {{ $json.fournis }}\n- client: {{ $json.CLIENT }}\n- maquettes: {{ $json.MAQUETTS }}\n- prix: {{ $json.PRIX }}\n- surfaces: {{ $json.SURFACES }}\n- total_ht: {{ $json[‘TOTAL HT’] }}\n\nSortie attendue (JSON strict) :\n{\n “code_f”: <string|null>,\n “fournisseur”: <string|null>,\n “client”: <string|null>,\n “designation”: <string|null>,\n “prix_unitaire”: <number|null>,\n “surface”: <string|null>,\n “total_ht”: <number|null>,\n “controle”: {\n “erreurs”: ,\n “warnings”: \n }\n}\n”,
“messages”: {
“messageValues”: [
{
“message”: “Tu es un assistant spécialisé en extraction et normalisation de données de factures/lignes d’articles.\nObjectif : \ntri moi les ligne qui non pas de couleur et génére moi un tableaux sur la feuille2 toute les ligne qui non pas de couleur\nproduire un JSON strict et valide à partir des données utilisateur, sans texte autour.\n\nContraintes :\n- Réponds uniquement avec du JSON (aucun Markdown, aucune explication).\n- Ne devine pas : si une info manque ou est incertaine, mets null.\n- Convertis les montants en number (gère virgule/point), conserve les libellés en string.\n- Si tu détectes une incohérence, ajoute un tableau “controle” avec “erreurs” et “warnings”.\n”
}
]
},
“batching”: {}
},
“type”: “@n8n/n8n-nodes-langchain.chainLlm”,
“typeVersion”: 1.9,
“position”: [
-464,
-592
],
“id”: “a9cb96cd-1a6b-475d-b0a3-9f49d380b57f”,
“name”: “Basic LLM Chain”,
“retryOnFail”: true,
“maxTries”: 5,
“waitBetweenTries”: 5000
},
{
“parameters”: {},
“type”: “n8n-nodes-base.wait”,
“typeVersion”: 1.1,
“position”: [
-704,
-592
],
“id”: “a296c3de-1bf7-4ced-a2a9-8c1fe24b4fd0”,
“name”: “Wait2”,
“webhookId”: “02bcdf63-dc92-41f3-a578-de660eeda0ca”,
“retryOnFail”: true,
“waitBetweenTries”: 15,
“maxTries”: 5
},
{
“parameters”: {
“model”: “meta-llama/llama-3.2-3b-instruct:free”,
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenRouter”,
“typeVersion”: 1,
“position”: [
-640,
-288
],
“id”: “a1c29bbe-aa63-460d-b527-cc58473fb474”,
“name”: “OpenRouter Chat Model”,
“credentials”: {
“openRouterApi”: {
“id”: “XIh145navXsBnYkA”,
“name”: “OpenRouter accountn8nv22026”
}
}
}
],
“pinData”: {
“Sheet Trigger”: [
{
“json”: {
“L”: 45476,
“code f”: 5583,
“fournis”: “YAHIAOUI”,
“CLIENT”: “DAHMANE KARIM kimo huile”,
“MAQUETTS”: “huile d’assaisonnement 4x3l emb 53108”,
“PRIX”: 6,
“SURFACES”: “11511CM²”,
“TOTAL HT”: 69066,
“INFORGRAPHE”: “khadija”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 46014,
“code f”: 10382,
“fournis”: “YAHAOUI”,
“CLIENT”: “yaomy”,
“MAQUETTS”: “yaomy family 5x70gr emb 59207”,
“PRIX”: 6,
“SURFACES”: “12734CM²”,
“TOTAL HT”: 76404,
“INFORGRAPHE”: “driss”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 46025,
“code f”: 945972,
“fournis”: “miLLER”,
“CLIENT”: “mohamed brahimi”,
“MAQUETTS”: “proliant server hp emb 59306”,
“PRIX”: 6,
“SURFACES”: “2860CM²”,
“TOTAL HT”: 17160,
“INFORGRAPHE”: “omar”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 46015,
“code f”: 11240,
“fournis”: “POLY SLIM”,
“CLIENT”: “cherfaoui food”,
“MAQUETTS”: “caisse food licorice root 10kg emb 58985”,
“PRIX”: 6,
“SURFACES”: “5700CM²”,
“TOTAL HT”: 34200,
“INFORGRAPHE”: “khadija”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 45002,
“code f”: “00745064-001-000”,
“fournis”: “MILLER”,
“CLIENT”: “PHARMIDAL”,
“MAQUETTS”: “ac3ac0131”,
“PRIX”: 6,
“SURFACES”: “1800CM²”,
“TOTAL HT”: 10800,
“INFORGRAPHE”: “rania”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 45002,
“code f”: “00745057-001-000”,
“fournis”: “MILLER”,
“CLIENT”: “PHARMIDAL”,
“MAQUETTS”: “ac3ac0291”,
“PRIX”: 6,
“SURFACES”: “1900CM²”,
“TOTAL HT”: 11400,
“INFORGRAPHE”: “rania”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 45733,
“code f”: 2019,
“fournis”: “STUDIO FL”,
“CLIENT”: “sarl choco chic”,
“MAQUETTS”: “barquette 180x12”,
“PRIX”: 6,
“SURFACES”: “6800CM²”,
“TOTAL HT”: 40800,
“INFORGRAPHE”: “tayeb”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 45733,
“code f”: 2020,
“fournis”: “STUDIO FL”,
“CLIENT”: “sarl choco chic”,
“MAQUETTS”: “barquette 320x6 emb 56960”,
“PRIX”: 6,
“SURFACES”: “7298CM²”,
“TOTAL HT”: 43788,
“INFORGRAPHE”: “tayeb”
},
“pairedItem”: {
“item”: 0
}
},
{
“json”: {
“L”: 45899,
“code f”: 5979,
“fournis”: “FLEXOMONDE”,
“CLIENT”: “eurm madhuri”,
“MAQUETTS”: “riz 10kg emb 58235”,
“PRIX”: 6,
“SURFACES”: “7579CM²”,
“TOTAL HT”: 45474,
“INFORGRAPHE”: “khadija”
},
“pairedItem”: {
“item”: 0
}
}
]
},
“connections”: {
“Sheet Trigger”: {
“main”: [
[
{
“node”: “Read Sheet”,
“type”: “main”,
“index”: 0
}
]
]
},
“Read Sheet”: {
“main”: [
[
{
“node”: “Split In Batches”,
“type”: “main”,
“index”: 0
}
]
]
},
“Split In Batches”: {
“main”: [
[
{
“node”: “Wait2”,
“type”: “main”,
“index”: 0
}
]
]
},
“Basic LLM Chain”: {
“main”: [
[
{
“node”: “Write to Feuille2”,
“type”: “main”,
“index”: 0
}
]
]
},
“Wait2”: {
“main”: [
[
{
“node”: “Basic LLM Chain”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenRouter Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “Basic LLM Chain”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
}
},
“active”: false,
“settings”: {
“executionOrder”: “v1”,
“availableInMCP”: false
},
“versionId”: “c3e48a5b-d6e0-4e66-a7c5-1803e505ccf7”,
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “c77e41168b0abc4c9e72e3dfa70fb293d0acb289b40b847421933eadc146e082”
},
“id”: “HT1RybpiVplkx8kTjVB88”,
“tags”:
}
I’m looking to switch to a free trial version of AI. Can anyone help me with that?

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

It looks like you’re having trouble with your workflow. Based on the provided JSON, your workflow uses a Google Sheets Trigger, reads data from a sheet, and presumably passes that data to Vertex AI. The issue might be with the trigger setup or the Google Sheets node configuration.

To troubleshoot this, verify your Google Sheets Trigger is correctly authorized and configured to listen for changes on your sheet. Also, double-check the “Read Sheet” node’s settings to ensure the correct sheet ID and range are specified.

NO, I USE openrouter and how to enable and configure it to detect changes made to your sheet. Could you please give me the correct configuration?

Could you edit your first post and paste the json properly so it shows the preview for us?