AutomationFlowsAI & RAG › Daily Chess.com AI Game Review via Gmail

Daily Chess.com AI Game Review via Gmail

Original n8n title: Get Chess.com Game Reviews by Email Using Google Gemini or Other Llms

ByUcartz Online @ucartz on n8n.io

Improve your chess automatically — get a personalized AI coaching report delivered. This workflow connects to the free Chess.com public API, fetches your most recent game, and sends it to an AI language model that acts as your personal chess coach. Within minutes, you receive a…

Cron / scheduled trigger★★★★☆ complexityAI-powered17 nodesHTTP RequestAgentGoogle Gemini ChatGmail
AI & RAG Trigger: Cron / scheduled Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #14165 — we link there as the canonical source.

This workflow follows the Agent → Gmail 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
{
  "id": "7SbPkpSZ8xLAd462",
  "name": "\u265f\ufe0f Chess Game Coach \u2014 Auto AI Review via Email",
  "tags": [],
  "nodes": [
    {
      "id": "0d4738ef-2c9a-4e18-839a-c0d64a91cd49",
      "name": "\u23f0 Daily Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "Runs once per day. Adjust the interval to your preferred cadence (e.g., every 12 hours for active players).",
      "position": [
        -240,
        112
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "7be06386-0800-4512-96a3-bcc01016d501",
      "name": "\u25b6\ufe0f Manual Test Run",
      "type": "n8n-nodes-base.manualTrigger",
      "notes": "Use this to test the workflow on demand without waiting for the schedule.",
      "position": [
        -240,
        256
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b4abebbd-f769-4a39-9965-4a0bf5eac1b9",
      "name": "\ud83d\udcd6 Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -96
      ],
      "parameters": {
        "color": 7,
        "width": 596,
        "height": 688,
        "content": "# \u265f\ufe0f AI Chess Game Coach\n\nAn n8n workflow that automatically fetches your latest Chess.com game, analyzes it with AI, and emails you a personalized coaching report.\n\n---\n\n## How It Works\n\n1. Triggers on a daily schedule (or manually on demand)\n2. Fetches your most recent game from the Chess.com public API\n3. Enriches the game data with player context, result, and opening code\n4. Sends the full game to an AI coach for structured analysis\n5. Emails you an HTML coaching report covering critical moments, mistakes, strengths, and a training plan\n\n---\n\n## Created by\n\n**Ucartz Online**\nFor any queries or clarifications about this workflow, feel free to reach out.\n\ud83d\udce7 [support@ucartz.com](mailto:support@ucartz.com)"
      },
      "typeVersion": 1
    },
    {
      "id": "f46f1571-6055-4708-9906-d0244a0c015d",
      "name": "Step 1 Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        -96
      ],
      "parameters": {
        "color": 4,
        "width": 268,
        "height": 676,
        "content": "## Step 1 \u2014 Configure\n\nOpen the **\u2699\ufe0f Config** node and set:\n\n\u2022 `username` \u2192 your Chess.com handle\n\u2022 `email` \u2192 where to send reports\n\n\ud83d\udca1 Username is case-insensitive."
      },
      "typeVersion": 1
    },
    {
      "id": "ce451526-660c-4474-96c7-7c6f2e175790",
      "name": "Steps 2-4 Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -96
      ],
      "parameters": {
        "color": 4,
        "width": 940,
        "height": 676,
        "content": "## Steps 2\u20134 \u2014 Fetch & Enrich\n\n**Fetch Games** calls the free Chess.com API (no key needed).\n\n**Sort** orders games newest \u2192 oldest.\n\n**Add Context** determines:\n- Which color you played\n- Your result (Win / Loss / Draw)\n- Opponent info & ECO code\n\nAll data is passed directly into the AI prompt."
      },
      "typeVersion": 1
    },
    {
      "id": "619ec4c7-de0b-4267-808b-af3eed746483",
      "name": "Step 5 Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        -96
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 676,
        "content": "## Step 5 \u2014 AI Analysis\n\nThe AI coach receives the full PGN, player context, and ratings, then produces a structured HTML report.\n\n**Swap the LLM node** to use:\n- OpenAI GPT-4o\n- Anthropic Claude\n- Mistral, Llama, etc.\n\n\ud83d\udca1 Better models \u2192 better analysis. GPT-4o or Claude Sonnet recommended for 1000+ rated players."
      },
      "typeVersion": 1
    },
    {
      "id": "a6677a90-107f-48c8-ad7a-48a6169a6cd2",
      "name": "Step 6 Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        -96
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 676,
        "content": "## Step 6 \u2014 Send Report\n\nThe HTML report is emailed directly.\n\n**Want other channels?**\nAdd nodes after the email step:\n- **Telegram** \u2014 send as message\n- **Slack** \u2014 post to channel\n- **Notion** \u2014 save to database\n- **Google Drive** \u2014 save as file\n- **Discord** \u2014 post to server"
      },
      "typeVersion": 1
    },
    {
      "id": "837924db-0ad2-400d-945e-4150d9e53cc1",
      "name": "\ud83d\udcd6 Workflow Overview1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1792,
        -96
      ],
      "parameters": {
        "color": 6,
        "width": 548,
        "height": 688,
        "content": "## \u265f\ufe0f Chess Game Coach - Sample Result\n\n\u265f\ufe0f Game Review \u2014 daniel-albin\nPlaying as: White (829)  |  Opponent: mary_elliee00 (833)\nResult: \ud83d\udc94 Loss (timeout)  |  Time Control: 60s Bullet\nOpening: B00 \u2014 Nimzowitsch Defense  |  View Game \u2192\n\n\ud83d\udcca Game Summary\nYou started the game well, immediately challenging the center with 1.e4 and 2.d4. The early queen exchange on move 6 simplified the position significantly, shifting the focus from attacking chess to piece coordination...\n\n\ud83c\udfaf Critical Moments\nMove 3 \u2014 Early capture relieves tension\nCapturing with 3.dxe5 resolved the central tension early, allowing Black to develop smoothly with ...Nxe5. Holding the tension longer often creates more attacking chances.\n\nMove 6 \u2014 Queen exchange changes the game\nAfter Qxd8+ Kxd8, the character of the game changes completely. Black's king becomes active in the center \u2014 a strength in simplified positions.\n\n\ud83d\udca1 Five Key Lessons\nDon't rush to capture pawns unless you gain a clear advantage.\nExchanging queens early means your game plan must change accordingly.\nIn bullet chess, clock management is as important as move quality.\nAfter piece trades, the active king can be a strength \u2014 or a danger.\nIdentify the decisive moment: what one move changed the game?\n\n\ud83d\udcaa Closing Motivation\nYou're already applying solid opening principles \u2014 that's a great foundation! Focus on time management in your next bullet session and you'll feel the improvement immediately. Keep going! \ud83d\ude80"
      },
      "typeVersion": 1
    },
    {
      "id": "c01781b4-9e5e-44ec-8213-67f5fa9097b7",
      "name": "Add Player Context",
      "type": "n8n-nodes-base.code",
      "notes": "Enriches each game with perspective-aware data:\n\u2022 Which color did the reviewing player use?\n\u2022 What was the result from their perspective?\n\u2022 Opponent name, ratings, and ECO opening code\n\nThis context is passed directly into the AI prompt.",
      "position": [
        768,
        192
      ],
      "parameters": {
        "jsCode": "// Enrich game data with player-perspective context\n// Determines color played, ratings, result, and opening code\n\nconst game = $input.item.json;\nconst reviewingUsername = game._username;\n\nconst playedWhite = game.white.username.toLowerCase() === reviewingUsername.toLowerCase();\n\nconst playerColor    = playedWhite ? 'White' : 'Black';\nconst opponentColor  = playedWhite ? 'Black' : 'White';\nconst playerData     = playedWhite ? game.white : game.black;\nconst opponentData   = playedWhite ? game.black : game.white;\n\n// Map result codes to human-readable outcomes\nconst WIN_CODES  = ['win'];\nconst LOSS_CODES = ['resigned', 'checkmated', 'timeout', 'abandoned'];\nconst DRAW_CODES = ['agreed', 'stalemate', 'repetition', 'insufficient', '50move', 'timevsinsufficient'];\n\nlet gameResult = 'Unknown';\nlet resultEmoji = '\u2753';\n\nif (WIN_CODES.includes(playerData.result)) {\n  gameResult = 'Win';  resultEmoji = '\ud83c\udfc6';\n} else if (LOSS_CODES.includes(playerData.result)) {\n  gameResult = 'Loss'; resultEmoji = '\ud83d\udc94';\n} else if (DRAW_CODES.includes(playerData.result)) {\n  gameResult = 'Draw'; resultEmoji = '\ud83e\udd1d';\n}\n\n// Extract ECO opening code from the eco URL field\nlet ecoCode = 'Unknown';\nif (game.eco) {\n  const ecoMatch = game.eco.match(/\\/([A-E]\\d{2})/);\n  if (ecoMatch) ecoCode = ecoMatch[1];\n}\n\nreturn {\n  json: {\n    ...game,\n    reviewingUsername,\n    playerColor,\n    opponentColor,\n    playerRating:    playerData.rating,\n    opponentUsername: opponentData.username,\n    opponentRating:  opponentData.rating,\n    gameResult,\n    resultEmoji,\n    playerResult:   playerData.result,\n    opponentResult: opponentData.result,\n    ecoCode\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "6c9a14c0-b8bc-48d3-b70f-56b23901262b",
      "name": "Sort Games (Latest First)",
      "type": "n8n-nodes-base.code",
      "notes": "Sorts the game list by end time descending so the most recent game is processed first. Also injects the reviewing username into each game record.",
      "position": [
        576,
        192
      ],
      "parameters": {
        "jsCode": "// Sort all games by end time, newest first\n// Then output as individual items for the batch processor\nconst games = $input.item.json.games;\nconst username = $(\"Config  - Username - Email\").first().json.username;\n\nif (!games || games.length === 0) {\n  throw new Error(`No games found this month for player: ${username}`);\n}\n\n// Sort descending by end_time (most recent game first)\ngames.sort((a, b) => b.end_time - a.end_time);\n\n// Attach the reviewing username to each game for downstream use\nreturn games.map(game => ({\n  json: {\n    ...game,\n    _username: username\n  }\n}));"
      },
      "typeVersion": 2
    },
    {
      "id": "36816dcf-f2d8-42fc-ba3d-f05875160e9a",
      "name": "Fetch Games from Chess.com",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Calls the Chess.com public API to retrieve all games played this month. Returns a JSON object with a 'games' array.",
      "position": [
        400,
        192
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {
          "lowercaseHeaders": false
        },
        "jsonHeaders": "{\n  \"User-Agent\": \"Mozilla/5.0 (compatible; n8n-chess-coach-bot/1.0)\",\n  \"Accept\": \"application/json\",\n  \"Accept-Language\": \"en-US,en;q=0.9\"\n}",
        "sendHeaders": true,
        "specifyHeaders": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "457a5e8c-eefc-4872-8c3b-570829ae6822",
      "name": "Build API URL (Current Month)",
      "type": "n8n-nodes-base.code",
      "notes": "Constructs the Chess.com public API endpoint for the current calendar month. No API key required \u2014 Chess.com's game archive is publicly accessible.",
      "position": [
        192,
        192
      ],
      "parameters": {
        "jsCode": "// Build the Chess.com API URL for the current month's games\nconst username = $input.item.json.username;\n\nconst now = new Date();\nconst year = now.getFullYear();\nconst month = String(now.getMonth() + 1).padStart(2, '0');\n\n// Chess.com public API endpoint for monthly games\nconst url = `https://api.chess.com/pub/player/${username}/games/${year}/${month}`;\n\nreturn [\n  {\n    json: {\n      username: username,\n      year: year,\n      month: month,\n      url: url\n    }\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "36b601a1-63f6-46da-8a2c-c76c6c8fe217",
      "name": "Process Last Game Only",
      "type": "n8n-nodes-base.splitInBatches",
      "notes": "Processes only the most recent game (batch size = 1 by default). The loop exits after the first game.\n\nTo analyze multiple recent games, remove this node and let all items flow through \u2014 but be mindful of AI API costs.",
      "position": [
        944,
        192
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "e6974b0a-0837-4649-bba5-860e7a461ddb",
      "name": "Config  - Username - Email",
      "type": "n8n-nodes-base.set",
      "notes": "\ud83d\udd27 CONFIGURE THIS NODE FIRST\n\nSet your Chess.com username (case-insensitive) and the email address where you want to receive your AI coaching reports.",
      "position": [
        -16,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "username-assignment",
              "name": "username",
              "type": "string",
              "value": "uer-name-here"
            },
            {
              "id": "706913d1-70af-4459-aba8-ee8f4a0a95d2",
              "name": "email",
              "type": "string",
              "value": "user@example.com"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1e69dea4-3cf0-4028-b8ce-8f9f54c72193",
      "name": "AI Chess Coach (Analysis)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "notes": "The core AI analysis node. Sends the enriched game data to your chosen LLM with a detailed coaching prompt.\n\nThe prompt is structured for beginner-to-intermediate players (~600\u20131400 rating). Adjust the tone or depth in the System Message if needed.",
      "position": [
        1168,
        208
      ],
      "parameters": {
        "text": "=# Chess Game Analysis Request\n\n## Player Info\n- **Reviewing Player**: {{ $json.reviewingUsername }} ({{ $json.playerColor }}, Rated {{ $json.playerRating }})\n- **Opponent**: {{ $json.opponentUsername }} ({{ $json.opponentColor }}, Rated {{ $json.opponentRating }})\n- **Result**: {{ $json.resultEmoji }} {{ $json.gameResult }}\n- **Time Control**: {{ $json.time_control }} ({{ $json.time_class }})\n- **Opening (ECO)**: {{ $json.ecoCode }}\n- **Game Link**: {{ $json.url }}\n- **Player Result Code**: {{ $json.playerResult }}\n- **Opponent Result Code**: {{ $json.opponentResult }}\n\n## Position & Game Record\n**Final FEN**: `{{ $json.fen }}`\n\n**PGN**:\n```\n{{ $json.pgn }}\n```\n\n---\n\n## Analysis Instructions\n\nAnalyze this game from {{ $json.playerColor }}'s perspective ({{ $json.reviewingUsername }}, ~{{ $json.playerRating }} rating).\n\nProduce a complete coaching report in **clean HTML** (ready for Gmail) using the exact structure below.\n\n---\n\n### 1. \ud83d\udcca Game Summary\n\nInclude a header block with all player info, result, time control, opening code, and a [View Game] hyperlink.\n\nThen write **2\u20133 paragraphs** covering:\n- Opening phase evaluation\n- Middlegame key developments\n- Endgame progression (if applicable)\n- The decisive moment(s)\n\n---\n\n### 2. \ud83c\udfaf Critical Moments (3\u20135 turning points)\n\nFor each moment:\n- Clearly describe the position and what move was played\n- Explain what should have been done instead\n- State the **underlying concept or pattern**\n\n---\n\n### 3. \u274c Mistake Categories\n\nGroup errors under these headings (only include relevant ones):\n- **Tactical Oversights** \u2014 Missing captures, checks, threats\n- **Positional Errors** \u2014 Weak squares, piece placement, pawn structure\n- **Opening Issues** \u2014 Principle violations or theory deviations\n- **Endgame Technique** \u2014 Conversion or defensive mistakes\n- **Time Management** \u2014 If it influenced the result\n\n---\n\n### 4. \u2705 What Went Well (2\u20134 highlights)\n\nRecognize genuine strengths \u2014 good tactics, solid positional choices, fighting spirit.\n\n---\n\n### 5. \ud83d\udca1 Five Key Lessons\n\nExactly 5 specific, memorable takeaways with context tied to THIS game.\n\n---\n\n### 6. \ud83d\udcda Training Plan\n\n- **Primary Focus**: Main weakness to address\n- **Drill 1**: Specific exercise\n- **Drill 2**: Specific exercise\n- **Drill 3**: Specific exercise\n- **Study Resources**: Concrete recommendations (videos, books, Chess.com tools)\n\n---\n\n### 7. \ud83d\udcaa Closing Motivation\n\n1\u20132 encouraging sentences with a clear, actionable next step.",
        "options": {
          "systemMessage": "# Chess Coach AI \u2014 System Prompt\n\nYou are an experienced, encouraging chess coach who reviews games for club-level players rated 600\u20131400.\n\n## Your Voice\n- Warm, clear, and conversational English\n- Always constructive \u2014 never harsh or discouraging\n- Explain WHY moves work, not just that they do\n- Use simple language; briefly explain any chess jargon on first use\n\n## Analysis Philosophy\n- Prioritize **big-picture understanding** over engine-perfect lines\n- Focus on **recurring patterns and themes**, not isolated blunders\n- Emphasize **practical improvement** the player can apply next game\n- Balance every critique with genuine positive reinforcement\n\n## What to Avoid\n- Long engine variations (e.g., \"After 15...Nxe4 16.Bxf7+ Ke8 17.Bd5...\")\n- Heavy opening theory jargon\n- Nitpicking minor inaccuracies in winning positions\n- Discouraging or condescending language\n\n## Output Format \u2014 STRICT HTML for Gmail\nUse ONLY these HTML elements:\n- `<h2>` and `<h3>` for section headers\n- `<p>` for paragraphs\n- `<ul>` and `<li>` for bullet lists\n- `<ol>` and `<li>` for numbered lists\n- `<strong>` for bold emphasis\n- `<em>` for italics\n- `<a href=\"...\">` for links\n- `<br>` for line breaks\n- `<hr>` for section dividers\n- `<blockquote>` for key takeaways\n\nDO NOT use:\n- Markdown syntax (no **, ##, -, *, ~~~)\n- Inline CSS styles\n- Tables (poor Gmail rendering)\n- Images or external assets\n\n## Philosophy\nEvery game, win or lose, is a lesson. Help the player understand what happened, why it happened, and exactly what to practice next. Leave them excited to play their next game."
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "f0308c27-5a25-4308-97c6-8aa3c3d2af26",
      "name": "LLM \u2014 Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "notes": "\ud83d\udd27 SWAP THIS NODE to use a different AI model.\n\nRecommended alternatives:\n\u2022 OpenAI GPT-4o \u2014 Best overall chess analysis quality\n\u2022 Anthropic Claude 3.5 Sonnet \u2014 Excellent explanations\n\u2022 Google Gemini 1.5 Pro \u2014 Good balance of speed and quality\n\nHigher-rated players (1200+) benefit most from stronger models.",
      "position": [
        1168,
        416
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d3440c64-0774-4919-a5ef-6926ed597532",
      "name": "Email the Report",
      "type": "n8n-nodes-base.gmail",
      "notes": "Sends the AI coaching report as a formatted HTML email.\n\nThe subject line includes the player name, result, and color played for easy inbox scanning.\n\nTo forward to other channels (Telegram, WhatsApp, Slack), add the appropriate node after this one.",
      "position": [
        1584,
        208
      ],
      "parameters": {
        "sendTo": "={{ $('Config  - Username - Email').first().json.email }}\n",
        "message": "={{ $json.output }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "=\u265f\ufe0f Chess Game Review \u2014 {{ $('Process Last Game Only').item.json.reviewingUsername }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": true,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "eb2aa11f-2a89-4d74-892f-09e758241501",
  "connections": {
    "Add Player Context": {
      "main": [
        [
          {
            "node": "Process Last Game Only",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLM \u2014 Google Gemini": {
      "ai_languageModel": [
        [
          {
            "node": "AI Chess Coach (Analysis)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Process Last Game Only": {
      "main": [
        [],
        [
          {
            "node": "AI Chess Coach (Analysis)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u25b6\ufe0f Manual Test Run": {
      "main": [
        [
          {
            "node": "Config  - Username - Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Chess Coach (Analysis)": {
      "main": [
        [
          {
            "node": "Email the Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sort Games (Latest First)": {
      "main": [
        [
          {
            "node": "Add Player Context",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config  - Username - Email": {
      "main": [
        [
          {
            "node": "Build API URL (Current Month)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Games from Chess.com": {
      "main": [
        [
          {
            "node": "Sort Games (Latest First)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u23f0 Daily Schedule Trigger": {
      "main": [
        [
          {
            "node": "Config  - Username - Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build API URL (Current Month)": {
      "main": [
        [
          {
            "node": "Fetch Games from Chess.com",
            "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

Improve your chess automatically — get a personalized AI coaching report delivered. This workflow connects to the free Chess.com public API, fetches your most recent game, and sends it to an AI language model that acts as your personal chess coach. Within minutes, you receive a…

Source: https://n8n.io/workflows/14165/ — 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

LinkedIn_Job_Hunt_and_Cover_Letter. Uses outputParserStructured, outputParserAutofixing, googleDrive, agent. Scheduled trigger; 85 nodes.

Output Parser Structured, Output Parser Autofixing, Google Drive +6
AI & RAG

The Multi-Model Agency Content Engine is a high-performance editorial system designed for agencies. It solves the "blank page" problem by alternating between real-world social proof and strategic expe

Google Sheets, Gmail, Google Drive +6
AI & RAG

kisisel asistan. Uses toolWorkflow, toolHttpRequest, toolCalculator, toolThink. Scheduled trigger; 43 nodes.

Tool Workflow, Tool Http Request, Tool Calculator +15
AI & RAG

This workflow helps you find and evaluate job opportunities automatically, without spending hours searching and comparing roles. It uses your resume to look for relevant jobs on LinkedIn, checks how w

Google Drive, HTTP Request, Google Gemini Chat +3
AI & RAG

A dual-engine, AI-driven n8n workflow that automates the monitoring of both vendor policy webpages and compliance-related RSS feeds. It intelligently detects recent updates, evaluates their potential

HTTP Request, Agent, RSS Feed Read +2