{
  "name": "Calendly → UTM Tablosu Köprüsü",
  "nodes": [
    {
      "parameters": {
        "authentication": "oAuth2",
        "events": [
          "invitee.created"
        ]
      },
      "id": "e93a567b-0448-4b3e-9ecc-befe914e3f26",
      "name": "Calendly Randevu Alındı",
      "type": "n8n-nodes-base.calendlyTrigger",
      "typeVersion": 1,
      "position": [
        -592,
        -144
      ],
      "webhookId": "d1c78746-e8eb-4fb0-907e-5d90559c135a",
      "credentials": {
        "calendlyOAuth2Api": {
          "id": "sqVwTySsgx8jvHbd",
          "name": "Calendly account 4"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// ================= AYAR =================\nconst SECRET = \"1f1b8096d606456f82adb101e9990389\";\n// =========================================\n\nconst p = $json.payload || $json;\nconst t = p.tracking || {};\nconst kirp = (v) => String(v == null ? \"\" : v).slice(0, 500).trim();\nconst kucuk = (v) => kirp(v).toLowerCase();\n\n// Telefon: Calendly SMS hatirlatma alani ya da form sorularindan\nlet telefon = kirp(p.text_reminder_number);\nconst sorular = Array.isArray(p.questions_and_answers) ? p.questions_and_answers : [];\nif (!telefon) {\n  const soru = sorular.find(q => /tel|phone|numar|gsm/i.test(String(q.question || \"\")));\n  if (soru) telefon = kirp(soru.answer);\n}\nif (!telefon) {\n  const aday = sorular.find(q => /^[+0-9][0-9 ()\\-]{6,}$/.test(kirp(q.answer)));\n  if (aday) telefon = kirp(aday.answer);\n}\n\n\n// GSM formatla (PG365 icin): sadece rakam; 0'i at, 5xx ise 90 ekle\nlet gsm = telefon.replace(/\\D/g, \"\");\nif (gsm.startsWith(\"0\")) gsm = gsm.slice(1);\nif (gsm.startsWith(\"5\") && gsm.length === 10) gsm = \"90\" + gsm;\nif (gsm.length < 10) gsm = \"\";\n\nreturn [{\n  json: {\n    secret: SECRET,\n    email: kirp(p.email),\n    ad: kirp(p.name),\n    telefon: telefon,\n    gsm: gsm,\n    utm_source: kucuk(t.utm_source),\n    utm_medium: kucuk(t.utm_medium),\n    utm_campaign: kucuk(t.utm_campaign),\n    utm_content: kucuk(t.utm_content),\n    utm_term: kucuk(t.utm_term),\n    form_id: \"calendly-randevu\",\n    referrer: \"calendly\",\n    sayfa: kirp((p.scheduled_event && p.scheduled_event.uri) || \"\")\n  }\n}];\n"
      },
      "id": "9c67fc2a-a757-493b-89ab-41bb6209dad6",
      "name": "Alanları Eşle",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -368,
        -144
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://script.google.com/macros/s/AKfycbxLsn0GM4Q80mVvAcxTc87cdUttLuyjvFN3nIHpBHmSEGdvPGe_6yGDXF1moRJDWGs58Q/exec",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "id": "53175dc2-7f14-4205-94b9-3156ffd3b6e7",
      "name": "UTM Tablosuna Gönder",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -48,
        -336
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api365.postaguvercini.com/gateway/api/sms/v1/message/send",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "publicKey",
              "value": "ec33fb6610ad47b4"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwidHlwIjoiSldUIiwiY3R5IjoiSldUIn0.9Ie6CtqfPptdnFibe4MDv7wBPqb1T3DVAM_Iq-R307MhQSQQ0EkBYiFNML-qH5p6Lv3UZnebMVO5tVzT5PUUY5BYUr7-88VE.s6RXNzXSqW4-O8UyCXhccw.ZZzlsOMJB0x9ztEhEjoqWtxNUV6_9O_MaZYTZxd50IMkyPMNBulmj6UbM0qBnEbctRuRm3v-N9XajcNZCxXgimD5yA1CNUJHaYvsrutwfjaX-KH7UULgnSk0Tbc5WXfxoC0yvdS8Ri8BZqpaNMsera2dYup-730ReymwcuSnRlji9gywtxLg4AJNVgt2oB8L-ZMT3XjrshkJ78f_syrv169LvXeUaiXbXHz3wVdmbN7wyJXmhMCYPNAWy685_BrPJv7i0uGAqjRlgrkDHvYitFeYf1ZWRXBU554X8tbIp4i4T39KYzYJ8gWcznwsFp8uRqx7prrnq2UslUwva7OPu8gZQcb8RnACz5VONvi_pYLTNNMbWRVci6WKkhe_5wiAM1kXNVnRgQ-4QxPVix7XyWSwkKLoEG6N1ecbnTJ55LRIyvpoOlthe83X9dvsfHyjA7ibpjWl1u6WTd8P9Cl0Bw.2gBbRf55D-nsLwOxWrppExitqdAiYhwPUaXD4gOtN0Q"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ Text: `Sayın ${$json.ad}, Digiens AI görüşme randevunuz oluşturulmuştur. Randevu detayları e-posta adresinize gönderildi. İyi günler dileriz.`, Purpose: 'INF', Options: { Originator: 'DARES D.M.', Encoding: 'TURKISH' }, Receivers: [{ Receiver: $json.gsm }] }) }}",
        "options": {
          "timeout": 15000
        }
      },
      "id": "0e13a97f-66f3-454f-ae49-dca9986737de",
      "name": "SMS - Gönder",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -32,
        32
      ]
    }
  ],
  "pinData": {},
  "connections": {
    "Calendly Randevu Alındı": {
      "main": [
        [
          {
            "node": "Alanları Eşle",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alanları Eşle": {
      "main": [
        [
          {
            "node": "UTM Tablosuna Gönder",
            "type": "main",
            "index": 0
          },
          {
            "node": "SMS - Gönder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "callerPolicy": "workflowsFromSameOwner",
    "availableInMCP": false
  },
  "versionId": "09cb58d4-f221-4205-a79b-1e7b25d744a5",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "63e223ab9dc32c558e69861ed5676e03769e01dd5d925b4b03bc41e81660ae4d"
  },
  "id": "1Sf35yQ1wc24dqLx",
  "tags": []
}