{
  "name": "YT Asistan 6 - Hata Bek\u00e7isi (Kendi Hatas\u0131n\u0131 Yakalar)",
  "nodes": [
    {
      "parameters": {},
      "id": "error-trigger",
      "name": "Herhangi Bir Workflow Hata Verirse",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        -400,
        0
      ]
    },
    {
      "parameters": {
        "jsCode": "const e = $input.first().json;\nconst wf = e.workflow || {};\nconst ex = e.execution || {};\nconst err = (ex.error) || {};\nconst html = `\n<div style=\"font-family:Segoe UI,Arial,sans-serif;max-width:560px;margin:0 auto;background:#1a1215;color:#e5e9f0;padding:24px;border-radius:14px;border:1px solid #7a2030;\">\n  <h2 style=\"color:#ff5566;margin:0 0 12px;\">\ud83d\udea8 Otomasyon Hatas\u0131 Yakaland\u0131</h2>\n  <table style=\"width:100%;font-size:14px;border-collapse:collapse;\">\n    <tr><td style=\"padding:6px;color:#8b93a5;\">Workflow</td><td style=\"padding:6px;\"><b>${wf.name || '?'}</b></td></tr>\n    <tr><td style=\"padding:6px;color:#8b93a5;\">Hatal\u0131 D\u00fc\u011f\u00fcm</td><td style=\"padding:6px;\">${(err.node && err.node.name) || '?'}</td></tr>\n    <tr><td style=\"padding:6px;color:#8b93a5;\">Mesaj</td><td style=\"padding:6px;\">${err.message || 'bilinmiyor'}</td></tr>\n    <tr><td style=\"padding:6px;color:#8b93a5;\">Zaman</td><td style=\"padding:6px;\">${new Date().toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' })}</td></tr>\n    <tr><td style=\"padding:6px;color:#8b93a5;\">Execution</td><td style=\"padding:6px;\"><a href=\"${ex.url || '#'}\" style=\"color:#7aa2ff;\">${ex.id || '-'}</a></td></tr>\n  </table>\n  <p style=\"color:#8b93a5;font-size:13px;margin:16px 0 0;\">\n    S\u0131k hata sebepleri: Google OAuth token s\u00fcresi dolmu\u015f olabilir (n8n \u2192 Credentials \u2192 yeniden ba\u011flan),\n    YouTube API g\u00fcnl\u00fck kotas\u0131 dolmu\u015f olabilir (gece 03:00'te s\u0131f\u0131rlan\u0131r, PT saatiyle),\n    ya da Sheet s\u00fctun adlar\u0131 de\u011fi\u015fmi\u015f olabilir.\n  </p>\n</div>`;\nreturn [{ json: { html, workflowName: wf.name || '?', errorMessage: err.message || '?' } }];"
      },
      "id": "build-alert",
      "name": "Hata Raporu Haz\u0131rla",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -180,
        0
      ]
    },
    {
      "parameters": {
        "sendTo": "tascierol24@gmail.com",
        "subject": "=\ud83d\udea8 n8n Hata: {{ $json.workflowName }}",
        "emailType": "html",
        "message": "={{ $json.html }}",
        "options": {
          "appendAttribution": false
        }
      },
      "id": "send-alert",
      "name": "Hata Mailini G\u00f6nder",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        40,
        0
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Herhangi Bir Workflow Hata Verirse": {
      "main": [
        [
          {
            "node": "Hata Raporu Haz\u0131rla",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Hata Raporu Haz\u0131rla": {
      "main": [
        [
          {
            "node": "Hata Mailini G\u00f6nder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "timezone": "Europe/Istanbul"
  },
  "id": "EhtY6Uv4UrS72mP2"
}