AutomationFlowsAI & RAG › Workflow 3050

Workflow 3050

Workflow 3050. Uses chatTrigger, agent, lmChatOpenAi, toolCalculator. Chat trigger; 30 nodes.

Chat trigger trigger★★★★★ complexityAI-powered30 nodesChat TriggerAgentOpenAI ChatTool CalculatorExecute Workflow TriggerTool WorkflowHTTP RequestGoogle Sheets Tool
AI & RAG Trigger: Chat trigger Nodes: 30 Complexity: ★★★★★ AI nodes: yes Added:

This workflow follows the Agent → Chat Trigger recipe pattern — see all workflows that pair these two integrations.

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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "0951fd33-1811-4a89-b84f-f46dc9e6fde1",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        20,
        -340
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "699c2f89-5547-4d28-92a9-5e216aecb251",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        240,
        -340
      ],
      "parameters": {
        "options": {
          "maxIterations": 15,
          "systemMessage": "=You are a helpful assistant.\nCurrent timestamp is {{ $now }}"
        }
      },
      "typeVersion": 1.7
    },
    {
      "id": "640c29f7-b67e-49f6-a864-c9b396c446b7",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        160,
        -100
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {
          "temperature": 0.2
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "807630b4-c138-4b66-a438-fb70eab12a07",
      "name": "Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        840,
        60
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "132a97a3-239c-403f-843f-55b652e3efc5",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        840,
        640
      ],
      "parameters": {
        "jsCode": "// Ensure there's at least one input item.\nif (!items || items.length === 0) {\n  throw new Error(\"No input items found.\");\n}\n\n// Our input is expected to have a 'data' property containing the JSONP string.\nconst input = items[0].json;\n\nif (!input.data) {\n  throw new Error(\"Input JSON does not have a 'data' property.\");\n}\n\nconst rawData = input.data;\n\n// Use a regex to extract the JSON content from the Google Visualization JSONP response.\nconst regex = /google\\.visualization\\.Query\\.setResponse\\((.*)\\);?$/s;\nconst match = rawData.match(regex);\n\nif (!match) {\n  throw new Error(\"Input data does not match the expected Google Visualization JSONP format.\");\n}\n\nconst jsonString = match[1];\n\n// Parse the extracted JSON string.\nlet parsed;\ntry {\n  parsed = JSON.parse(jsonString);\n} catch (error) {\n  throw new Error(\"Failed to parse JSON: \" + error.message);\n}\n\n// Verify that the parsed JSON has the expected 'table' structure with 'cols' and 'rows'.\nif (!parsed.table || !Array.isArray(parsed.table.cols) || !Array.isArray(parsed.table.rows)) {\n  throw new Error(\"Parsed JSON does not have the expected 'table' structure with 'cols' and 'rows'.\");\n}\n\nconst cols = parsed.table.cols;\nconst rows = parsed.table.rows;\n\n// Helper function to convert date string from \"Date(YYYY,M,D)\" to \"YYYY-MM-DD\"\nfunction formatDate(dateStr) {\n  const match = dateStr.match(/^Date\\((\\d+),(\\d+),(\\d+)\\)$/);\n  if (!match) return dateStr;\n  const year = parseInt(match[1], 10);\n  const month = parseInt(match[2], 10) + 1; // JavaScript months are 0-indexed\n  const day = parseInt(match[3], 10);\n  // Format with leading zeros\n  return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;\n}\n\n// Map each row into an object using the column labels as keys.\nconst newItems = rows.map(row => {\n  const obj = {};\n  cols.forEach((col, index) => {\n    let value = row.c && row.c[index] ? row.c[index].v : null;\n    // If the column type is \"date\" and the value is a string that looks like \"Date(YYYY,M,D)\"\n    if (col.type === \"date\" && typeof value === \"string\") {\n      value = formatDate(value);\n    }\n    obj[col.label] = value;\n  });\n  return { json: obj };\n});\n\n// Return the new array of items.\nreturn newItems;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "3dc1e670-bfb1-4b63-b9c8-85656134c843",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        280,
        640
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "start_date"
            },
            {
              "name": "end_date"
            },
            {
              "name": "status"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "52a26e43-12a5-4b4a-a224-d70cdabf6aaf",
      "name": "Records by date",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        1020,
        -120
      ],
      "parameters": {
        "name": "records_by_date_and_or_status",
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "a2BIIjr2gLBay06M",
          "cachedResultName": "Template | Your first AI Data Analyst"
        },
        "description": "Use this tool to get records filtered by date. You can also filter by status at the same time, if you want.",
        "workflowInputs": {
          "value": {
            "status": "={{ $fromAI(\"status\", \"Status of the transaction. Can be Completed, Refund or Error. Leave empty if you don't need this now.\", \"string\") }}",
            "end_date": "={{ $fromAI(\"end_date\", \"End date in format YYYY-MM-DD\", \"string\") }}",
            "start_date": "={{ $fromAI(\"start_date\", \"Start date in format YYYY-MM-DD\", \"string\") }}"
          },
          "schema": [
            {
              "id": "start_date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "start_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "end_date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "end_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e1811519-8699-4243-8c64-0db1ab26004d",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1280,
        640
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "3b129abd-ac9a-460c-abb3-007e2c94e284",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 400,
        "content": "AI\uc5d0\uac8c \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \ub2e4\uc2dc \ubcf4\ub0b4\uae30 \uc704\ud574, \uc6b0\ub9ac\ub294 \ubaa8\ub4e0 \uac83\uc744 \ud558\ub098\uc758 \ud56d\ubaa9\uc73c\ub85c \uc9d1\uacc4\ud574\uc57c \ud569\ub2c8\ub2e4.\n\n\uadf8\ub807\uc9c0 \uc54a\uc73c\uba74, \ud55c \ubc88\uc5d0 \ud558\ub098\uc758 \ud56d\ubaa9\uc73c\ub85c \uc751\ub2f5\ud560 \uac83\uc774\uace0, AI\ub294 \ub3c4\ucc29\ud558\ub294 \uccab \ubc88\uc9f8 \ud56d\ubaa9\ub9cc \ubc1b\uc744 \uac83\uc785\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "645ac0f9-8022-4f2c-8c6c-5aadd6cf09cc",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 400,
        "content": "\uc774 \ub178\ub4dc\ub294 Google Sheets API\uc5d0 \ub9de\ucda4 HTTP \uc694\uccad\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.\n\nGoogle Sheets API\uc5d0\uc11c \ub0a0\uc9dc \ubc94\uc704\ub85c \ud544\ud130\ub9c1\ud558\ub294 \uac83\uc740 \ub9e4\uc6b0 \ubcf5\uc7a1\ud569\ub2c8\ub2e4.\n\n\uc774 \ub178\ub4dc\ub294 \uadf8 \ubb38\uc81c\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4.\n\n\ud558\uc9c0\ub9cc \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \ud558\ub294 \uac83\uc740 \ud6e8\uc52c \uac04\ub2e8\ud569\ub2c8\ub2e4. \ub3c4\uad6c\uac00 \uc11c\ube0c-\uc6cc\ud06c\ud50c\ub85c \uc5c6\uc774 \uc774\ub97c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "14221a72-914d-4c75-866a-d64ba7f8109f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 400,
        "content": "\uc774 \ubcf5\uc7a1\ud55c \uc694\uccad\uc758 \ucd9c\ub825\ub3c4 \ud63c\ub780\uc2a4\ub7fd\uc2b5\ub2c8\ub2e4.\n\n\uadf8\ub798\uc11c ChatGPT\uac00 \uc0dd\uc131\ud55c \uc77c\ubd80 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c JSON \uac1d\uccb4\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "f12668ea-b59d-4caf-a997-381f78b7cfe7",
      "name": "Google Sheets request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        560,
        640
      ],
      "parameters": {
        "url": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/gviz/tq",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "sheet",
              "value": "Sheet1"
            },
            {
              "name": "tq",
              "value": "=SELECT * WHERE A >= DATE \"{{ $json.start_date }}\" AND A <= DATE \"{{ $json.end_date }}\""
            }
          ]
        },
        "nodeCredentialType": "googleSheetsOAuth2Api"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f59a2606-0981-43d1-9a07-b802891b9220",
      "name": "Get transactions by product name",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        1020,
        -320
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $fromAI(\"product_name\", \"The product name\", \"string\") }}",
              "lookupColumn": "Product"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit?usp=sharing"
        },
        "descriptionType": "manual",
        "toolDescription": "Find transactions by product.\nOur products are:\n- Widget A\n- Widget B\n- Widget C\n- Widget D"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "1ed7168c-1639-4b3b-a3b4-ed162bcef880",
      "name": "Get all transactions",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        840,
        -120
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit?usp=sharing"
        },
        "descriptionType": "manual",
        "toolDescription": "Only use this as last resort, because it will pull all data at once."
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "798453da-8a65-4d14-ae0a-778d64ab02ad",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -340
      ],
      "parameters": {
        "color": 4,
        "width": 320,
        "height": 340,
        "content": "## \uc2dc\ub3c4\ud560 \uba87 \uac00\uc9c0 \uc9c8\ubb38\n\uc774 \ud398\uc774\uc9c0\uc5d0 \ube68\uac04 \ubc84\ud2bc\uc774 \uc788\uc5b4\uc694. \uadf8 \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uba74 AI\uc640 \ucc44\ud305\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\uc774 \uc9c8\ubb38\ub4e4\uc744 \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694:\n\n- 1\uc6d4\uc5d0 \ud658\ubd88\uc774 \uba87 \uac74 \uc788\uc5c8\uace0, \ud658\ubd88\ub41c \uae08\uc561\uc740 \uc5bc\ub9c8\uc600\ub098\uc694?\n\n- 2025\ub144 1\uc6d4\uc5d0 \uc131\uacf5\uc801\uc778 \ud310\ub9e4\uac00 \uba87 \uac74 \uc788\uc5c8\uace0, \uadf8\ub4e4\uc758 \ucd5c\uc885 \uc218\uc785\uc740 \uc5bc\ub9c8\uc600\ub098\uc694?\n\n- \ud658\ubd88\uc758 \uac00\uc7a5 \ube48\ubc88\ud55c \uc774\uc720\ub294 \ubb34\uc5c7\uc778\uac00\uc694?"
      },
      "typeVersion": 1
    },
    {
      "id": "b8336f1a-3855-4247-9589-2f9aa35d211f",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        -340
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "content": "\uc774 Sheets \ud30c\uc77c\uc744 \uadc0\ud558\uc758 Google Drive\uc5d0 \ubcf5\uc0ac\ud558\uc138\uc694  \nhttps://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit?gid=0#gid=0"
      },
      "typeVersion": 1
    },
    {
      "id": "99a55b39-965b-4454-b416-d3991f0bdfbc",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        60
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 140,
        "content": "\uacc4\uc0b0\uae30\ub294 \uc5d0\uc774\uc804\ud2b8\uac00 \uc218\ud559\uc801 \uacc4\uc0b0\uc744 \uc2e4\ud589\ud560 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "7ebebf56-e065-41c4-8270-f636785b0def",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        -160
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "content": "### \uad6c\uae00 \uc2dc\ud2b8\uc5d0 \uc5f0\uacb0\ud558\ub294 \ubc29\ubc95?\nn8n\uc744 \uad6c\uae00 \uc2dc\ud2b8\uc5d0 \uc5f0\uacb0\ud558\ub824\uba74 \uad6c\uae00 OAuth \uc790\uaca9 \uc99d\uba85\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.\n\n\ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694 **[\uc5ec\uae30](https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/)**"
      },
      "typeVersion": 1
    },
    {
      "id": "b64df0dd-6425-4fc2-9f60-8c5a85412d61",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 170,
        "height": 260,
        "content": "## \ud83d\udc46\n\uc5ec\uae30\uc5d0\uc11c \ub9ce\uc740 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubb34\ub8cc Google Gemini \uc635\uc158\uc744 \ud3ec\ud568\ud558\uc5ec.\n\n\ucca0\uc800\ud788 \ud14c\uc2a4\ud2b8\ud558\uc138\uc694. \uc77c\ubd80 \ubaa8\ub378\uc740 \ub370\uc774\ud130 \ubd84\uc11d\uc5d0 \ub354 \uc801\ud569\ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "23c7bb52-b189-45f1-949b-ea588f065583",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 150,
        "height": 260,
        "content": "## \ud83d\udc46  \n\uc774\uac83\uc740 \ub2e8\uae30 \uba54\ubaa8\ub9ac\uc785\ub2c8\ub2e4. \ucc44\ud305 \uc911\uc5d0 \uc774\uc804 5\uac1c\uc758 \uc0c1\ud638\uc791\uc6a9\uc744 \uae30\uc5b5\ud560 \uac83\uc785\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "6097e5a1-139b-4329-81ff-4fda16ea5221",
      "name": "Buffer Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        360,
        -100
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "6de4a7f2-5c58-4401-bd7c-19c5a73ba775",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1160,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 180,
        "content": "**AI \ub3c4\uad6c \uc5d0\uc774\uc804\ud2b8**\ub294 \ubaa8\ub4e0 \ub3c4\uad6c\uc5d0 \ub3d9\uc2dc\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\uac83\uc740 \uc774\ub984\uacfc \uc124\uba85\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac01 \ub3c4\uad6c\ub97c \uc5b8\uc81c \uc0ac\uc6a9\ud560\uc9c0 \uacb0\uc815\ud569\ub2c8\ub2e4.\n\n\uc54c\uc544\ub450\uc138\uc694, \uc800\ub294 \ubaa8\ub450\uc5d0\uc11c $fromAI \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.\n\n\ubb38\uc11c \ubcf4\uae30\ub97c [\uc5ec\uae30](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/)"
      },
      "typeVersion": 1
    },
    {
      "id": "a308d895-bc18-4b2c-9567-78f6c29f79e8",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1160,
        -120
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 320,
        "content": "## \ud83d\udc48 \uc774\uac83\uc740 \ud2b9\ubcc4\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4\n\uc774\uac83\uc740 \ub2e4\ub978 \uc6cc\ud06c\ud50c\ub85c\ub97c \ud638\ucd9c\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\n\uc774 \uac1c\ub150\uc744 \uc11c\ube0c-\uc6cc\ud06c\ud50c\ub85c\ub77c\uace0 \ud569\ub2c8\ub2e4.\n\n\ubb38\uc11c\ub97c \ubcf4\uc138\uc694 [\uc5ec\uae30](https://docs.n8n.io/flow-logic/subworkflows/).\n\n\uc644\uc804\ud788 \ubcc4\ub3c4\uc758 \uc6cc\ud06c\ud50c\ub85c\ub97c \uc2e4\ud589\ud558\ub294 \ub300\uc2e0, \uc544\ub798 \uac83\uc744 \ud638\ucd9c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.\n\n\uc774\uac83\uc740 \uac19\uc740 \uc6cc\ud06c\ud50c\ub85c\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0\ub9cc, \ud2b8\ub9ac\uac70\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc774 \ub3c4\uad6c\uc5d0 \uc758\ud574 \ud638\ucd9c\ub420 \ub54c\ub9cc \uc2e4\ud589\ub418\ub3c4\ub85d \uc815\uc758\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "0a6d94bc-21e1-4949-b7f4-c93abbecf08c",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        340
      ],
      "parameters": {
        "color": 7,
        "width": 1380,
        "height": 520,
        "content": "# \uc11c\ube0c-\uc6cc\ud06c\ud50c\ub85c\uc6b0\nAI\ub294 \uc5b8\uc81c\ub4e0\uc9c0 **\ub0a0\uc9dc\ubcc4 \uae30\ub85d** \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc774 \uc11c\ube0c-\uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n\uc11c\ube0c-\uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294 \uc790\ub3d9\uc73c\ub85c \ub9c8\uc9c0\ub9c9 \uc2e4\ud589\ub41c \ub178\ub4dc\uc758 \uacb0\uacfc\ub97c AI\uc5d0\uac8c \ubc18\ud658\ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "3e424615-6e49-4bd3-b066-005b9f0f773e",
      "name": "Filter by status",
      "type": "n8n-nodes-base.filter",
      "position": [
        1060,
        640
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "e50da873-bbbd-41d3-a418-83193907977c",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.Status }}",
              "rightValue": "={{ $('When Executed by Another Workflow').item.json.status }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0ad0102c-adb9-4ec9-bdf3-b1ce425b88ba",
      "name": "Get transactions by status",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        840,
        -320
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $fromAI(\"transaction_status\", \"Transaction status can be Refund, Completed or Error\", \"string\") }}",
              "lookupColumn": "Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/18A4d7KYrk8-uEMbu7shoQe_UIzmbTLV1FMN43bjA7qc/edit?usp=sharing"
        },
        "descriptionType": "manual",
        "toolDescription": "Find transactions by status"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "5b80cb08-6e19-47b2-8146-c299e709a34a",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        820,
        -540
      ],
      "parameters": {
        "color": 4,
        "width": 300,
        "content": "## Sheets \ud30c\uc77c\uc758 URL\uc744 \ubaa8\ub4e0 Sheets \ub3c4\uad6c\uc5d0\uc11c \ubcc0\uacbd\ud558\uc138\uc694 \ud83d\udc47"
      },
      "typeVersion": 1
    },
    {
      "id": "ddc1351e-0ad0-480f-9742-30f2aa860d61",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        820
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 100,
        "content": "## \ud83d\udc46 Sheets \ud30c\uc77c\uc758 URL \ubcc0\uacbd"
      },
      "typeVersion": 1
    },
    {
      "id": "ab837a10-932f-4b14-8e2c-546077ca2c86",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 740,
        "height": 580,
        "content": "# \uc800\uc790  \n![Solomon](https://gravatar.com/avatar/79aa147f090807fe0d618fb47a1de932669e385bb0c84bf3a7f891ae7d174256?r=pg&d=retro&size=200)  \n### Solomon  \n\ube0c\ub77c\uc9c8 \ucd9c\uc2e0\uc758 \ud504\ub9ac\ub79c\uc2a4 \ucee8\uc124\ud134\ud2b8\ub85c, \uc790\ub3d9\ud654 \ubc0f \ub370\uc774\ud130 \ubd84\uc11d\uc744 \uc804\ubb38\uc73c\ub85c \ud569\ub2c8\ub2e4. \uc120\ud0dd\ub41c \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \ud568\uaed8 \uac00\uc7a5 \uc5b4\ub824\uc6b4 \ud504\ub85c\uc81d\ud2b8\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4.  \n\n\ud604\uc7ac Simon\uacfc \ud568\uaed8 [\uc2a4\ud06c\ub808\uc774\ud504\uc2a4 \ucee4\ubba4\ub2c8\ud2f0](https://www.skool.com/scrapes/about?ref=21f10ad99f4d46ba9b8aaea8c9f58c34)\ub97c \uc6b4\uc601 \uc911\uc785\ub2c8\ub2e4. \ud83d\udcaa  \n\n\ube44\uc988\ub2c8\uc2a4 \ubb38\uc758\ub294 automations.solomon@gmail.com\uc73c\ub85c \uc774\uba54\uc77c \uc8fc\uc138\uc694.  \n\ub610\ub294 \ub354 \ube60\ub978 \uc751\ub2f5\uc744 \uc704\ud574 [Telegram](https://t.me/salomaoguilherme)\uc5d0\uc11c \uba54\uc2dc\uc9c0 \uc8fc\uc138\uc694.  \n\n## \ub2e4\ub978 \ud15c\ud50c\ub9bf \ud655\uc778\ud558\uae30  \n### \ud83d\udc49 https://n8n.io/creators/solomon/"
      },
      "typeVersion": 1
    },
    {
      "id": "e58351b3-3b18-4c03-9435-27ba853d03bb",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        620
      ],
      "parameters": {
        "width": 740,
        "height": 180,
        "content": "# \ub3c4\uc6c0\uc774 \ud544\uc694\ud558\uc2e0\uac00\uc694?\n\n\uc774 \uc6cc\ud06c\ud50c\ub85c\uc5d0 \ub300\ud55c \ub3c4\uc6c0\uc744 \ubc1b\uae30 \uc704\ud574, \ucee4\ubba4\ub2c8\ud2f0 \ud3ec\ub7fc\uc5d0 \ud1a0\ud53d\uc744 \uc0dd\uc131\ud574 \uc8fc\uc138\uc694:\n\nhttps://community.n8n.io/c/questions/"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Filter by status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Buffer Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Records by date": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Filter by status": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get all transactions": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets request": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get transactions by status": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get transactions by product name": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Google Sheets request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

Workflow 3050. Uses chatTrigger, agent, lmChatOpenAi, toolCalculator. Chat trigger; 30 nodes.

Source: https://github.com/n8nKOR/n8n-shared-workflow/blob/62a671327e906c22a40d290b339ff6d2373f8d75/workflows/n8n-workflows-by-Zie619/ai/3050_workflow_3050.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

This template attempts to create an AI-powered content assistant for WordPress sites using Mistral AI, enabling article recommendations, content summarization, and contextual Q&A capabilities.

Chat Trigger, Output Parser Structured, Agent +10
AI & RAG

by Varritech Technologies

Chat Trigger, Agent, OpenAI Chat +8
AI & RAG

Who is this workflow for? This workflow is designed for SEO analysts, content creators, marketing agencies, and developers who need to index a website and then interact with its content as if it were

Agent, OpenAI Chat, Memory Buffer Window +10
AI & RAG

Airtable AI Agent. Uses lmChatOpenAi, agent, toolWorkflow, toolCode. Chat trigger; 42 nodes.

OpenAI Chat, Agent, Tool Workflow +6
AI & RAG

Ai Agent To Chat With Airtable And Analyze Data. Uses lmChatOpenAi, agent, stickyNote, memoryBufferWindow. Chat trigger; 41 nodes.

OpenAI Chat, Agent, Memory Buffer Window +6