{
  "id": "XVOX4SIp4BzcfpNs",
  "name": "Automate job applications with Telegram, SerpAPI, and OpenAI",
  "tags": [
    {
      "id": "0f9SAyGcLm0ORsVP",
      "name": "telegram",
      "createdAt": "2025-11-13T18:01:50.147Z",
      "updatedAt": "2025-11-13T18:01:50.147Z"
    },
    {
      "id": "Mef3Bfa6ka4NeYPU",
      "name": "messenger",
      "createdAt": "2026-03-20T21:16:09.503Z",
      "updatedAt": "2026-03-20T21:16:09.503Z"
    },
    {
      "id": "HP4DHZ39Ro9hcp28",
      "name": "cv",
      "createdAt": "2025-12-26T18:00:49.562Z",
      "updatedAt": "2025-12-26T18:00:49.562Z"
    },
    {
      "id": "IpgAKzog3drfAEtk",
      "name": "application",
      "createdAt": "2025-12-26T18:00:42.473Z",
      "updatedAt": "2025-12-26T18:00:42.473Z"
    },
    {
      "id": "Tn6IgIGKc7IYO0gi",
      "name": "teams",
      "createdAt": "2025-12-26T18:01:13.573Z",
      "updatedAt": "2025-12-26T18:01:13.573Z"
    },
    {
      "id": "UuJEZh1xyaeiFwva",
      "name": "cover letter",
      "createdAt": "2025-12-26T18:00:53.840Z",
      "updatedAt": "2025-12-26T18:00:53.840Z"
    },
    {
      "id": "XYTdN8U3IPUGzNaj",
      "name": "automation",
      "createdAt": "2025-12-26T18:01:00.673Z",
      "updatedAt": "2025-12-26T18:01:00.673Z"
    },
    {
      "id": "oGLByJdC8wyqSWDN",
      "name": "job",
      "createdAt": "2025-12-26T18:00:44.367Z",
      "updatedAt": "2025-12-26T18:00:44.367Z"
    },
    {
      "id": "qoHYK3nc9zpxkc5O",
      "name": "slack",
      "createdAt": "2025-12-26T18:01:15.019Z",
      "updatedAt": "2025-12-26T18:01:15.019Z"
    }
  ],
  "nodes": [
    {
      "id": "08a69784-6434-4570-90b6-26143ee4536f",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1312,
        720
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "userIds": "YOUR_TELEGRAM_USER_ID"
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "77bf0cb3-bcaa-4396-a361-a394cc543f78",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -192,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4dd0352e-185c-4436-a4a8-85a8d92ee3be",
      "name": "No Operation, do nothing1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        544,
        976
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "07a9ae87-18a5-464e-ae9a-e1d39c9c212e",
      "name": "Extract Job results from SERP-API response",
      "type": "n8n-nodes-base.code",
      "position": [
        -640,
        928
      ],
      "parameters": {
        "jsCode": "\nconst inputs = $input.all();\nconst out = [];\n\nfor (const i of inputs) {\n  const jobs = i.json.jobs_results || [];\n  for (const j of jobs) {\n    const dext = j.detected_extensions || {};\n    const apply = Array.isArray(j.apply_options) ? j.apply_options : [];\n\n    const a0 = apply[0] || {};\n    const a1 = apply[1] || {};\n    const a2 = apply[2] || {};\n    const a3 = apply[3] || {};\n    const a4 = apply[4] || {};\n    const a5 = apply[5] || {};\n    const a6 = apply[6] || {};\n    const a7 = apply[7] || {};\n    const a8 = apply[8] || {};\n    const a9 = apply[9] || {};\n    const a10 = apply[10] || {};\n\n    out.push({\n      json: {\n        via: j.via ?? null,\n        title: j.title ?? null,\n        job_id: j.job_id ?? null,\n        location: j.location ?? null,\n        posted_at: dext.posted_at ?? j.posted_at ?? null,\n        salary: j.salary ?? dext.salary ?? null,\n        type: dext.schedule_type ?? j.schedule_type ?? null,\n        share_link: j.share_link ?? null,\n        description: j.description ?? null,\n        company: j.company_name ?? j.company ?? null,\n\n        link1: a0.link ?? null,\n        application_platform_1: a0.title ?? null,\n        link2: a1.link ?? null,\n        application_platform_2: a1.title ?? null,\n        link3: a2.link ?? null,\n        application_platform_3: a2.title ?? null,\n        link4: a3.link ?? null,\n        application_platform_4: a3.title ?? null,\n        link5: a4.link ?? null,\n        application_platform_5: a4.title ?? null,\n        link6: a5.link ?? null,\n        application_platform_6: a5.title ?? null,\n        link7: a6.link ?? null,\n        application_platform_7: a6.title ?? null,\n        link8: a7.link ?? null,\n        application_platform_8: a7.title ?? null,\n        link9: a8.link ?? null,\n        application_platform_9: a8.title ?? null,\n        link10: a9.link ?? null,\n        application_platform_10: a9.title ?? null,\n        link11: a10.link ?? null,\n        application_platform_11: a10.title ?? null,\n      }\n    });\n  }\n}\n\nreturn out;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "ed5f295b-90a9-4149-b8c8-2ff9f95c5aeb",
      "name": "Search google jobs listings with SERP-API",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        -864,
        928
      ],
      "parameters": {
        "q": "={{ $json.message.text }}",
        "operation": "google_jobs",
        "requestOptions": {},
        "additionalFields": {
          "gl": "us",
          "location": "united states"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "908b1a93-8a68-4775-85db-e804bfae2159",
      "name": "Filter unwanted results based on your criteria",
      "type": "n8n-nodes-base.if",
      "position": [
        -416,
        928
      ],
      "parameters": {
        "options": {
          "ignoreCase": true
        },
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "c7896112-6d44-45df-a837-1d58b9dbccc5",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "student"
            },
            {
              "id": "71698759-9966-4fb9-9304-5819576901e5",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "intern"
            },
            {
              "id": "a0828b1c-4923-4d4d-a181-d0d9b0882f7e",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "freelance"
            },
            {
              "id": "f3f0efa2-f449-40de-95c1-e951a6e55be8",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "temporary"
            },
            {
              "id": "3ef31078-948d-4f97-8c88-0d08fac89cef",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "=internship"
            },
            {
              "id": "0bcb62ef-8310-4004-aad5-cffbb1462432",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.type }}",
              "rightValue": "internship"
            },
            {
              "id": "c6c43c25-3db0-4137-bb62-8f4933a75bcf",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.type }}",
              "rightValue": "part-time"
            },
            {
              "id": "2295d117-f4cb-4425-bfcf-7ff6982af2b9",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
              "rightValue": "your_excluded_term"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "ae1e2e3a-f98b-4127-8cd8-6af0baf7b6bc",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -192,
        1024
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "6c0901f5-b24f-4748-8729-4056c33110d2",
      "name": "Send Telegram message & approval card for each job",
      "type": "n8n-nodes-base.telegram",
      "onError": "continueRegularOutput",
      "position": [
        176,
        1072
      ],
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "message": "={{\n(() => {\n  const LIMIT = 4000;\n\n  const title = $json.title ?? '';\n  const company = $json.company ?? '';\n  const location = $json.location ?? '';\n  const salary = $json.salary ?? '';\n  const description = $json.description ?? '';\n\n  // Build hyperlinks (Markdown with URL sanitization)\n  const links = [];\n  for (let i = 1; i <= 10; i++) {\n    const rawLink = $json[`link${i}`] ?? null;\n    const platform = $json[`application_platform_${i}`] ?? null;\n    if (rawLink && platform) {\n      try {\n        // Prevent broken links from special characters\n        const safeLink = encodeURI(rawLink.trim());\n        links.push(`[${i}. ${platform}](${safeLink})`);\n      } catch (e) {\n        // Fallback: output as plain text\n        links.push(`${i}. ${platform}: ${rawLink}`);\n      }\n    }\n  }\n\n  const build = (desc) => {\n    return [title, company, location, salary, desc, links.join('\\n')]\n      .map(v => v ?? '')\n      .join('\\n')\n      .replace(/\\n{2,}/g, '\\n')\n      .trim();\n  };\n\n  // Try building message with description\n  let msg = build(description);\n  if (msg.length <= LIMIT) return msg;\n\n  // Drop description if too long\n  msg = build('');\n  if (msg.length > LIMIT) {\n    msg = msg.slice(0, LIMIT - 3) + '...';\n  }\n  return msg;\n})()\n}}\n",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7b724308-45a0-411f-b810-bed5848de31c",
      "name": "Check if job was approved",
      "type": "n8n-nodes-base.if",
      "position": [
        176,
        864
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9e6bd3a4-7e3a-4e67-9960-9ef51bb76cf2",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('Send Telegram message & approval card for each job').item.json.data.approved }}",
              "rightValue": false
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7158bce9-51d8-4166-8e3b-3c8fe84a49c2",
      "name": "Notify user about end of the loop",
      "type": "n8n-nodes-base.telegram",
      "position": [
        768,
        672
      ],
      "parameters": {
        "text": "All done for now \u2014 your documents are being prepared!",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dd55233d-67d6-4834-9238-c9b2a913eba7",
      "name": "Create customized cover letter",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        768,
        864
      ],
      "parameters": {
        "css_content": ":root {     --primary: #0f172a;     --accent: #38bdf8;     --text-white: #f8fafc;     --text-dim: #94a3b8;     --bg-page: #f1f5f9;     --card-bg: #ffffff;     --text-main: #334155;          /* Compact sizing for single-page layout */     --radius: 12px;     --shadow: 0 15px 40px -10px rgba(0,0,0,0.2); }  * { box-sizing: border-box; margin: 0; padding: 0; }  body {     font-family: 'Inter', sans-serif;     background-color: var(--bg-page);     color: var(--text-main);     display: flex;     justify-content: center;     padding: 20px; /* Less outer margin */     min-height: 100vh;     line-height: 1.5; /* Slightly tighter line height */     -webkit-font-smoothing: antialiased; }  .page {     background: var(--card-bg);     width: 100%;     max-width: 820px;     border-radius: var(--radius);     box-shadow: var(--shadow);     overflow: hidden;     position: relative;     /* Optional: force fixed height if desired, but auto is safer */     height: auto;  }  /* --- KOMPAKTER HEADER --- */ .header {     background-color: var(--primary);     color: var(--text-white);     padding: 30px 40px; /* Much less padding */     display: flex;     flex-direction: column;     gap: 25px; /* Less spacing between sections */ }  /* Identity and contact in one row */ .header-top {     display: flex;     justify-content: space-between;     align-items: center;     gap: 20px; }  /* Left: image and name */ .identity-group {     display: flex;     align-items: center;     gap: 18px;     text-align: left; }  .profile-photo {     width: 75px; /* Smaller */     height: 75px;     border-radius: 50%;     object-fit: cover;     border: 2px solid rgba(255,255,255,0.1); }  .name-block .name {     font-size: 1.8rem; /* Smaller than before (2.2rem) */     font-weight: 700;     line-height: 1;     color: #fff;     margin-bottom: 5px; }  .name-block .role {     font-size: 0.9rem;     color: var(--accent);     text-transform: uppercase;     letter-spacing: 0.05em;     font-weight: 500; }  /* Right: contact */ .contact-column {     display: flex;     flex-direction: column;     gap: 8px; /* Very compact */     align-items: flex-end; }  .contact-item {     display: flex;     align-items: center;     gap: 10px;     color: var(--text-white);     text-decoration: none;     font-size: 0.85rem; /* Smaller for space */     font-weight: 400;     opacity: 0.9; }  .contact-item svg { width: 16px; height: 16px; color: var(--accent); }  /* Header Bottom: Badges */ .header-bottom {     border-top: 1px solid rgba(255,255,255,0.15);     padding-top: 15px;     display: flex;     align-items: center;     gap: 15px; }  .section-label {     font-size: 0.7rem;     text-transform: uppercase;     color: var(--text-dim);     font-weight: 700;     letter-spacing: 0.05em;     white-space: nowrap;     margin-right: 5px; }  .badges-row {     display: flex;     flex-wrap: wrap;     gap: 8px; }  .badge-item {     display: inline-flex;     align-items: center;     gap: 6px;     background: rgba(255, 255, 255, 0.08);     border: 1px solid rgba(255, 255, 255, 0.1);     padding: 5px 12px; /* Smaller buttons */     border-radius: 4px;     color: #e2e8f0;     font-size: 0.75rem; /* Smaller font */     text-decoration: none; }  .badge-item svg { width: 14px; height: 14px; }  /* --- MAIN CONTENT (Space-efficient) --- */ main {     padding: 35px 40px; /* Less inner padding */ }  .recipient-block {     margin-bottom: 25px; /* Less spacing */     display: flex;     justify-content: space-between;     align-items: flex-end;     font-size: 0.9rem;     color: #64748b;     border-bottom: 1px solid #e2e8f0;     padding-bottom: 10px; }  .subject {     font-size: 1.2rem;     font-weight: 700;     color: var(--primary);     margin-bottom: 20px; }  .highlight-text { font-weight: 600; color: var(--primary); }  .content {     font-size: 0.925rem; /* Key for single page: slightly smaller text */     color: var(--text-main);     line-height: 1.55; }  .content p {     margin-bottom: 1rem; /* More compact paragraphs */     text-align: justify; }  .greeting { margin-top: 2rem; } .signature { font-weight: 700; font-size: 1.1rem; color: var(--primary); margin-top: 5px; }  /* Print optimization (PDF) */ @media print {     body { padding: 0; background: white; }     .page { box-shadow: none; border-radius: 0; max-width: 100%; width: 100%; }     /* Force background colors when printing */     .header { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }  /* Mobile Adjustments */ @media (max-width: 600px) {     .header { padding: 20px; }     .header-top { flex-direction: column; align-items: flex-start; }     .contact-column { align-items: flex-start; margin-top: 10px; }     .header-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }     main { padding: 25px; } }",
        "html_content": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Cover Letter - Your Name</title>\n    <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"style_one_page.css\">\n</head>\n<body>\n\n    <div class=\"page\">\n        \n        <header class=\"header\">\n            \n            <div class=\"header-top\">\n                <div class=\"identity-group\">\n                    <img src=\"https://example.com/your-profile-photo.jpg\" alt=\"Your Name\" class=\"profile-photo\">\n                    <div class=\"name-block\">\n                        <h1 class=\"name\">Your Name</h1>\n                        <h2 class=\"role\">Your Job Title</h2>\n                    </div>\n                </div>\n\n                <div class=\"contact-column\">\n                    <a href=\"mailto:your.email@example.com\" class=\"contact-item\">\n                        your.email@example.com\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/>\n                            <polyline points=\"22,6 12,13 2,6\"/>\n                        </svg>\n                    </a>\n                    <a href=\"tel:+49XXXXXXXXXX\" class=\"contact-item\">\n                        +49 XXX XXXX XXXX\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z\"/>\n                        </svg>\n                    </a>\n                    <div class=\"contact-item\">\n                        Your City, Country\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"/>\n                            <circle cx=\"12\" cy=\"10\" r=\"3\"/>\n                        </svg>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"header-bottom\">\n                <span class=\"section-label\">Certificates & Portfolio:</span>\n                <div class=\"badges-row\">\n                    <a href=\"https://www.linkedin.com/in/yourprofile/\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/><circle cx=\"4\" cy=\"4\" r=\"2\"/></svg>\n                        LinkedIn\n                    </a>\n                    <a href=\"https://n8n.io/creators/yourprofile/\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"/></svg>\n                        n8n Creator\n                    </a>\n                    <a href=\"https://example.com/your-certificate-1\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"8\" r=\"7\" /><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\" /></svg>\n                        IBM AI Developer\n                    </a>\n                    <a href=\"https://example.com/your-certificate-2\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 15l-2 5l2 2l2 -2l-2 -5z\"/><circle cx=\"12\" cy=\"9\" r=\"7\"/><path d=\"M12 6v6\"/><path d=\"M9 9h6\"/></svg>\n                        AI for Business\n                    </a>\n                </div>\n            </div>\n\n        </header>\n\n        <main>\n            <section class=\"recipient-block\">\n                <div class=\"address\">\n                    To: <span class=\"highlight-text\">{{ $('Document job results in Google sheet').item.json.company }}</span>\n                </div>\n                <div class=\"date\">\n                    Your City, <span id=\"current-date\"></span>\n                </div>\n            </section>\n\n            <div class=\"subject\">\n                Application as <span class=\"highlight-text\"> {{ $('Document job results in Google sheet').item.json.title }} </span>\n            </div>\n\n            <div class=\"content\">\n                <p>Dear {{ $('Document job results in Google sheet').item.json.company }} Team,</p>\n\n                <p>The advertised position appeals to me strongly, and I would like to apply for it.</p>\n\n                <p>[Describe your relevant experience and key achievements. Mention specific tools, projects, or results that demonstrate your qualifications.]</p>\n\n                <p>I would be delighted to discuss the concrete AI/automation use cases I have implemented and explore potential collaboration.</p>\n\n                <p class=\"greeting\">Best regards,</p>\n                <div class=\"signature\">Your Name</div>\n            </div>\n        </main>\n\n    </div>\n\n    <script>\n        const dateElement = document.getElementById('current-date');\n        const today = new Date();\n        \n        const options = { year: 'numeric', month: 'long', day: 'numeric' };\n        dateElement.textContent = today.toLocaleDateString('en-US', options);\n    </script>\n</body>\n</html>",
        "output_format": "file"
      },
      "typeVersion": 1
    },
    {
      "id": "e1a7d39d-574b-414c-b72f-7f6b6fe6a02a",
      "name": "Upload cover letter to Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        992,
        864
      ],
      "parameters": {
        "name": "=YourName_CoverLetter_{{ $('Document job results in Google sheet').item.json.company}}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "d857bb90-49c7-4e56-b032-bbdb9dcc1e60",
      "name": "Create folder for attachments",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1216,
        864
      ],
      "parameters": {
        "name": "={{ $('Document job results in Google sheet').item.json.title }}_{{ $('Document job results in Google sheet').item.json.company }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        },
        "resource": "folder"
      },
      "typeVersion": 3
    },
    {
      "id": "e2050764-092b-44fe-af19-c47493387ce9",
      "name": "Move cover letter to attachments folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1440,
        864
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Upload cover letter to Drive').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "operation": "move"
      },
      "typeVersion": 3
    },
    {
      "id": "9bb3bc59-25a0-41d0-a08c-281c63a4e20a",
      "name": "Create customized CV",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        1664,
        864
      ],
      "parameters": {
        "css_content": ":root {     /* Same color palette as cover letter */     --primary: #0f172a;       /* Deep Navy */     --accent: #38bdf8;        /* Sky Blue */     --text-white: #f8fafc;     --text-dim: #94a3b8;     --bg-page: #f1f5f9;     --card-bg: #ffffff;     --text-main: #334155;     --text-light: #64748b;          --radius: 12px;     --shadow: 0 15px 40px -10px rgba(0,0,0,0.2); }  * { box-sizing: border-box; margin: 0; padding: 0; }  body {     font-family: 'Inter', sans-serif;     background-color: var(--bg-page);     color: var(--text-main);     display: flex;     justify-content: center;     padding: 20px;     min-height: 100vh;     line-height: 1.5;     -webkit-font-smoothing: antialiased; }  .page {     background: var(--card-bg);     width: 100%;     max-width: 900px; /* Slightly wider for CV */     border-radius: var(--radius);     box-shadow: var(--shadow);     overflow: hidden;     position: relative; }  /* --- HEADER (matches cover letter) --- */ .header {     background-color: var(--primary);     color: var(--text-white);     padding: 30px 40px;     display: flex;     flex-direction: column;     gap: 20px; }  .header-top {     display: flex;     justify-content: space-between;     align-items: center; }  .identity-group {     display: flex;     align-items: center;     gap: 20px; }  .profile-photo {     width: 80px;     height: 80px;     border-radius: 50%;     object-fit: cover;     border: 3px solid rgba(255,255,255,0.1); }  .name-block .name {     font-size: 2rem;     font-weight: 700;     line-height: 1;     color: #fff;     margin-bottom: 5px; }  .name-block .role {     font-size: 1rem;     color: var(--accent);     font-weight: 500; }  /* Header Contact Row */ .header-contact {     display: flex;     flex-wrap: wrap;     gap: 15px;     font-size: 0.85rem;     color: var(--text-dim);     padding-top: 15px;     border-top: 1px solid rgba(255,255,255,0.1); }  .contact-item {     display: flex;     align-items: center;     gap: 6px;     color: var(--text-white);     text-decoration: none;     transition: color 0.2s; }  .contact-item:hover { color: var(--accent); } .contact-item svg { width: 14px; height: 14px; color: var(--accent); }  /* --- GRID LAYOUT --- */ .cv-grid {     display: grid;     grid-template-columns: 2fr 1fr; /* 2/3 Main, 1/3 Sidebar */     min-height: 800px; }  /* --- LEFT COLUMN (Experience) --- */ .main-column {     padding: 35px 40px; }  .section-title {     font-size: 0.85rem;     text-transform: uppercase;     letter-spacing: 0.1em;     color: var(--text-light);     font-weight: 700;     margin-bottom: 20px;     display: flex;     align-items: center;     gap: 10px; }  .section-title::after {     content: '';     flex: 1;     height: 1px;     background: #e2e8f0; }  .section-title svg { width: 16px; height: 16px; color: var(--primary); }  /* Job Items */ .job-item {     margin-bottom: 25px;     position: relative;     padding-left: 20px;     border-left: 2px solid #e2e8f0; }  .job-item::before {     content: '';     position: absolute;     left: -6px;     top: 0;     width: 10px;     height: 10px;     border-radius: 50%;     background: var(--bg-page);     border: 2px solid var(--accent); }  .job-header {     margin-bottom: 8px; }  .job-title {     font-size: 1rem;     font-weight: 700;     color: var(--primary); }  .job-company {     font-size: 0.9rem;     font-weight: 600;     color: var(--text-main); }  .job-meta {     font-size: 0.8rem;     color: var(--text-light);     margin-top: 2px; }  .job-desc {     font-size: 0.9rem;     color: var(--text-main);     line-height: 1.5; }  .job-desc ul {     list-style-type: none;     padding-left: 0; }  .job-desc li {     position: relative;     padding-left: 15px;     margin-bottom: 4px; }  .job-desc li::before {     content: '\u2022';     position: absolute;     left: 0;     color: var(--accent);     font-weight: bold; }  /* --- RIGHT COLUMN (Sidebar) --- */ .sidebar-column {     background-color: #f8fafc; /* Very light grey */     padding: 35px 30px;     border-left: 1px solid #e2e8f0; }  .sidebar-section {     margin-bottom: 30px; }  .sidebar-title {     font-size: 0.8rem;     text-transform: uppercase;     font-weight: 700;     color: var(--primary);     margin-bottom: 15px;     letter-spacing: 0.05em; }  /* Skills Tags */ .skill-tags {     display: flex;     flex-wrap: wrap;     gap: 8px; }  .tag {     background: #fff;     border: 1px solid #cbd5e1;     padding: 4px 10px;     border-radius: 6px;     font-size: 0.8rem;     font-weight: 500;     color: var(--text-main); }  .tag.highlight {     background: rgba(56, 189, 248, 0.1);     border-color: var(--accent);     color: var(--primary); }  /* List Items (Languages, Certs) */ .info-list {     list-style: none;     font-size: 0.9rem; }  .info-list li {     margin-bottom: 10px; }  .info-label {     display: block;     font-weight: 600;     color: var(--text-main); }  .info-detail {     display: block;     font-size: 0.85rem;     color: var(--text-light); }  /* Mobile */ @media (max-width: 700px) {     .cv-grid { grid-template-columns: 1fr; }     .sidebar-column { border-left: none; border-top: 1px solid #e2e8f0; background: #fff; }     .header { padding: 25px; }     .header-top { flex-direction: column; align-items: flex-start; gap: 20px; } }  @media print {     body { padding: 0; background: white; }     .page { box-shadow: none; max-width: 100%; border-radius: 0; }     .header { -webkit-print-color-adjust: exact; print-color-adjust: exact; }     .tag.highlight { -webkit-print-color-adjust: exact; print-color-adjust: exact; }     /* Page break control */     .job-item { break-inside: avoid; } }",
        "html_content": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>CV - Your Name</title>\n    <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n    <style>\n        :root {\n            --primary: #0f172a;       /* Deep Navy */\n            --accent: #2563eb;        /* Stronger blue for links */\n            --text-white: #f8fafc;\n            --text-dim: #94a3b8;\n            --bg-page: #f1f5f9;\n            --card-bg: #ffffff;\n            --text-main: #334155;\n            --text-light: #64748b;\n            --a4-width: 210mm;\n            --a4-height: 296mm;\n        }\n\n        * { box-sizing: border-box; margin: 0; padding: 0; }\n\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: #555; \n            color: var(--text-main);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            padding: 20px;\n            gap: 20px;\n            -webkit-font-smoothing: antialiased;\n        }\n\n        .page {\n            background: var(--card-bg);\n            width: var(--a4-width);\n            min-height: var(--a4-height);\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\n            overflow: hidden;\n            position: relative;\n            display: flex;\n            flex-direction: column;\n        }\n\n        /* --- HEADER --- */\n        .header {\n            background-color: var(--primary);\n            color: var(--text-white);\n            padding: 35px 40px;\n            display: flex;\n            flex-direction: column;\n            gap: 20px;\n        }\n\n        .header-top { display: flex; justify-content: space-between; align-items: center; }\n        .identity-group { display: flex; align-items: center; gap: 20px; }\n        \n        .profile-photo {\n            width: 85px; height: 85px; border-radius: 50%;\n            object-fit: cover; border: 3px solid rgba(255,255,255,0.1);\n        }\n\n        .name-block .name { font-size: 2.2rem; font-weight: 700; line-height: 1; color: #fff; margin-bottom: 5px; }\n        .name-block .role { font-size: 1.1rem; color: #60a5fa; font-weight: 500; }\n\n        .dynamic-tag {\n            background: rgba(255,255,255,0.1);\n            padding: 5px 12px; border-radius: 4px;\n            font-size: 0.85rem; color: #cbd5e1;\n            display: inline-block; margin-top: 10px;\n            border: 1px solid rgba(255,255,255,0.15);\n        }\n\n        /* Fixed Hover Effect */\n        .header-contact {\n            display: flex; flex-wrap: wrap; gap: 20px;\n            font-size: 0.9rem; color: var(--text-dim);\n            padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1);\n        }\n        \n        /* Specific selector to prevent group hovering */\n        .contact-item { \n            display: flex; align-items: center; gap: 8px; \n            color: var(--text-white); text-decoration: none; \n            transition: color 0.2s ease;\n        }\n        .contact-item svg { \n            width: 16px; height: 16px; color: #60a5fa; \n            transition: color 0.2s ease;\n        }\n        \n        /* Only affect the specific hovered item */\n        .contact-item:hover { color: #60a5fa; }\n        .contact-item:hover svg { color: #fff; }\n\n        /* --- CONTENT GRID --- */\n        .cv-grid {\n            display: grid; grid-template-columns: 68% 32%;\n            flex-grow: 1;\n        }\n\n        .main-column { padding: 40px; }\n        .sidebar-column { background-color: #f8fafc; padding: 40px 30px; border-left: 1px solid #e2e8f0; }\n\n        .section-title {\n            font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.1em;\n            color: var(--text-light); font-weight: 700; margin-bottom: 25px;\n            display: flex; align-items: center; gap: 10px;\n        }\n        .section-title svg { width: 18px; height: 18px; color: var(--primary); }\n        .section-title::after { flex: 1; height: 1px; background: #e2e8f0; content: ''; }\n\n        /* --- HYPERLINKS --- */\n        .link-highlight {\n            display: inline-flex; align-items: center; gap: 6px;\n            color: var(--accent); font-weight: 600; text-decoration: none;\n            background: rgba(37, 99, 235, 0.05); padding: 2px 8px;\n            border-radius: 4px; transition: all 0.2s; border: 1px solid transparent;\n        }\n        .link-highlight:hover {\n            background: rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.2);\n        }\n        .link-highlight svg { width: 12px; height: 12px; flex-shrink: 0; }\n\n        /* --- TIMELINE --- */\n        .company-group { margin-bottom: 30px; }\n        .company-header { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }\n        .company-name { font-size: 1.15rem; font-weight: 700; color: var(--primary); }\n        .company-loc { font-size: 0.9rem; color: var(--text-light); }\n\n        .role-item, .job-item {\n            position: relative; padding-left: 20px; border-left: 2px solid #e2e8f0; padding-bottom: 20px;\n        }\n        .role-item:last-child { border-left-color: transparent; padding-bottom: 0; }\n        \n        .role-item::before, .job-item::before {\n            content: ''; position: absolute; left: -6px; top: 5px;\n            width: 10px; height: 10px; border-radius: 50%;\n            background: #fff; border: 2px solid var(--accent); z-index: 1;\n        }\n        .job-item::before { border-color: var(--text-light); } \n\n        .role-title, .job-title { font-size: 1rem; font-weight: 600; color: var(--text-main); }\n        .role-meta, .job-meta { font-size: 0.85rem; color: var(--text-light); margin-bottom: 6px; display: block; }\n        \n        ul { list-style: none; padding-left: 0; margin-top: 5px; }\n        li { position: relative; padding-left: 15px; margin-bottom: 4px; font-size: 0.95rem; color: var(--text-main); line-height: 1.5; }\n        li::before { content: '\u2022'; position: absolute; left: 0; color: var(--accent); font-weight: bold; }\n\n        /* Sidebar Elements */\n        .sidebar-section { margin-bottom: 40px; }\n        .sidebar-title { font-size: 0.85rem; font-weight: 700; color: var(--primary); margin-bottom: 15px; text-transform: uppercase; }\n        \n        .skill-tags { display: flex; flex-wrap: wrap; gap: 8px; }\n        .tag {\n            background: #fff; border: 1px solid #cbd5e1; padding: 4px 10px;\n            border-radius: 4px; font-size: 0.85rem; font-weight: 500; color: var(--text-main);\n        }\n        .tag.highlight { background: #eff6ff; border-color: var(--accent); color: var(--accent); }\n\n        /* Sidebar Links (Certifications) */\n        .info-link { text-decoration: none; display: block; }\n        .info-link:hover .info-label { color: var(--accent); }\n\n        /* Mini Header Page 2 */\n        .header-mini {\n            background-color: var(--primary); color: var(--text-white);\n            padding: 15px 40px; display: flex; justify-content: space-between;\n            align-items: center; font-size: 0.9rem; color: var(--text-dim);\n        }\n        .header-mini strong { color: #fff; }\n\n        @media print {\n            body { background: white; padding: 0; gap: 0; }\n            .page { width: 100%; height: auto; box-shadow: none; margin: 0; page-break-after: always; }\n            .page:last-child { page-break-after: auto; }\n            .header, .header-mini { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n            .tag.highlight { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n            .link-highlight { border: 1px solid #e2e8f0; }\n        }\n    </style>\n</head>\n<body>\n\n    <div class=\"page\">\n        \n        <header class=\"header\">\n            <div class=\"header-top\">\n                <div class=\"identity-group\">\n                    <img src=\"https://example.com/your-profile-photo.jpg\" alt=\"Your Name\" class=\"profile-photo\">\n                    <div class=\"name-block\">\n                        <h1 class=\"name\">Your Name</h1>\n                        <h2 class=\"role\">Your Job Title</h2>\n                        <div class=\"dynamic-tag\">\n                            Tailored for <strong>{{ $('AI Agent').item.json.output.position }}</strong> at <strong>{{ $('AI Agent').item.json.output.company }}</strong>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"header-contact\">\n                <a href=\"mailto:your.email@example.com\" class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/><polyline points=\"22,6 12,13 2,6\"/></svg>\n                    your.email@example.com\n                </a>\n                <span class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z\"/></svg>\n                    +49 XXX XXXX XXXX\n                </a>\n                <a href=\"https://www.linkedin.com/in/yourprofile/\" target=\"_blank\" class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/><circle cx=\"4\" cy=\"4\" r=\"2\"/></svg>\n                    linkedin.com/in/yourprofile\n                </a>\n                <span class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"/><circle cx=\"12\" cy=\"10\" r=\"3\"/></svg>\n                    Your City\n                </span>\n            </div>\n        </header>\n\n        <div class=\"cv-grid\">\n            <div class=\"main-column\">\n                <div class=\"section-title\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"></path></svg>\n                    Professional Experience\n                </div>\n\n                <div class=\"company-group\">\n                    <div class=\"company-header\">\n                        <span class=\"company-name\">Company A</span>\n                        <span class=\"company-loc\">| Your City</span>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Your Current Role Title</div>\n                        <span class=\"role-meta\">Apr 2025 \u2013 Present</span>\n                        <ul>\n                            <li><strong>AI Rollout:</strong> Integration and Administration of AI Tools (Langdock & OpenAI).</li>\n                            <li><strong>Automation:</strong> Building n8n , Langdock & Zapier workflows.</li>\n                            <li><strong>Market Research:</strong> C-Level compensation analysis & working on Executive Search projects.</li>\n                        </ul>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Market Analyst</div>\n                        <span class=\"role-meta\">Oct 2021 \u2013 Mar 2025</span>\n                        <ul>\n                            <li>Market research for executive search; competitor intelligence.</li>\n                            <li>Data Analytics & BI project evaluations (Power BI, Excel).</li>\n                        </ul>\n                    </div>\n                </div>\n\n                <div class=\"company-group\" style=\"margin-bottom:0;\">\n                    <div class=\"company-header\">\n                        <span class=\"company-name\">Company B</span>\n                        <span class=\"company-loc\">| Your City</span>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Market Research Project Manager</div>\n                        <span class=\"role-meta\">Apr 2021 \u2013 Sep 2021</span>\n                        <ul>\n                            <li>Management of international market research projects & Key Accounts.</li>\n                        </ul>\n                    </div>\n                    <div class=\"role-item\" style=\"border-left:none; padding-bottom:0;\">\n                        <div class=\"role-title\">Market Research Associate</div>\n                        <span class=\"role-meta\">Dec 2019 \u2013 Apr 2021</span>\n                        <ul>\n                            <li>Selection & training of interviewers; quality management.</li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"sidebar-column\">\n                \n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">AI, Automation & Data</div>\n                    <div class=\"skill-tags\">\n                        <span class=\"tag highlight\">n8n</span>\n                        <span class=\"tag highlight\">Langdock</span>\n                        <span class=\"tag highlight\">OpenAI API</span>\n                        <span class=\"tag highlight\">Generative AI</span>\n                        <span class=\"tag\">Zapier</span>\n                        <span class=\"tag\">Google Vertex</span>\n                        <span class=\"tag\">Prompt Eng.</span>\n                        <span class=\"tag\">Power BI</span>\n                        <span class=\"tag\">Excel (Adv.)</span>\n                        <span class=\"tag\">Project Mgmt</span>\n                    </div>\n                </div>\n\n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Certifications</div>\n                    <div style=\"display:flex; flex-direction:column; gap:12px;\">\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">IBM AI Developer</div>\n                            <a href=\"https://example.com/your-certificate-1\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Certificate\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">AI for Business</div>\n                            <a href=\"https://example.com/your-certificate-2\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Certificate\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">n8n Creator</div>\n                            <a href=\"https://n8n.io/creators/yourprofile/\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Profile\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                    </div>\n                </div>\n\n            </div>\n        </div>\n    </div>\n\n    <div class=\"page\">\n        <div class=\"header-mini\">\n            <span><strong>Your Name</strong> - CV Continued</span>\n            <span>Page 2 / 2</span>\n        </div>\n\n        <div class=\"cv-grid\">\n            <div class=\"main-column\">\n                \n                <div class=\"section-title\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 20h9\"></path><path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"></path></svg>\n                    Previous Roles\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Research Assistant</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">Jun 2018 \u2013 Mar 2019</span>\n                    <ul><li>Literature research, data processing & teaching support.</li></ul>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Housing Policy Intern</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">Aug 2017 \u2013 Sep 2017</span>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Management Assistant</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">May 2017 \u2013 Aug 2017</span>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Program Coordinator & Trainer</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">2013 \u2013 2015</span>\n                    <ul><li>Disaster Management & Team Lead (20 FTEs).</li></ul>\n                </div>\n\n                <div class=\"section-title\" style=\"margin-top:40px;\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>\n                    Publications\n                </div>\n                <div style=\"font-size:0.9rem; display:flex; flex-direction:column; gap:12px;\">\n                    <div>\n                        <a href=\"https://example.com/your-publication-1\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 1\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-2\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 2\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-3\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 3\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-4\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 4\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                        <div style=\"font-size:0.85rem; color:var(--text-light); margin-top:4px; padding-left:4px;\">\n                            <em>Publication Subtitle.</em> (2020)\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"sidebar-column\">\n                \n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Education</div>\n                    <div style=\"margin-bottom:15px;\">\n                        <div style=\"font-weight:600;\">Your Degree (M.Sc.)</div>\n                        <div style=\"font-size:0.85rem; color:#64748b;\">Your University</div>\n                        <div style=\"font-size:0.85rem; color:#94a3b8;\">2017 \u2013 2019</div>\n                    </div>\n                    <div>\n                        <div style=\"font-weight:600;\">Your Degree (B.A.)</div>\n                        <div style=\"font-size:0.85rem; color:#64748b;\">Your University</div>\n                        <div style=\"font-size:0.85rem; color:#94a3b8;\">2014</div>\n                    </div>\n                </div>\n\n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Languages</div>\n                    <div style=\"display:flex; flex-direction:column; gap:10px;\">\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">German</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Full Professional</div>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">English</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Professional Working</div>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">Arabic</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Native</div>\n                        </div>\n                    </div>\n                </div>\n\n            </div>\n        </div>\n    </div>\n\n</body>\n</html>",
        "output_format": "file"
      },
      "typeVersion": 1
    },
    {
      "id": "421d58f8-3993-4929-89fb-12f7a5b7d035",
      "name": "Upload customized CV",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1888,
        864
      ],
      "parameters": {
        "name": "=YourName_CV_for_{{ $('Document job results in Google sheet').item.json.company}}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7cd4cf9b-4382-48e8-8d13-afc09a0d0c8c",
      "name": "Move CV to attachments folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2112,
        864
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Upload customized CV').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create folder for attachments').item.json.id }}"
        },
        "operation": "move"
      },
      "typeVersion": 3
    },
    {
      "id": "9c78ad96-06de-40b6-a0c8-73baba33e951",
      "name": "Document link to attachments folder",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2336,
        864
      ],
      "parameters": {
        "columns": {
          "value": {
            "via": "={{ $('Document job results in Google sheet').item.json.via }}",
            "type": "={{ $('Document job results in Google sheet').item.json.type }}",
            "link1": "={{ $('Document job results in Google sheet').item.json.link1 }}",
            "link2": "={{ $('Document job results in Google sheet').item.json.link2 }}",
            "link3": "={{ $('Document job results in Google sheet').item.json.link3 }}",
            "link4": "={{ $('Document job results in Google sheet').item.json.link4 }}",
            "link5": "={{ $('Document job results in Google sheet').item.json.link5 }}",
            "link6": "={{ $('Document job results in Google sheet').item.json.link6 }}",
            "link7": "={{ $('Document job results in Google sheet').item.json.link7 }}",
            "link8": "={{ $('Document job results in Google sheet').item.json.link8 }}",
            "link9": "={{ $('Document job results in Google sheet').item.json.link9 }}",
            "title": "={{ $('Document job results in Google sheet').item.json.title }}",
            "job_id": "={{ $('Document job results in Google sheet').item.json.job_id }}",
            "link10": "={{ $('Document job results in Google sheet').item.json.link10 }}",
            "salary": "={{ $('Document job results in Google sheet').item.json.salary }}",
            "company": "={{ $('Document job results in Google sheet').item.json.company }}",
            "location": "={{ $('Document job results in Google sheet').item.json.location }}",
            "posted_at": "={{ $('Document job results in Google sheet').item.json.posted_at }}",
            "share_link": "={{ $('Document job results in Google sheet').item.json.share_link }}",
            "description": "={{ $('Document job results in Google sheet').item.json.description }}",
            "link_drive_ornder": "=https://drive.google.com/drive/u/0/folders/{{ $('Create folder for attachments').item.json.id }}",
            "application_platform_1": "={{ $('Document job results in Google sheet').item.json.application_platform_1 }}",
            "application_platform_2": "={{ $('Document job results in Google sheet').item.json.application_platform_2 }}",
            "application_platform_3": "={{ $('Document job results in Google sheet').item.json.application_platform_3 }}",
            "application_platform_4": "={{ $('Document job results in Google sheet').item.json.application_platform_4 }}",
            "application_platform_5": "={{ $('Document job results in Google sheet').item.json.application_platform_5 }}",
            "application_platform_6": "={{ $('Document job results in Google sheet').item.json.application_platform_6 }}",
            "application_platform_7": "={{ $('Document job results in Google sheet').item.json.application_platform_7 }}",
            "application_platform_8": "={{ $('Document job results in Google sheet').item.json.application_platform_8 }}",
            "application_platform_9": "={{ $('Document job results in Google sheet').item.json.application_platform_9 }}",
            "application_platform_10": "={{ $('Document job results in Google sheet').item.json.application_platform_10 }}"
          },
          "schema": [
            {
              "id": "via",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "via",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "job_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "job_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "posted_at",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "posted_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "salary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "salary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "type",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "share_link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "share_link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "application_platform_1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "application_platform_2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link3",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_3",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link4",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_4",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link5",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_5",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link6",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_6",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link7",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_7",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link8",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_8",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link9",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_9",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link10",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_10",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link_drive_ornder",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link_drive_ornder",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status-tracking",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status-tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "job_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEETS_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit?usp=drivesdk",
          "cachedResultName": "job_application"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "7d1d36d2-b135-4b61-aa74-96664f6617cd",
      "name": "Document job results in Google sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        544,
        768
      ],
      "parameters": {
        "columns": {
          "value": {
            "via": "={{ $('Extract Job results from SERP-API response').item.json.via }}",
            "type": "={{ $('Extract Job results from SERP-API response').item.json.type }}",
            "link1": "={{ $('Extract Job results from SERP-API response').item.json.link1 }}",
            "link2": "={{ $('Extract Job results from SERP-API response').item.json.link2 }}",
            "link3": "={{ $('Extract Job results from SERP-API response').item.json.link3 }}",
            "link4": "={{ $('Extract Job results from SERP-API response').item.json.link4 }}",
            "link5": "={{ $('Extract Job results from SERP-API response').item.json.link5 }}",
            "link6": "={{ $('Extract Job results from SERP-API response').item.json.link6 }}",
            "link7": "={{ $('Extract Job results from SERP-API response').item.json.link7 }}",
            "link8": "={{ $('Extract Job results from SERP-API response').item.json.link8 }}",
            "link9": "={{ $('Extract Job results from SERP-API response').item.json.link9 }}",
            "title": "={{ $('Extract Job results from SERP-API response').item.json.title }}",
            "job_id": "={{ $('Extract Job results from SERP-API response').item.json.job_id }}\n",
            "link10": "={{ $('Extract Job results from SERP-API response').item.json.link10 }}",
            "salary": "={{ $('Extract Job results from SERP-API response').item.json.salary }}",
            "company": "={{ $('Extract Job results from SERP-API response').item.json.company }}",
            "location": "={{ $('Extract Job results from SERP-API response').item.json.location }}",
            "posted_at": "={{ $('Extract Job results from SERP-API response').item.json.posted_at }}",
            "share_link": "={{ $('Extract Job results from SERP-API response').item.json.share_link }}",
            "description": "={{ $('Extract Job results from SERP-API response').item.json.description }}",
            "application_platform_1": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_1 }}",
            "application_platform_2": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_2 }}",
            "application_platform_3": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_3 }}",
            "application_platform_4": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_4 }}",
            "application_platform_5": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_5 }}",
            "application_platform_6": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_6 }}",
            "application_platform_7": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_7 }}",
            "application_platform_8": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_8 }}",
            "application_platform_9": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_9 }}",
            "application_platform_10": "={{ $('Extract Job results from SERP-API response').item.json.application_platform_10 }}"
          },
          "schema": [
            {
              "id": "via",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "via",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "job_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "job_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "posted_at",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "posted_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "salary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "salary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "type",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "share_link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "share_link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "application_platform_1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "application_platform_2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link3",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_3",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link4",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_4",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link5",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_5",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link6",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_6",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link7",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_7",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link8",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_8",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link9",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_9",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link10",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "link10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_10",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "application_platform_10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link_drive_ornder",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link_drive_ornder",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status-tracking",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status-tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "job_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEETS_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit?usp=drivesdk",
          "cachedResultName": "job_application"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a7c925df-c72b-46bd-98d3-72c4a856c68b",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        80,
        176
      ],
      "parameters": {
        "text": "=You are an expert web scraping and data extraction agent specialized in analyzing job posting webpages. Your task is to visit a provided job advertisement URL and extract structured data into a precise JSON format.\n\n**Input Context:**\nYou will receive a job posting URL. You must use your browsing capabilities to access the webpage found at this URL and analyze its content.\n\n**Extraction Rules:**\n1.  **Success Validation:** Determine if the page content is a valid, accessible job advertisement. If you encounter a CAPTCHA, login wall, 404 error, \"job expired\" message, or if the page is not a specific job ad, set 'extraction_successful' to `false`.\n2.  **Strict Fidelity:** Extract information exactly as it appears on the visited page. Do not summarize or truncate the 'description' field.\n3.  **Missing Data:** If a specific field cannot be found or if 'extraction_successful' is false, return an empty string (`\"\"`) for text fields.\n4.  **Platform Identification:** Derive the 'platform' field solely from the domain name of the provided URL (e.g., 'linkedin.com' -> 'LinkedIn', 'indeed.com' -> 'Indeed').\n5.  **URLs:** Ensure the 'link' and 'share_link' fields contain the exact URL provided in the user input.\n6.  **Language Detection:** Analyze the main text of the job description to determine the language. You must classify it strictly as 'de', 'en', or 'other'.\n\n**Fields to Extract:**\n\n* **extraction_successful**: Boolean (`true` or `false`). Set to `true` if job details were found and parsed. Set to `false` if blocked, expired, or an error occurred.\n* **position**: The official job title of the role (e.g., \"Senior Backend Engineer\").\n* **platform**: The name of the job board or website (derived from URL).\n* **link**: The original URL of the job posting.\n* **location**: The geographical location of the job.\n* **posted_at**: The date or time expression indicating when the job was posted.\n* **salary**: Any compensation details mentioned.\n* **share_link**: The exact same URL as the 'link' field.\n* **description**: The FULL body text of the job advertisement.\n* **company**: The name of the company hiring for the position.\n* **language**: The detected language of the job description ('de', 'en', 'other').\n\n**Output Format:**\nReturn ONLY the raw JSON object. Do not include markdown formatting.\njson scheme:\n{\n  \"name\": \"extract_job_posting_data\",\n  \"description\": \"Extracts detailed information from a job posting website, including the job title and language detection.\",\n  \"strict\": true,\n  \"schema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"position\": {\n        \"type\": \"string\",\n        \"description\": \"The official job title or role name found in the advertisement.\"\n      },\n      \"platform\": {\n        \"type\": \"string\",\n        \"description\": \"The name of the platform derived from the URL (e.g., LinkedIn, Indeed, StepStone).\"\n      },\n      \"link\": {\n        \"type\": \"string\",\n        \"description\": \"The original URL of the job posting.\"\n      },\n      \"location\": {\n        \"type\": \"string\",\n        \"description\": \"The geographical location or remote status found in the ad. Empty string if not found.\"\n      },\n      \"posted_at\": {\n        \"type\": \"string\",\n        \"description\": \"The date or relative time the job was posted (e.g., '2 days ago'). Empty string if not found.\"\n      },\n      \"salary\": {\n        \"type\": \"string\",\n        \"description\": \"Salary or compensation information. Empty string if not found.\"\n      },\n      \"share_link\": {\n        \"type\": \"string\",\n        \"description\": \"Must match the 'link' field exactly.\"\n      },\n      \"description\": {\n        \"type\": \"string\",\n        \"description\": \"The full, unabridged text of the job advertisement. Do not summarize.\"\n      },\n      \"company\": {\n        \"type\": \"string\",\n        \"description\": \"The name of the hiring company. Empty string if not found.\"\n      },\n      \"language\": {\n        \"type\": \"string\",\n        \"enum\": [\"de\", \"en\", \"other\"],\n        \"description\": \"The language of the job advertisement text. 'de' for German, 'en' for English, 'other' for anything else.\"\n      }\n    },\n    \"required\": [\n      \"position\",\n      \"platform\",\n      \"link\",\n      \"location\",\n      \"posted_at\",\n      \"salary\",\n      \"share_link\",\n      \"description\",\n      \"company\",\n      \"language\"\n    ],\n    \"additionalProperties\": false\n  }\n}\n\n\n\nInput URL:\n{{ $('Telegram Trigger').item.json.message.text }}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "acff95a1-a367-4143-92a9-32fb8c539145",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        48,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5.1",
          "cachedResultName": "gpt-5.1"
        },
        "options": {},
        "builtInTools": {
          "webSearch": {
            "searchContextSize": "medium"
          }
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "e89deee9-1ccf-4e9b-9417-38b7d7520234",
      "name": "Auto-fixing Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        176,
        400
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "bcef6c84-9eb0-49dd-aabf-0c5cdfbec259",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        192,
        608
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5.1",
          "cachedResultName": "gpt-5.1"
        },
        "options": {},
        "builtInTools": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "77b121fe-1699-4f6e-9609-025aca96fc3b",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -1088,
        720
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "4cc66b7b-7cdb-41cf-bbd3-9f3eed837405",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.message.text }}",
              "rightValue": "http"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "afc491a5-2418-4d9a-b7e2-e899d26afec3",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        320,
        608
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"name\": \"extract_job_posting_data\",\n  \"description\": \"Extracts detailed information from a job posting website and validates success.\",\n  \"strict\": true,\n  \"schema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"extraction_successful\": {\n        \"type\": \"boolean\",\n        \"description\": \"True if the job details were successfully accessed and parsed. False if blocked (captcha, login), expired, or 404.\"\n      },\n      \"position\": {\n        \"type\": \"string\",\n        \"description\": \"The official job title or role name found in the advertisement.\"\n      },\n      \"platform\": {\n        \"type\": \"string\",\n        \"description\": \"The name of the platform derived from the URL (e.g., LinkedIn, Indeed).\"\n      },\n      \"link\": {\n        \"type\": \"string\",\n        \"description\": \"The original URL of the job posting.\"\n      },\n      \"location\": {\n        \"type\": \"string\",\n        \"description\": \"The geographical location or remote status. Empty string if not found.\"\n      },\n      \"posted_at\": {\n        \"type\": \"string\",\n        \"description\": \"The date or relative time the job was posted. Empty string if not found.\"\n      },\n      \"salary\": {\n        \"type\": \"string\",\n        \"description\": \"Salary or compensation information. Empty string if not found.\"\n      },\n      \"share_link\": {\n        \"type\": \"string\",\n        \"description\": \"Must match the 'link' field exactly.\"\n      },\n      \"description\": {\n        \"type\": \"string\",\n        \"description\": \"The full, unabridged text of the job advertisement.\"\n      },\n      \"company\": {\n        \"type\": \"string\",\n        \"description\": \"The name of the hiring company. Empty string if not found.\"\n      },\n      \"language\": {\n        \"type\": \"string\",\n        \"enum\": [\"de\", \"en\", \"other\"],\n        \"description\": \"The language of the job advertisement text.\"\n      }\n    },\n    \"required\": [\n      \"extraction_successful\",\n      \"position\",\n      \"platform\",\n      \"link\",\n      \"location\",\n      \"posted_at\",\n      \"salary\",\n      \"share_link\",\n      \"description\",\n      \"company\",\n      \"language\"\n    ],\n    \"additionalProperties\": false\n  }\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "85c90d06-3c41-4dde-a190-b85eb9151c6e",
      "name": "HTML to PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        768,
        480
      ],
      "parameters": {
        "css_content": ":root {     --primary: #0f172a;     --accent: #38bdf8;     --text-white: #f8fafc;     --text-dim: #94a3b8;     --bg-page: #f1f5f9;     --card-bg: #ffffff;     --text-main: #334155;          /* Compact sizing for single-page layout */     --radius: 12px;     --shadow: 0 15px 40px -10px rgba(0,0,0,0.2); }  * { box-sizing: border-box; margin: 0; padding: 0; }  body {     font-family: 'Inter', sans-serif;     background-color: var(--bg-page);     color: var(--text-main);     display: flex;     justify-content: center;     padding: 20px; /* Less outer margin */     min-height: 100vh;     line-height: 1.5; /* Slightly tighter line height */     -webkit-font-smoothing: antialiased; }  .page {     background: var(--card-bg);     width: 100%;     max-width: 820px;     border-radius: var(--radius);     box-shadow: var(--shadow);     overflow: hidden;     position: relative;     /* Optional: force fixed height if desired, but auto is safer */     height: auto;  }  /* --- KOMPAKTER HEADER --- */ .header {     background-color: var(--primary);     color: var(--text-white);     padding: 30px 40px; /* Much less padding */     display: flex;     flex-direction: column;     gap: 25px; /* Less spacing between sections */ }  /* Identity and contact in one row */ .header-top {     display: flex;     justify-content: space-between;     align-items: center;     gap: 20px; }  /* Left: image and name */ .identity-group {     display: flex;     align-items: center;     gap: 18px;     text-align: left; }  .profile-photo {     width: 75px; /* Smaller */     height: 75px;     border-radius: 50%;     object-fit: cover;     border: 2px solid rgba(255,255,255,0.1); }  .name-block .name {     font-size: 1.8rem; /* Smaller than before (2.2rem) */     font-weight: 700;     line-height: 1;     color: #fff;     margin-bottom: 5px; }  .name-block .role {     font-size: 0.9rem;     color: var(--accent);     text-transform: uppercase;     letter-spacing: 0.05em;     font-weight: 500; }  /* Right: contact */ .contact-column {     display: flex;     flex-direction: column;     gap: 8px; /* Very compact */     align-items: flex-end; }  .contact-item {     display: flex;     align-items: center;     gap: 10px;     color: var(--text-white);     text-decoration: none;     font-size: 0.85rem; /* Smaller for space */     font-weight: 400;     opacity: 0.9; }  .contact-item svg { width: 16px; height: 16px; color: var(--accent); }  /* Header Bottom: Badges */ .header-bottom {     border-top: 1px solid rgba(255,255,255,0.15);     padding-top: 15px;     display: flex;     align-items: center;     gap: 15px; }  .section-label {     font-size: 0.7rem;     text-transform: uppercase;     color: var(--text-dim);     font-weight: 700;     letter-spacing: 0.05em;     white-space: nowrap;     margin-right: 5px; }  .badges-row {     display: flex;     flex-wrap: wrap;     gap: 8px; }  .badge-item {     display: inline-flex;     align-items: center;     gap: 6px;     background: rgba(255, 255, 255, 0.08);     border: 1px solid rgba(255, 255, 255, 0.1);     padding: 5px 12px; /* Smaller buttons */     border-radius: 4px;     color: #e2e8f0;     font-size: 0.75rem; /* Smaller font */     text-decoration: none; }  .badge-item svg { width: 14px; height: 14px; }  /* --- MAIN CONTENT (Space-efficient) --- */ main {     padding: 35px 40px; /* Less inner padding */ }  .recipient-block {     margin-bottom: 25px; /* Less spacing */     display: flex;     justify-content: space-between;     align-items: flex-end;     font-size: 0.9rem;     color: #64748b;     border-bottom: 1px solid #e2e8f0;     padding-bottom: 10px; }  .subject {     font-size: 1.2rem;     font-weight: 700;     color: var(--primary);     margin-bottom: 20px; }  .highlight-text { font-weight: 600; color: var(--primary); }  .content {     font-size: 0.925rem; /* Key for single page: slightly smaller text */     color: var(--text-main);     line-height: 1.55; }  .content p {     margin-bottom: 1rem; /* More compact paragraphs */     text-align: justify; }  .greeting { margin-top: 2rem; } .signature { font-weight: 700; font-size: 1.1rem; color: var(--primary); margin-top: 5px; }  /* Print optimization (PDF) */ @media print {     body { padding: 0; background: white; }     .page { box-shadow: none; border-radius: 0; max-width: 100%; width: 100%; }     /* Force background colors when printing */     .header { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }  /* Mobile Adjustments */ @media (max-width: 600px) {     .header { padding: 20px; }     .header-top { flex-direction: column; align-items: flex-start; }     .contact-column { align-items: flex-start; margin-top: 10px; }     .header-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }     main { padding: 25px; } }",
        "html_content": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Cover Letter - Your Name</title>\n    <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"style_one_page.css\">\n</head>\n<body>\n\n    <div class=\"page\">\n        \n        <header class=\"header\">\n            \n            <div class=\"header-top\">\n                <div class=\"identity-group\">\n                    <img src=\"https://example.com/your-profile-photo.jpg\" alt=\"Your Name\" class=\"profile-photo\">\n                    <div class=\"name-block\">\n                        <h1 class=\"name\">Your Name</h1>\n                        <h2 class=\"role\">Your Job Title</h2>\n                    </div>\n                </div>\n\n                <div class=\"contact-column\">\n                    <a href=\"mailto:your.email@example.com\" class=\"contact-item\">\n                        your.email@example.com\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/>\n                            <polyline points=\"22,6 12,13 2,6\"/>\n                        </svg>\n                    </a>\n                    <a href=\"tel:+49XXXXXXXXXX\" class=\"contact-item\">\n                        +49 XXX XXXX XXXX\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z\"/>\n                        </svg>\n                    </a>\n                    <div class=\"contact-item\">\n                        Your City, Country\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                            <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"/>\n                            <circle cx=\"12\" cy=\"10\" r=\"3\"/>\n                        </svg>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"header-bottom\">\n                <span class=\"section-label\">Certificates & Portfolio:</span>\n                <div class=\"badges-row\">\n                    <a href=\"https://www.linkedin.com/in/yourprofile/\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/><circle cx=\"4\" cy=\"4\" r=\"2\"/></svg>\n                        LinkedIn\n                    </a>\n                    <a href=\"https://n8n.io/creators/yourprofile/\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"/></svg>\n                        n8n Creator\n                    </a>\n                    <a href=\"https://example.com/your-certificate-1\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"8\" r=\"7\" /><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\" /></svg>\n                        IBM AI Developer\n                    </a>\n                    <a href=\"https://example.com/your-certificate-2\" target=\"_blank\" class=\"badge-item\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 15l-2 5l2 2l2 -2l-2 -5z\"/><circle cx=\"12\" cy=\"9\" r=\"7\"/><path d=\"M12 6v6\"/><path d=\"M9 9h6\"/></svg>\n                        AI for Business\n                    </a>\n                </div>\n            </div>\n\n        </header>\n\n        <main>\n            <section class=\"recipient-block\">\n                <div class=\"address\">\n                    To: <span class=\"highlight-text\">{{ $('AI Agent').item.json.output.company }}</span>\n                </div>\n                <div class=\"date\">\n                    Your City, <span id=\"current-date\"></span>\n                </div>\n            </section>\n\n            <div class=\"subject\">\n                Application as <span class=\"highlight-text\"> {{ $('AI Agent').item.json.output.position }}</span>\n            </div>\n\n            <div class=\"content\">\n                <p>Dear {{ $('AI Agent').item.json.output.company }} Team,</p>\n\n                <p>The advertised position appeals to me strongly, and I would like to apply for it.</p>\n\n                <p>[Your motivation message here].</p>\n\n                <p>I would be delighted to discuss the concrete AI/automation use cases I have implemented and explore potential collaboration.</p>\n\n                <p class=\"greeting\">Best regards,</p>\n                <div class=\"signature\">Your Name</div>\n            </div>\n        </main>\n\n    </div>\n\n    <script>\n        const dateElement = document.getElementById('current-date');\n        const today = new Date();\n        \n        const options = { year: 'numeric', month: 'long', day: 'numeric' };\n        dateElement.textContent = today.toLocaleDateString('en-US', options);\n    </script>\n</body>\n</html>",
        "output_format": "file"
      },
      "typeVersion": 1
    },
    {
      "id": "3a6542dc-d1e3-4815-88be-80cdce8965d3",
      "name": "Upload file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        992,
        480
      ],
      "parameters": {
        "name": "=YourName_CoverLetter_{{ $('AI Agent').item.json.output.company }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "8fd5cb80-34c7-4f04-b7a5-a6cf7f3253b2",
      "name": "Move file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1440,
        480
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Upload file').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "operation": "move"
      },
      "typeVersion": 3
    },
    {
      "id": "7cedae5c-711b-4f75-b9a7-01c7324356a9",
      "name": "Create_folder_for_attachments3",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1216,
        480
      ],
      "parameters": {
        "name": "={{ $('AI Agent').item.json.output.position }}_{{ $('AI Agent').item.json.output.company }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        },
        "resource": "folder"
      },
      "typeVersion": 3
    },
    {
      "id": "584f6c93-15fe-420c-b951-f13237235743",
      "name": "Create_personalized_cv3",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        1664,
        480
      ],
      "parameters": {
        "css_content": ":root {     /* Same color palette as cover letter */     --primary: #0f172a;       /* Deep Navy */     --accent: #38bdf8;        /* Sky Blue */     --text-white: #f8fafc;     --text-dim: #94a3b8;     --bg-page: #f1f5f9;     --card-bg: #ffffff;     --text-main: #334155;     --text-light: #64748b;          --radius: 12px;     --shadow: 0 15px 40px -10px rgba(0,0,0,0.2); }  * { box-sizing: border-box; margin: 0; padding: 0; }  body {     font-family: 'Inter', sans-serif;     background-color: var(--bg-page);     color: var(--text-main);     display: flex;     justify-content: center;     padding: 20px;     min-height: 100vh;     line-height: 1.5;     -webkit-font-smoothing: antialiased; }  .page {     background: var(--card-bg);     width: 100%;     max-width: 900px; /* Slightly wider for CV */     border-radius: var(--radius);     box-shadow: var(--shadow);     overflow: hidden;     position: relative; }  /* --- HEADER (matches cover letter) --- */ .header {     background-color: var(--primary);     color: var(--text-white);     padding: 30px 40px;     display: flex;     flex-direction: column;     gap: 20px; }  .header-top {     display: flex;     justify-content: space-between;     align-items: center; }  .identity-group {     display: flex;     align-items: center;     gap: 20px; }  .profile-photo {     width: 80px;     height: 80px;     border-radius: 50%;     object-fit: cover;     border: 3px solid rgba(255,255,255,0.1); }  .name-block .name {     font-size: 2rem;     font-weight: 700;     line-height: 1;     color: #fff;     margin-bottom: 5px; }  .name-block .role {     font-size: 1rem;     color: var(--accent);     font-weight: 500; }  /* Header Contact Row */ .header-contact {     display: flex;     flex-wrap: wrap;     gap: 15px;     font-size: 0.85rem;     color: var(--text-dim);     padding-top: 15px;     border-top: 1px solid rgba(255,255,255,0.1); }  .contact-item {     display: flex;     align-items: center;     gap: 6px;     color: var(--text-white);     text-decoration: none;     transition: color 0.2s; }  .contact-item:hover { color: var(--accent); } .contact-item svg { width: 14px; height: 14px; color: var(--accent); }  /* --- GRID LAYOUT --- */ .cv-grid {     display: grid;     grid-template-columns: 2fr 1fr; /* 2/3 Main, 1/3 Sidebar */     min-height: 800px; }  /* --- LEFT COLUMN (Experience) --- */ .main-column {     padding: 35px 40px; }  .section-title {     font-size: 0.85rem;     text-transform: uppercase;     letter-spacing: 0.1em;     color: var(--text-light);     font-weight: 700;     margin-bottom: 20px;     display: flex;     align-items: center;     gap: 10px; }  .section-title::after {     content: '';     flex: 1;     height: 1px;     background: #e2e8f0; }  .section-title svg { width: 16px; height: 16px; color: var(--primary); }  /* Job Items */ .job-item {     margin-bottom: 25px;     position: relative;     padding-left: 20px;     border-left: 2px solid #e2e8f0; }  .job-item::before {     content: '';     position: absolute;     left: -6px;     top: 0;     width: 10px;     height: 10px;     border-radius: 50%;     background: var(--bg-page);     border: 2px solid var(--accent); }  .job-header {     margin-bottom: 8px; }  .job-title {     font-size: 1rem;     font-weight: 700;     color: var(--primary); }  .job-company {     font-size: 0.9rem;     font-weight: 600;     color: var(--text-main); }  .job-meta {     font-size: 0.8rem;     color: var(--text-light);     margin-top: 2px; }  .job-desc {     font-size: 0.9rem;     color: var(--text-main);     line-height: 1.5; }  .job-desc ul {     list-style-type: none;     padding-left: 0; }  .job-desc li {     position: relative;     padding-left: 15px;     margin-bottom: 4px; }  .job-desc li::before {     content: '\u2022';     position: absolute;     left: 0;     color: var(--accent);     font-weight: bold; }  /* --- RIGHT COLUMN (Sidebar) --- */ .sidebar-column {     background-color: #f8fafc; /* Very light grey */     padding: 35px 30px;     border-left: 1px solid #e2e8f0; }  .sidebar-section {     margin-bottom: 30px; }  .sidebar-title {     font-size: 0.8rem;     text-transform: uppercase;     font-weight: 700;     color: var(--primary);     margin-bottom: 15px;     letter-spacing: 0.05em; }  /* Skills Tags */ .skill-tags {     display: flex;     flex-wrap: wrap;     gap: 8px; }  .tag {     background: #fff;     border: 1px solid #cbd5e1;     padding: 4px 10px;     border-radius: 6px;     font-size: 0.8rem;     font-weight: 500;     color: var(--text-main); }  .tag.highlight {     background: rgba(56, 189, 248, 0.1);     border-color: var(--accent);     color: var(--primary); }  /* List Items (Languages, Certs) */ .info-list {     list-style: none;     font-size: 0.9rem; }  .info-list li {     margin-bottom: 10px; }  .info-label {     display: block;     font-weight: 600;     color: var(--text-main); }  .info-detail {     display: block;     font-size: 0.85rem;     color: var(--text-light); }  /* Mobile */ @media (max-width: 700px) {     .cv-grid { grid-template-columns: 1fr; }     .sidebar-column { border-left: none; border-top: 1px solid #e2e8f0; background: #fff; }     .header { padding: 25px; }     .header-top { flex-direction: column; align-items: flex-start; gap: 20px; } }  @media print {     body { padding: 0; background: white; }     .page { box-shadow: none; max-width: 100%; border-radius: 0; }     .header { -webkit-print-color-adjust: exact; print-color-adjust: exact; }     .tag.highlight { -webkit-print-color-adjust: exact; print-color-adjust: exact; }     /* Page break control */     .job-item { break-inside: avoid; } }",
        "html_content": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>CV - Your Name</title>\n    <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n    <style>\n        :root {\n            --primary: #0f172a;       /* Deep Navy */\n            --accent: #2563eb;        /* Stronger blue for links */\n            --text-white: #f8fafc;\n            --text-dim: #94a3b8;\n            --bg-page: #f1f5f9;\n            --card-bg: #ffffff;\n            --text-main: #334155;\n            --text-light: #64748b;\n            --a4-width: 210mm;\n            --a4-height: 296mm;\n        }\n\n        * { box-sizing: border-box; margin: 0; padding: 0; }\n\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: #555; \n            color: var(--text-main);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            padding: 20px;\n            gap: 20px;\n            -webkit-font-smoothing: antialiased;\n        }\n\n        .page {\n            background: var(--card-bg);\n            width: var(--a4-width);\n            min-height: var(--a4-height);\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\n            overflow: hidden;\n            position: relative;\n            display: flex;\n            flex-direction: column;\n        }\n\n        /* --- HEADER --- */\n        .header {\n            background-color: var(--primary);\n            color: var(--text-white);\n            padding: 35px 40px;\n            display: flex;\n            flex-direction: column;\n            gap: 20px;\n        }\n\n        .header-top { display: flex; justify-content: space-between; align-items: center; }\n        .identity-group { display: flex; align-items: center; gap: 20px; }\n        \n        .profile-photo {\n            width: 85px; height: 85px; border-radius: 50%;\n            object-fit: cover; border: 3px solid rgba(255,255,255,0.1);\n        }\n\n        .name-block .name { font-size: 2.2rem; font-weight: 700; line-height: 1; color: #fff; margin-bottom: 5px; }\n        .name-block .role { font-size: 1.1rem; color: #60a5fa; font-weight: 500; }\n\n        .dynamic-tag {\n            background: rgba(255,255,255,0.1);\n            padding: 5px 12px; border-radius: 4px;\n            font-size: 0.85rem; color: #cbd5e1;\n            display: inline-block; margin-top: 10px;\n            border: 1px solid rgba(255,255,255,0.15);\n        }\n\n        /* Fixed Hover Effect */\n        .header-contact {\n            display: flex; flex-wrap: wrap; gap: 20px;\n            font-size: 0.9rem; color: var(--text-dim);\n            padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1);\n        }\n        \n        /* Specific selector to prevent group hovering */\n        .contact-item { \n            display: flex; align-items: center; gap: 8px; \n            color: var(--text-white); text-decoration: none; \n            transition: color 0.2s ease;\n        }\n        .contact-item svg { \n            width: 16px; height: 16px; color: #60a5fa; \n            transition: color 0.2s ease;\n        }\n        \n        /* Only affect the specific hovered item */\n        .contact-item:hover { color: #60a5fa; }\n        .contact-item:hover svg { color: #fff; }\n\n        /* --- CONTENT GRID --- */\n        .cv-grid {\n            display: grid; grid-template-columns: 68% 32%;\n            flex-grow: 1;\n        }\n\n        .main-column { padding: 40px; }\n        .sidebar-column { background-color: #f8fafc; padding: 40px 30px; border-left: 1px solid #e2e8f0; }\n\n        .section-title {\n            font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.1em;\n            color: var(--text-light); font-weight: 700; margin-bottom: 25px;\n            display: flex; align-items: center; gap: 10px;\n        }\n        .section-title svg { width: 18px; height: 18px; color: var(--primary); }\n        .section-title::after { flex: 1; height: 1px; background: #e2e8f0; content: ''; }\n\n        /* --- HYPERLINKS --- */\n        .link-highlight {\n            display: inline-flex; align-items: center; gap: 6px;\n            color: var(--accent); font-weight: 600; text-decoration: none;\n            background: rgba(37, 99, 235, 0.05); padding: 2px 8px;\n            border-radius: 4px; transition: all 0.2s; border: 1px solid transparent;\n        }\n        .link-highlight:hover {\n            background: rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.2);\n        }\n        .link-highlight svg { width: 12px; height: 12px; flex-shrink: 0; }\n\n        /* --- TIMELINE --- */\n        .company-group { margin-bottom: 30px; }\n        .company-header { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }\n        .company-name { font-size: 1.15rem; font-weight: 700; color: var(--primary); }\n        .company-loc { font-size: 0.9rem; color: var(--text-light); }\n\n        .role-item, .job-item {\n            position: relative; padding-left: 20px; border-left: 2px solid #e2e8f0; padding-bottom: 20px;\n        }\n        .role-item:last-child { border-left-color: transparent; padding-bottom: 0; }\n        \n        .role-item::before, .job-item::before {\n            content: ''; position: absolute; left: -6px; top: 5px;\n            width: 10px; height: 10px; border-radius: 50%;\n            background: #fff; border: 2px solid var(--accent); z-index: 1;\n        }\n        .job-item::before { border-color: var(--text-light); } \n\n        .role-title, .job-title { font-size: 1rem; font-weight: 600; color: var(--text-main); }\n        .role-meta, .job-meta { font-size: 0.85rem; color: var(--text-light); margin-bottom: 6px; display: block; }\n        \n        ul { list-style: none; padding-left: 0; margin-top: 5px; }\n        li { position: relative; padding-left: 15px; margin-bottom: 4px; font-size: 0.95rem; color: var(--text-main); line-height: 1.5; }\n        li::before { content: '\u2022'; position: absolute; left: 0; color: var(--accent); font-weight: bold; }\n\n        /* Sidebar Elements */\n        .sidebar-section { margin-bottom: 40px; }\n        .sidebar-title { font-size: 0.85rem; font-weight: 700; color: var(--primary); margin-bottom: 15px; text-transform: uppercase; }\n        \n        .skill-tags { display: flex; flex-wrap: wrap; gap: 8px; }\n        .tag {\n            background: #fff; border: 1px solid #cbd5e1; padding: 4px 10px;\n            border-radius: 4px; font-size: 0.85rem; font-weight: 500; color: var(--text-main);\n        }\n        .tag.highlight { background: #eff6ff; border-color: var(--accent); color: var(--accent); }\n\n        /* Sidebar Links (Certifications) */\n        .info-link { text-decoration: none; display: block; }\n        .info-link:hover .info-label { color: var(--accent); }\n\n        /* Mini Header Page 2 */\n        .header-mini {\n            background-color: var(--primary); color: var(--text-white);\n            padding: 15px 40px; display: flex; justify-content: space-between;\n            align-items: center; font-size: 0.9rem; color: var(--text-dim);\n        }\n        .header-mini strong { color: #fff; }\n\n        @media print {\n            body { background: white; padding: 0; gap: 0; }\n            .page { width: 100%; height: auto; box-shadow: none; margin: 0; page-break-after: always; }\n            .page:last-child { page-break-after: auto; }\n            .header, .header-mini { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n            .tag.highlight { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n            .link-highlight { border: 1px solid #e2e8f0; }\n        }\n    </style>\n</head>\n<body>\n\n    <div class=\"page\">\n        \n        <header class=\"header\">\n            <div class=\"header-top\">\n                <div class=\"identity-group\">\n                    <img src=\"https://example.com/your-profile-photo.jpg\" alt=\"Your Name\" class=\"profile-photo\">\n                    <div class=\"name-block\">\n                        <h1 class=\"name\">Your Name</h1>\n                        <h2 class=\"role\">Your Job Title</h2>\n                        <div class=\"dynamic-tag\">\n                            Tailored for <strong>{{ $('AI Agent').item.json.output.position }}</strong> at <strong>{{ $('AI Agent').item.json.output.company }}</strong>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"header-contact\">\n                <a href=\"mailto:your.email@example.com\" class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/><polyline points=\"22,6 12,13 2,6\"/></svg>\n                    your.email@example.com\n                </a>\n                <span class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z\"/></svg>\n                    +49 XXX XXXX XXXX\n                </a>\n                <a href=\"https://www.linkedin.com/in/yourprofile/\" target=\"_blank\" class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/><circle cx=\"4\" cy=\"4\" r=\"2\"/></svg>\n                    linkedin.com/in/yourprofile\n                </a>\n                <span class=\"contact-item\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"/><circle cx=\"12\" cy=\"10\" r=\"3\"/></svg>\n                    Your City\n                </span>\n            </div>\n        </header>\n\n        <div class=\"cv-grid\">\n            <div class=\"main-column\">\n                <div class=\"section-title\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"></path></svg>\n                    Professional Experience\n                </div>\n\n                <div class=\"company-group\">\n                    <div class=\"company-header\">\n                        <span class=\"company-name\">Company A</span>\n                        <span class=\"company-loc\">| Your City</span>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Your Current Role Title</div>\n                        <span class=\"role-meta\">Apr 2025 \u2013 Present</span>\n                        <ul>\n                            <li><strong>AI Rollout:</strong> Integration and Administration of AI Tools (Langdock & OpenAI).</li>\n                            <li><strong>Automation:</strong> Building n8n , Langdock & Zapier workflows.</li>\n                            <li><strong>Market Research:</strong> C-Level compensation analysis & working on Executive Search projects.</li>\n                        </ul>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Market Analyst</div>\n                        <span class=\"role-meta\">Oct 2021 \u2013 Mar 2025</span>\n                        <ul>\n                            <li>Market research for executive search; competitor intelligence.</li>\n                            <li>Data Analytics & BI project evaluations (Power BI, Excel).</li>\n                        </ul>\n                    </div>\n                </div>\n\n                <div class=\"company-group\" style=\"margin-bottom:0;\">\n                    <div class=\"company-header\">\n                        <span class=\"company-name\">Company B</span>\n                        <span class=\"company-loc\">| Your City</span>\n                    </div>\n                    <div class=\"role-item\">\n                        <div class=\"role-title\">Market Research Project Manager</div>\n                        <span class=\"role-meta\">Apr 2021 \u2013 Sep 2021</span>\n                        <ul>\n                            <li>Management of international market research projects & Key Accounts.</li>\n                        </ul>\n                    </div>\n                    <div class=\"role-item\" style=\"border-left:none; padding-bottom:0;\">\n                        <div class=\"role-title\">Market Research Associate</div>\n                        <span class=\"role-meta\">Dec 2019 \u2013 Apr 2021</span>\n                        <ul>\n                            <li>Selection & training of interviewers; quality management.</li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"sidebar-column\">\n                \n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">AI, Automation & Data</div>\n                    <div class=\"skill-tags\">\n                        <span class=\"tag highlight\">n8n</span>\n                        <span class=\"tag highlight\">Langdock</span>\n                        <span class=\"tag highlight\">OpenAI API</span>\n                        <span class=\"tag highlight\">Generative AI</span>\n                        <span class=\"tag\">Zapier</span>\n                        <span class=\"tag\">Google Vertex</span>\n                        <span class=\"tag\">Prompt Eng.</span>\n                        <span class=\"tag\">Power BI</span>\n                        <span class=\"tag\">Excel (Adv.)</span>\n                        <span class=\"tag\">Project Mgmt</span>\n                    </div>\n                </div>\n\n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Certifications</div>\n                    <div style=\"display:flex; flex-direction:column; gap:12px;\">\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">IBM AI Developer</div>\n                            <a href=\"https://example.com/your-certificate-1\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Certificate\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">AI for Business</div>\n                            <a href=\"https://example.com/your-certificate-2\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Certificate\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:4px;\">n8n Creator</div>\n                            <a href=\"https://n8n.io/creators/yourprofile/\" target=\"_blank\" class=\"link-highlight\" style=\"font-size:0.8rem;\">\n                                View Profile\n                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                            </a>\n                        </div>\n                    </div>\n                </div>\n\n            </div>\n        </div>\n    </div>\n\n    <div class=\"page\">\n        <div class=\"header-mini\">\n            <span><strong>Your Name</strong> - CV Continued</span>\n            <span>Page 2 / 2</span>\n        </div>\n\n        <div class=\"cv-grid\">\n            <div class=\"main-column\">\n                \n                <div class=\"section-title\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 20h9\"></path><path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"></path></svg>\n                    Previous Roles\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Research Assistant</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">Jun 2018 \u2013 Mar 2019</span>\n                    <ul><li>Literature research, data processing & teaching support.</li></ul>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Housing Policy Intern</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">Aug 2017 \u2013 Sep 2017</span>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Management Assistant</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">May 2017 \u2013 Aug 2017</span>\n                </div>\n\n                <div class=\"job-item\">\n                    <div class=\"job-title\">Program Coordinator & Trainer</div>\n                    <div class=\"company-name\" style=\"font-size:1rem;\">Company</div>\n                    <span class=\"job-meta\">2013 \u2013 2015</span>\n                    <ul><li>Disaster Management & Team Lead (20 FTEs).</li></ul>\n                </div>\n\n                <div class=\"section-title\" style=\"margin-top:40px;\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline></svg>\n                    Publications\n                </div>\n                <div style=\"font-size:0.9rem; display:flex; flex-direction:column; gap:12px;\">\n                    <div>\n                        <a href=\"https://example.com/your-publication-1\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 1\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-2\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 2\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-3\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 3\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                    </div>\n                    <div>\n                        <a href=\"https://example.com/your-publication-4\" target=\"_blank\" class=\"link-highlight\">\n                            Publication Title 4\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>\n                        </a>\n                        <div style=\"font-size:0.85rem; color:var(--text-light); margin-top:4px; padding-left:4px;\">\n                            <em>Publication Subtitle.</em> (2020)\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"sidebar-column\">\n                \n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Education</div>\n                    <div style=\"margin-bottom:15px;\">\n                        <div style=\"font-weight:600;\">Your Degree (M.Sc.)</div>\n                        <div style=\"font-size:0.85rem; color:#64748b;\">Your University</div>\n                        <div style=\"font-size:0.85rem; color:#94a3b8;\">2017 \u2013 2019</div>\n                    </div>\n                    <div>\n                        <div style=\"font-weight:600;\">Your Degree (B.A.)</div>\n                        <div style=\"font-size:0.85rem; color:#64748b;\">Your University</div>\n                        <div style=\"font-size:0.85rem; color:#94a3b8;\">2014</div>\n                    </div>\n                </div>\n\n                <div class=\"sidebar-section\">\n                    <div class=\"sidebar-title\">Languages</div>\n                    <div style=\"display:flex; flex-direction:column; gap:10px;\">\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">German</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Full Professional</div>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">English</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Professional Working</div>\n                        </div>\n                        <div>\n                            <div style=\"font-weight:600; font-size:0.9rem;\">Arabic</div>\n                            <div style=\"font-size:0.85rem; color:#64748b;\">Native</div>\n                        </div>\n                    </div>\n                </div>\n\n            </div>\n        </div>\n    </div>\n\n</body>\n</html>",
        "output_format": "file"
      },
      "typeVersion": 1
    },
    {
      "id": "d0f05c82-1e8b-4cfa-99ec-f4072e8abc9b",
      "name": "Upload_cv3",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1888,
        480
      ],
      "parameters": {
        "name": "=YourName_CV_for_{{ $('AI Agent').item.json.output.company }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_GOOGLE_DRIVE_FOLDER_ID",
          "cachedResultName": "Job_applications"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "f058283a-50a0-44e1-afb0-eb0a5f637daf",
      "name": "Move_cv_to_attachments_folder3",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2112,
        480
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Upload_cv3').item.json.id }}"
        },
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create_folder_for_attachments3').item.json.id }}"
        },
        "operation": "move"
      },
      "typeVersion": 3
    },
    {
      "id": "7c40473f-82e5-4230-a36b-cf0225d91231",
      "name": "Append row in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2336,
        480
      ],
      "parameters": {
        "columns": {
          "value": {
            "via": "={{ $('AI Agent').item.json.output.platform }}",
            "link1": "={{ $('AI Agent').item.json.output.link }}",
            "title": "={{ $('AI Agent').item.json.output.position }}",
            "job_id": "=manually_added on {{ $now.toISO() }}",
            "salary": "={{ $('AI Agent').item.json.output.salary }}",
            "company": "={{ $('AI Agent').item.json.output.company }}",
            "location": "={{ $('AI Agent').item.json.output.location }}",
            "posted_at": "={{ $('AI Agent').item.json.output.posted_at }}",
            "share_link": "={{ $('AI Agent').item.json.output.share_link }}",
            "description": "={{ $('AI Agent').item.json.output.description }}",
            "link_drive_ornder": "=https://drive.google.com/drive/u/0/folders/{{ $('Create_folder_for_attachments3').item.json.id }}",
            "application_platform_1": "={{ $('AI Agent').item.json.output.platform }}"
          },
          "schema": [
            {
              "id": "via",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "via",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "job_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "job_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "posted_at",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "posted_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "salary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "salary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "type",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "share_link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "share_link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "application_platform_1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link3",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_3",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link4",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_4",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link5",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_5",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link6",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_6",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_6",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link7",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_7",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_7",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link8",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_8",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_8",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link9",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_9",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_9",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link10",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "link10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "application_platform_10",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "application_platform_10",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "link_drive_ornder",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "link_drive_ornder",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status-tracking",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status-tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEETS_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEETS_ID/edit?usp=drivesdk",
          "cachedResultName": "job_application"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "aec6054d-9c17-4d8b-8233-605c37c5da00",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        544,
        384
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d4e138bf-66cb-4d10-b743-15227003b03f",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.extraction_successful }}",
              "rightValue": false
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "f241aa7e-32f5-48ba-b2f8-cad98addf600",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        80
      ],
      "parameters": {
        "width": 520,
        "height": 900,
        "content": "## Automate job applications with Telegram, SerpAPI, and OpenAI\n\nThis workflow automates your job application pipeline via a **Telegram bot**. Send a job link or search keyword, approve the results, and get auto-generated cover letters and CVs uploaded to Google Drive.\n\n## How it works\n\n**Two input modes:**\n1. **URL mode** -- Send a job posting link. An AI Agent (OpenAI with web search) visits the page and extracts structured job data (title, company, location, salary, description).\n2. **Keyword mode** -- Send a search query. SerpAPI returns Google Jobs results, filters out unwanted types (internships, freelance, part-time), and sends each result to Telegram for approval.\n\n**For each approved job:**\n1. Logs the job details in a **Google Sheets** tracker\n2. Generates a styled **cover letter** PDF (HTML-to-PDF)\n3. Generates a tailored **CV** PDF with the target company and position\n4. Uploads both documents to a **Google Drive** folder\n5. Updates the Sheet with the Drive folder link\n6. Confirms completion via **Telegram**\n\n## Setup steps\n\n1. **Telegram Bot** -- Create a bot via @BotFather. Add the token as a Telegram credential. Set your user ID in the Trigger node.\n2. **OpenAI** -- Add your API key as an OpenAI credential.\n3. **SerpAPI** -- Register at serpapi.com and add your API key.\n4. **Google Sheets & Drive** -- Create OAuth2 credentials. Create a Sheet and update its ID in all Google Sheets nodes. Create a Drive folder and update its ID in all Google Drive nodes.\n5. **HTML-to-PDF** -- Install the community node `n8n-nodes-htmlcsstopdf` (self-hosted only). Add the API credential.\n6. **Customize templates** -- Edit the cover letter and CV HTML nodes with your personal details, photo, and work history.\n\n> **Community node required:** `n8n-nodes-htmlcsstopdf` -- this template works on **self-hosted n8n only**."
      },
      "typeVersion": 1
    },
    {
      "id": "d0f55af7-5ffb-4cae-a1b7-207a82c286a8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1312,
        544
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "content": "### Step 1: Telegram Input & Routing\nUser sends either a **URL** or a **keyword** via Telegram.\nThe If node checks if the message contains `http` to route accordingly."
      },
      "typeVersion": 1
    },
    {
      "id": "720f458d-cf2a-41ed-b66f-e47f519ee93b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "content": "### Step 2a: URL Mode -- AI Agent\nOpenAI GPT with web search visits the URL, extracts structured job data (position, company, location, salary, description, language). Output is validated by a structured parser."
      },
      "typeVersion": 1
    },
    {
      "id": "20b17a41-0d0e-45eb-a14e-e18859fa3e79",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        752
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "content": "### Step 2b: Keyword Mode -- SerpAPI\nSearches Google Jobs via SerpAPI, extracts results with a Code node, filters out unwanted job types (internships, freelance, part-time), then sends each result to Telegram for approval."
      },
      "typeVersion": 1
    },
    {
      "id": "bfbff130-d81a-49b9-af52-4a26b502067d",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        1296
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 120,
        "content": "### Step 3: Telegram Approval Loop\nEach job is sent to Telegram with a formatted preview. User approves or rejects each one via buttons."
      },
      "typeVersion": 1
    },
    {
      "id": "2122c2a8-bb10-409b-ae5f-a033a8522156",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        672
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 140,
        "content": "### Step 4: Document Generation\nGenerates a styled **cover letter** and a **personalized CV** as PDF using HTML-to-PDF API. Both documents dynamically insert the target company and position."
      },
      "typeVersion": 1
    },
    {
      "id": "e6ab60cb-df6c-4e28-9411-1c65bc8bde19",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        672
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 140,
        "content": "### Step 5: Google Drive & Sheets\nUploads cover letter + CV to Drive, creates a named folder per application, moves files into it, and updates the Google Sheets tracker with Drive folder link."
      },
      "typeVersion": 1
    },
    {
      "id": "f9e51f27-ed74-450f-a83f-7584cc6714ad",
      "name": "Notify user about error",
      "type": "n8n-nodes-base.telegram",
      "position": [
        768,
        288
      ],
      "parameters": {
        "text": "Sorry i was not able to extract url-content due to website restrictions. Please provide the full description and application url in this chat.",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e04a4680-a3bb-4240-a99b-6c8e087815c6",
      "name": "Notify user about successful process",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2560,
        672
      ],
      "parameters": {
        "text": "Done! :)",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "e7f31416-c2ad-4351-9525-7c2f500c8ece",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Search google jobs listings with SERP-API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "HTML to PDF",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notify user about error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move file": {
      "main": [
        [
          {
            "node": "Create_personalized_cv3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload_cv3": {
      "main": [
        [
          {
            "node": "Move_cv_to_attachments_folder3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML to PDF": {
      "main": [
        [
          {
            "node": "Upload file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload file": {
      "main": [
        [
          {
            "node": "Create_folder_for_attachments3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Check if job was approved",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Telegram message & approval card for each job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet1": {
      "main": [
        [
          {
            "node": "Notify user about successful process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create customized CV": {
      "main": [
        [
          {
            "node": "Upload customized CV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload customized CV": {
      "main": [
        [
          {
            "node": "Move CV to attachments folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create_personalized_cv3": {
      "main": [
        [
          {
            "node": "Upload_cv3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Auto-fixing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Check if job was approved": {
      "main": [
        [
          {
            "node": "Document job results in Google sheet",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload cover letter to Drive": {
      "main": [
        [
          {
            "node": "Create folder for attachments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create folder for attachments": {
      "main": [
        [
          {
            "node": "Move cover letter to attachments folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move CV to attachments folder": {
      "main": [
        [
          {
            "node": "Document link to attachments folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create customized cover letter": {
      "main": [
        [
          {
            "node": "Upload cover letter to Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create_folder_for_attachments3": {
      "main": [
        [
          {
            "node": "Move file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move_cv_to_attachments_folder3": {
      "main": [
        [
          {
            "node": "Append row in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Document link to attachments folder": {
      "main": [
        [
          {
            "node": "Notify user about successful process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Document job results in Google sheet": {
      "main": [
        [
          {
            "node": "Create customized cover letter",
            "type": "main",
            "index": 0
          },
          {
            "node": "Notify user about end of the loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move cover letter to attachments folder": {
      "main": [
        [
          {
            "node": "Create customized CV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search google jobs listings with SERP-API": {
      "main": [
        [
          {
            "node": "Extract Job results from SERP-API response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Job results from SERP-API response": {
      "main": [
        [
          {
            "node": "Filter unwanted results based on your criteria",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter unwanted results based on your criteria": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Telegram message & approval card for each job": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}