{"id":35524,"date":"2025-11-30T18:01:13","date_gmt":"2025-11-30T15:01:13","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/"},"modified":"2025-11-30T18:01:13","modified_gmt":"2025-11-30T15:01:13","slug":"n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/","title":{"rendered":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin"},"content":{"rendered":"<p><body><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><\/p>\n<p>G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI&#8217;\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!<\/p>\n<p>Modern i\u015f d\u00fcnyas\u0131nda ve ki\u015fisel hayatlar\u0131m\u0131zda, tekrarlayan g\u00f6revler ve manuel i\u015flemler zaman\u0131m\u0131z\u0131n \u00f6nemli bir k\u0131sm\u0131n\u0131 \u00e7alabiliyor. E-postalar\u0131 d\u00fczenlemek, sosyal medya g\u00f6nderileri olu\u015fturmak, veri toplamak veya rapor haz\u0131rlamak gibi rutinler, fark\u0131nda olmadan verimlili\u011fimizi d\u00fc\u015f\u00fcr\u00fcyor ve de\u011ferli yarat\u0131c\u0131 d\u00fc\u015f\u00fcnce i\u00e7in ay\u0131rabilece\u011fimiz zaman\u0131 k\u0131s\u0131tl\u0131yor. Peki, bu d\u00f6ng\u00fcden kurtulmak ve daha ak\u0131ll\u0131 \u00e7al\u0131\u015fmak m\u00fcmk\u00fcn m\u00fc? Kesinlikle evet! \u0130\u015fte tam bu noktada, otomasyonun b\u00fcy\u00fcl\u00fc d\u00fcnyas\u0131 devreye giriyor. Ancak, &#8220;otomasyon&#8221; kelimesi genellikle karma\u015f\u0131k kodlama ve zorlu entegrasyonlar akla getirse de, g\u00fcn\u00fcm\u00fcz teknolojileri bu s\u00fcreci hi\u00e7 olmad\u0131\u011f\u0131 kadar eri\u015filebilir hale getirdi. \u00d6zellikle n8n, Python ve Google&#8217;\u0131n yenilik\u00e7i yapay zeka modeli Gemini AI&#8217;\u0131n birle\u015fimi, s\u0131radan kullan\u0131c\u0131lar\u0131n bile kendi ak\u0131ll\u0131 otomasyonlar\u0131n\u0131 kolayca kurabilmelerini sa\u011fl\u0131yor. Bu g\u00fc\u00e7l\u00fc \u00fc\u00e7l\u00fc, dijital i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 otomatikle\u015ftirmenize, veri i\u015flemeyi h\u0131zland\u0131rman\u0131za ve hatta yapay zeka destekli ak\u0131ll\u0131 kararlar alman\u0131za olanak tan\u0131r. \u0130\u015f y\u00fck\u00fcn\u00fcz\u00fc hafifletirken, daha stratejik ve yarat\u0131c\u0131 g\u00f6revlere odaklanman\u0131z\u0131 sa\u011flar. Bu makalede, bu ara\u00e7lar\u0131n her birini derinlemesine inceleyecek, nas\u0131l entegre edildiklerini ad\u0131m ad\u0131m g\u00f6sterecek ve ger\u00e7ek d\u00fcnya senaryolar\u0131yla somut \u00f6rnekler sunarak kendi otomasyon yolculu\u011funuza nas\u0131l ba\u015flayaca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131z. Haz\u0131rsan\u0131z, zaman\u0131 geri kazanmaya ve dijital ya\u015fam\u0131n\u0131z\u0131 d\u00f6n\u00fc\u015ft\u00fcrmeye ba\u015flayal\u0131m!<\/p>\n<h2>Temel Ta\u015flar: n8n, Python ve Gemini AI&#8217;\u0131 Yak\u0131ndan Tan\u0131yal\u0131m<\/h2>\n<p>Otomasyon d\u00fcnyas\u0131na ad\u0131m atmadan \u00f6nce, bu heyecan verici yolculukta bize e\u015flik edecek temel ara\u00e7lar\u0131 anlamak b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. n8n, Python ve Gemini AI, her biri kendi alan\u0131nda g\u00fc\u00e7l\u00fc yeteneklere sahip olsa da, bir araya geldiklerinde ortaya \u00e7\u0131kan sinerji sayesinde beklentilerin \u00f6tesinde \u00e7\u00f6z\u00fcmler \u00fcretebiliyorlar. Gelin, bu \u00fc\u00e7l\u00fcy\u00fc daha yak\u0131ndan tan\u0131yal\u0131m ve neden bu kadar etkili olduklar\u0131n\u0131 ke\u015ffedelim.<\/p>\n<h3>n8n Nedir ve Neden Otomasyonda Vazge\u00e7ilmezdir?<\/h3>\n<p>n8n (node-based workflow automation) a\u00e7\u0131k kaynakl\u0131, g\u00f6rsel tabanl\u0131 bir i\u015f ak\u0131\u015f\u0131 otomasyon arac\u0131d\u0131r. Di\u011fer otomasyon platformlar\u0131ndan ayr\u0131lan en \u00f6nemli \u00f6zelli\u011fi, hem &#8220;low-code&#8221; (d\u00fc\u015f\u00fck kod) hem de &#8220;no-code&#8221; (kodsuz) yakla\u015f\u0131mlar sunabilmesidir. Bu sayede, teknik bilgiye sahip olmayan kullan\u0131c\u0131lar bile s\u00fcr\u00fckle b\u0131rak aray\u00fcz\u00fc ile karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131n\u0131 tasarlayabilirken, geli\u015ftiriciler Python gibi programlama dillerini entegre ederek daha \u00f6zelle\u015ftirilmi\u015f \u00e7\u00f6z\u00fcmler yaratabilirler. Bir\u00e7ok SaaS uygulamas\u0131 ve veritaban\u0131 ile do\u011frudan entegrasyon imkan\u0131 sunar. \u00d6rne\u011fin, Slack&#8217;ten bir bildirim almak, Google Sheets&#8217;e veri yazmak, bir web sitesinden veri \u00e7ekmek veya CRM sisteminizdeki bir kayd\u0131 g\u00fcncellemek gibi i\u015flemleri, tek bir g\u00f6rsel aray\u00fczde bir araya getirebilirsiniz. Ayr\u0131ca, n8n&#8217;i kendi sunucunuzda bar\u0131nd\u0131rma esnekli\u011fi sayesinde veri gizlili\u011fi ve g\u00fcvenlik konusunda tam kontrol sahibi olursunuz. Bu platform, tekrarlayan g\u00f6revleri ortadan kald\u0131rmak, s\u00fcre\u00e7leri standardize etmek ve genel verimlili\u011fi art\u0131rmak i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r. \u00d6zellikle farkl\u0131 sistemler aras\u0131nda veri transferi ve tetikleyici tabanl\u0131 otomasyonlar kurmak istiyorsan\u0131z, n8n sizin i\u00e7in bi\u00e7ilmi\u015f kaftan olacakt\u0131r.<\/p>\n<h3>Python: Otomasyon D\u00fcnyas\u0131n\u0131n \u0130svi\u00e7re \u00c7ak\u0131s\u0131 Neden Hala Pop\u00fcler?<\/h3>\n<p>Python, otomasyon, veri bilimi, web geli\u015ftirme ve yapay zeka gibi bir\u00e7ok alanda en \u00e7ok tercih edilen programlama dillerinden biridir. Kolay \u00f6\u011frenilebilir s\u00f6z dizimi ve geni\u015f k\u00fct\u00fcphane ekosistemi sayesinde, geli\u015ftiricilere karma\u015f\u0131k problemleri h\u0131zl\u0131 ve verimli bir \u015fekilde \u00e7\u00f6zme imkan\u0131 sunar. Otomasyon ba\u011flam\u0131nda Python&#8217;\u0131n g\u00fcc\u00fc, neredeyse her t\u00fcrl\u00fc dijital g\u00f6revi yerine getirebilmesinden gelir. Dosya i\u015flemleri, web kaz\u0131ma (web scraping), API&#8217;larla ileti\u015fim kurma, veri analizi yapma veya \u00f6zel algoritmalar geli\u015ftirme gibi i\u015flemleri Python ile kolayca ger\u00e7ekle\u015ftirebilirsiniz. n8n ile entegre edildi\u011finde, Python, n8n&#8217;in standart d\u00fc\u011f\u00fcmlerinin \u00f6tesine ge\u00e7erek tamamen \u00f6zelle\u015ftirilmi\u015f mant\u0131k veya hesaplamalar eklemenize olanak tan\u0131r. Yani, n8n size g\u00f6rsel bir orkestrasyon sunarken, Python bu orkestrasyona istedi\u011finiz enstr\u00fcman\u0131 ekleyebilme \u00f6zg\u00fcrl\u00fc\u011f\u00fcn\u00fc verir. Bu esneklik, standart bir entegrasyonun bulunmad\u0131\u011f\u0131 durumlarda veya \u00e7ok spesifik veri i\u015fleme ad\u0131mlar\u0131na ihtiya\u00e7 duyuldu\u011funda hayati \u00f6nem ta\u015f\u0131r. Bu sayede, i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 sadece otomatikle\u015ftirmekle kalmaz, ayn\u0131 zamanda ak\u0131ll\u0131 ve ki\u015fiselle\u015ftirilmi\u015f bir hale getirebilirsiniz.<\/p>\n<h3>Gemini AI: Ak\u0131ll\u0131 Kararlar\u0131n Yeni Nesil Adresi Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Google taraf\u0131ndan geli\u015ftirilen Gemini AI, metin, kod, g\u00f6rseller ve videolar gibi farkl\u0131 veri t\u00fcrlerini anlayabilen ve \u00fcretebilen yeni nesil bir yapay zeka modelidir. \u00c7ok modlu yap\u0131s\u0131yla \u00f6ne \u00e7\u0131kan Gemini, karma\u015f\u0131k dil modelleme g\u00f6revlerinden g\u00f6r\u00fcnt\u00fc analizine kadar geni\u015f bir yelpazede yeteneklere sahiptir. Otomasyon s\u00fcre\u00e7lerinde Gemini AI&#8217;\u0131n rol\u00fc, i\u015f ak\u0131\u015flar\u0131na &#8220;ak\u0131l&#8221; katmakt\u0131r. \u00d6rne\u011fin, bir e-postan\u0131n tonunu analiz edebilir, uzun bir metni \u00f6zetleyebilir, belirli bir konu hakk\u0131nda yarat\u0131c\u0131 i\u00e7erikler \u00fcretebilir veya bir m\u00fc\u015fteri yorumunu s\u0131n\u0131fland\u0131rabilir. Bu yetenekler, otomasyon sistemlerinin sadece belirli kurallara g\u00f6re \u00e7al\u0131\u015fmak yerine, ba\u011flam\u0131 anlayarak daha insan benzeri ve dinamik kararlar almas\u0131na olanak tan\u0131r. Gemini API&#8217;\u0131 sayesinde, Python kodunuz arac\u0131l\u0131\u011f\u0131yla bu g\u00fc\u00e7l\u00fc yapay zeka modeline kolayca eri\u015febilir ve otomasyonlar\u0131n\u0131za do\u011fal dil i\u015fleme (NLP) yetenekleri ekleyebilirsiniz. Bu, \u00f6zellikle m\u00fc\u015fteri hizmetleri, i\u00e7erik \u00fcretimi, veri analizi ve karar destek sistemleri gibi alanlarda devrim niteli\u011finde f\u0131rsatlar sunar. n8n, Python ve Gemini AI bir araya geldi\u011finde, sadece g\u00f6revleri otomatikle\u015ftirmekle kalmaz, ayn\u0131 zamanda bu g\u00f6revlerin \u00e7ok daha ak\u0131ll\u0131ca ve verimli bir \u015fekilde yerine getirilmesini sa\u011flars\u0131n\u0131z.<\/p>\n<h2>Entegrasyon G\u00fcc\u00fc: Bu \u00dc\u00e7l\u00fc Birlikte Nas\u0131l \u00c7al\u0131\u015f\u0131r ve Ak\u0131\u015flar Olu\u015fturulur?<\/h2>\n<p>n8n, Python ve Gemini AI&#8217;\u0131n bireysel g\u00fc\u00e7lerini anlad\u0131ktan sonra, as\u0131l merak edilen soru bu \u00fc\u00e7l\u00fcn\u00fcn bir araya gelerek nas\u0131l sihir yaratt\u0131\u011f\u0131d\u0131r. Bu b\u00f6l\u00fcm, entegrasyon mekanizmalar\u0131n\u0131 ve bu sayede nas\u0131l daha ak\u0131ll\u0131 otomasyon i\u015f ak\u0131\u015flar\u0131 olu\u015fturabilece\u011fimizi detayland\u0131racakt\u0131r. Temel olarak, n8n g\u00f6rsel orkestrasyon katman\u0131 olarak g\u00f6rev yaparken, Python karma\u015f\u0131k mant\u0131k ve \u00f6zel entegrasyonlar i\u00e7in programlama g\u00fcc\u00fc sa\u011flar ve Gemini AI, bu ak\u0131\u015flara yapay zeka destekli zeka katar.<\/p>\n<h3>n8n ile Python Entegrasyonu: K\u00f6pr\u00fc Kurmak<\/h3>\n<p>n8n, Python kodunu do\u011frudan \u00e7al\u0131\u015ft\u0131rman\u0131z\u0131 sa\u011flayan \u00f6zel d\u00fc\u011f\u00fcmlere sahiptir. Bu, n8n&#8217;in esnekli\u011finin anahtar\u0131d\u0131r. \u0130ki ana y\u00f6ntemle Python kodunu i\u015f ak\u0131\u015f\u0131n\u0131za dahil edebilirsiniz:<\/p>\n<ol>\n<li><strong>Execute Command D\u00fc\u011f\u00fcm\u00fc:<\/strong> Bu d\u00fc\u011f\u00fcm, n8n&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucu \u00fczerinde herhangi bir komutu veya beti\u011fi \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. Python betiklerinizi bir dosya olarak kaydedip bu d\u00fc\u011f\u00fcmle \u00e7a\u011f\u0131rabilirsiniz. \u00d6rne\u011fin:\n<pre><code>\n            python \/path\/to\/my_script.py --data \"{{$json.inputData}}\"\n            <\/pre>\n<p><\/code><br \/>\n            Bu y\u00f6ntem, ba\u011f\u0131ml\u0131l\u0131klar\u0131 olan veya daha uzun s\u00fcren betikler i\u00e7in idealdir.<\/li>\n<li><strong>Execute Python Code D\u00fc\u011f\u00fcm\u00fc:<\/strong> n8n'in en kullan\u0131\u015fl\u0131 \u00f6zelliklerinden biridir. Bu d\u00fc\u011f\u00fcm, do\u011frudan n8n aray\u00fcz\u00fcne Python kodunu yazman\u0131za ve onu \u00e7al\u0131\u015ft\u0131rman\u0131za imkan tan\u0131r. D\u00fc\u011f\u00fcm, \u00f6nceki d\u00fc\u011f\u00fcmlerden gelen veriyi <code class=\"language-python\">n8n_data<\/code> adl\u0131 bir de\u011fi\u015fkene JSON format\u0131nda otomatik olarak aktar\u0131r ve siz de i\u015flenmi\u015f veriyi ayn\u0131 formatta geri d\u00f6nd\u00fcrebilirsiniz.<\/li>\n<\/ol>\n<pre><code>\n    <pre><code>\n    # Execute Python Code D\u00fc\u011f\u00fcm\u00fc i\u00e7inde \u00f6rnek\n    import json\n\n    # n8n'den gelen veriye eri\u015fim\n    input_data = n8n_data[0]['json']\n    name = input_data.get('userName', 'Misafir')\n\n    # Python i\u00e7inde i\u015flem yapma\n    greeting = f\"Merhaba, {name}! Bu Python'dan gelen bir mesajd\u0131r.\"\n\n    # Sonucu n8n'e geri g\u00f6nderme\n    # n8n'e d\u00f6nd\u00fcr\u00fclecek her \u00f6\u011fe bir s\u00f6zl\u00fck olmal\u0131d\u0131r\n    return [{'json': {'message': greeting}}]\n    <\/code><\/pre>\n<p>    <\/code><\/p>\n<p>Bu d\u00fc\u011f\u00fcm, k\u0131sa ve spesifik mant\u0131k i\u015flemleri i\u00e7in m\u00fckemmeldir. \u00d6rne\u011fin, bir API yan\u0131t\u0131n\u0131 ayr\u0131\u015ft\u0131rmak, \u00f6zel bir hesaplama yapmak veya veriyi belirli bir formata d\u00f6n\u00fc\u015ft\u00fcrmek gibi g\u00f6revlerde kullan\u0131labilir. Python'\u0131n esnekli\u011fi sayesinde, n8n'in k\u00fct\u00fcphanesinde bulunmayan herhangi bir entegrasyonu veya veri i\u015fleme g\u00f6revini kolayca ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<h3>Python ile Gemini AI Entegrasyonu: Yapay Zekay\u0131 \u00c7a\u011f\u0131rmak<\/h3>\n<p>Python'\u0131 Gemini AI ile entegre etmek, genellikle Google AI SDK's\u0131n\u0131 veya do\u011frudan Gemini API'\u0131n\u0131 kullanarak yap\u0131l\u0131r. Google, Python i\u00e7in kullan\u0131c\u0131 dostu bir k\u00fct\u00fcphane sunar, bu da Gemini modellerine eri\u015fimi olduk\u00e7a basitle\u015ftirir. \u0130lk ad\u0131m, bir Google AI Studio hesab\u0131 olu\u015fturmak ve bir API anahtar\u0131 almakt\u0131r. Bu anahtar, Python kodunuzun Gemini hizmetlerine kimlik do\u011frulamas\u0131 yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code>\n    <pre><code>\n    import google.generativeai as genai\n    import os\n\n    # API anahtar\u0131n\u0131 ortam de\u011fi\u015fkeninden veya do\u011frudan atama (g\u00fcvenlik i\u00e7in ortam de\u011fi\u015fkeni \u00f6nerilir)\n    # genai.configure(api_key=os.environ[\"GEMINI_API_KEY\"])\n    genai.configure(api_key=\"YOUR_GEMINI_API_KEY\") # Sadece test ama\u00e7l\u0131, \u00fcretimde environment variable kullan\u0131n\n\n    # Gemini modelini ba\u015flatma\n    model = genai.GenerativeModel('gemini-pro')\n\n    def generate_content_with_gemini(prompt_text):\n        try:\n            response = model.generate_content(prompt_text)\n            return response.text\n        except Exception as e:\n            return f\"Gemini API \u00e7a\u011fr\u0131s\u0131nda hata: {e}\"\n\n    # \u00d6rnek kullan\u0131m (n8n'den gelecek metin gibi)\n    # text_to_process = \"Bu makale n8n, Python ve Gemini AI entegrasyonunu ele al\u0131yor. Ana fikirlerini \u00f6zetler misin?\"\n    # summary = generate_content_with_gemini(text_to_process)\n    # print(summary)\n    <\/code><\/pre>\n<p>    <\/code><\/p>\n<p>Bu kod blo\u011fu, Python ile Gemini API'\u0131na nas\u0131l ba\u011flanaca\u011f\u0131n\u0131z\u0131 ve metin olu\u015fturma gibi temel i\u015flemleri nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 g\u00f6sterir. Gemini'\u0131n farkl\u0131 modelleri (\u00f6rne\u011fin, <code class=\"language-text\">gemini-pro<\/code> metin tabanl\u0131 i\u015flemler i\u00e7in, <code class=\"language-text\">gemini-pro-vision<\/code> multimodal i\u00e7erik i\u00e7in) farkl\u0131 yetenekler sunar.<\/p>\n<h3>n8n \u00dczerinden Gemini AI Kullan\u0131m\u0131: Senkronize Bir Dans<\/h3>\n<p>\u015eimdi bu par\u00e7alar\u0131 bir araya getirme zaman\u0131. n8n i\u015f ak\u0131\u015f\u0131n\u0131zda, bir tetikleyici (\u00f6rne\u011fin, yeni bir e-posta, web kancas\u0131 veya belirli bir zaman) bir olay ba\u015flatt\u0131\u011f\u0131nda, \u015fu ad\u0131mlar\u0131 takip edebiliriz:<\/p>\n<ol>\n<li><strong>Veri Toplama:<\/strong> n8n'in dahili d\u00fc\u011f\u00fcmlerini kullanarak ilgili veriyi toplars\u0131n\u0131z (\u00f6rn. Email Trigger ile e-posta i\u00e7eri\u011fi).<\/li>\n<li><strong>Python D\u00fc\u011f\u00fcm\u00fcne G\u00f6nderme:<\/strong> Toplad\u0131\u011f\u0131n\u0131z veriyi bir \"Execute Python Code\" d\u00fc\u011f\u00fcm\u00fcne aktar\u0131rs\u0131n\u0131z.<\/li>\n<li><strong>Gemini AI ile \u0130\u015fleme:<\/strong> Python d\u00fc\u011f\u00fcm\u00fc i\u00e7inde, yukar\u0131daki \u00f6rnekte g\u00f6sterildi\u011fi gibi Gemini API'\u0131n\u0131 \u00e7a\u011f\u0131rarak veriyi i\u015flersiniz (\u00f6rn. \u00f6zetleme, s\u0131n\u0131fland\u0131rma, yeni metin olu\u015fturma).<\/li>\n<li><strong>Sonucu Geri Alma ve \u0130\u015f Ak\u0131\u015f\u0131na Devam Etme:<\/strong> Gemini'dan gelen yan\u0131t\u0131 Python kodu i\u00e7inde i\u015fler ve n8n'e geri d\u00f6nd\u00fcr\u00fcrs\u00fcn\u00fcz. n8n daha sonra bu i\u015flenmi\u015f veriyi kullanarak sonraki ad\u0131mlar\u0131 (\u00f6rn. Slack'e bildirim g\u00f6nderme, Google Sheets'e kaydetme, ba\u015fka bir e-posta g\u00f6nderme) ger\u00e7ekle\u015ftirir.<\/li>\n<\/ol>\n<p>Bu entegre yakla\u015f\u0131m, sadece g\u00f6revleri otomatikle\u015ftirmekle kalmaz, ayn\u0131 zamanda yapay zeka destekli kararlar alabilen dinamik ve ak\u0131ll\u0131 i\u015f ak\u0131\u015flar\u0131 olu\u015fturman\u0131z\u0131 sa\u011flar. Bu kombinasyon sayesinde, manuel olarak yap\u0131lmas\u0131 saatler s\u00fcren veya insan m\u00fcdahalesi gerektiren pek \u00e7ok i\u015flemi, tamamen otomatik ve ak\u0131ll\u0131 bir \u015fekilde ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<div class=\"expert-tip\" style=\"background-color: #e0f2f7; border-left: 5px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n        Uzman \u0130pucu: Gemini API anahtar\u0131n\u0131z\u0131 asla do\u011frudan kod i\u00e7ine yazmay\u0131n! Bunun yerine, n8n'in Credentials \u00f6zelli\u011fi veya sunucunuzun ortam de\u011fi\u015fkenleri arac\u0131l\u0131\u011f\u0131yla g\u00fcvenli bir \u015fekilde y\u00f6netin. Python kodunuzda <code class=\"language-python\">os.environ.get(\"GEMINI_API_KEY\")<\/code> kullanarak eri\u015febilirsiniz.\n    <\/div>\n<h2>Vaka Analizi 1: E-posta Gelen Kutusu Y\u00f6netimi ve Ak\u0131ll\u0131 Yan\u0131tlama<\/h2>\n<p>G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131m\u0131zda en \u00e7ok zaman\u0131m\u0131z\u0131 alan g\u00f6revlerden biri ku\u015fkusuz e-posta y\u00f6netimidir. Gelen kutusunda biriken y\u00fczlerce e-posta aras\u0131nda \u00f6nemli olanlar\u0131 ay\u0131rmak, h\u0131zl\u0131ca yan\u0131t vermek veya ilgili departmanlara y\u00f6nlendirmek bazen tam zamanl\u0131 bir i\u015f haline gelebilir. Ancak n8n, Python ve Gemini AI \u00fc\u00e7l\u00fcs\u00fcyle bu s\u00fcreci radikal bir \u015fekilde otomatikle\u015ftirebilir ve ak\u0131ll\u0131 hale getirebilirsiniz. Bu vaka analizinde, gelen destek e-postalar\u0131n\u0131 otomatik olarak s\u0131n\u0131fland\u0131ran, \u00f6zetleyen ve hatta taslak yan\u0131tlar olu\u015fturan bir sistem kuraca\u011f\u0131z.<\/p>\n<h3>Senaryo: Destek Taleplerini Otomatik Olarak \u0130\u015fleme<\/h3>\n<p>Bir e-ticaret \u015firketinde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z\u0131 ve her g\u00fcn y\u00fczlerce m\u00fc\u015fteri destek e-postas\u0131 ald\u0131\u011f\u0131n\u0131z\u0131 varsayal\u0131m. Bu e-postalar\u0131n baz\u0131lar\u0131 \"sipari\u015f durumu sorgusu\", baz\u0131lar\u0131 \"\u00fcr\u00fcn iadesi\", baz\u0131lar\u0131 ise \"teknik destek\" kategorisine giriyor. Amac\u0131m\u0131z, her yeni e-postay\u0131 otomatik olarak almak, kategorize etmek, ana noktalar\u0131n\u0131 \u00f6zetlemek ve m\u00fc\u015fteriye g\u00f6nderilebilecek ki\u015fiselle\u015ftirilmi\u015f bir taslak yan\u0131t olu\u015fturmakt\u0131r. Bu sayede, destek ekibi manuel s\u0131n\u0131fland\u0131rma ve temel yan\u0131tlar\u0131 yazma y\u00fck\u00fcnden kurtulacak, daha karma\u015f\u0131k veya acil sorunlara odaklanabilecektir.<\/p>\n<h3>Ad\u0131m Ad\u0131m Otomasyon \u0130\u015f Ak\u0131\u015f\u0131<\/h3>\n<ol>\n<li><strong>Tetikleyici: Yeni E-posta Al\u0131m\u0131 (n8n Email Trigger)<\/strong>\n<p>\u0130\u015f ak\u0131\u015f\u0131m\u0131z, yeni bir e-posta geldi\u011finde tetiklenecektir. n8n'in \"Email Trigger\" d\u00fc\u011f\u00fcm\u00fc, belirli bir e-posta adresine gelen postalar\u0131 dinleyebilir. Gelen e-postan\u0131n konusu, g\u00f6ndereni, al\u0131c\u0131s\u0131 ve en \u00f6nemlisi i\u00e7eri\u011fi (body) gibi bilgileri otomatik olarak al\u0131r.<\/p>\n<\/li>\n<li><strong>E-posta \u0130\u00e7eri\u011fini Python D\u00fc\u011f\u00fcm\u00fcne G\u00f6nderme (n8n Execute Python Code)<\/strong>\n<p>E-posta i\u00e7eri\u011fini ald\u0131ktan sonra, bu metni i\u015flemek \u00fczere bir \"Execute Python Code\" d\u00fc\u011f\u00fcm\u00fcne g\u00f6ndeririz. Bu d\u00fc\u011f\u00fcm, e-posta i\u00e7eri\u011fini (genellikle HTML veya d\u00fcz metin format\u0131nda) Gemini AI'\u0131n i\u015fleyebilece\u011fi bir formata d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in de kullan\u0131labilir.<\/p>\n<pre><code>\n            <pre><code>\n            # n8n Execute Python Code d\u00fc\u011f\u00fcm\u00fc i\u00e7inde\n            import json\n            import re # HTML etiketlerini temizlemek i\u00e7in\n\n            email_data = n8n_data[0]['json']\n            email_body = email_data.get('text', '') # D\u00fcz metin veya HTML body\n            email_subject = email_data.get('subject', 'Konu Yok')\n\n            # HTML etiketlerini temizle (e\u011fer body HTML ise)\n            clean_body = re.sub(r'<.*?>', '', email_body)\n            clean_body = clean_body.replace('\\n', ' ').strip() # Yeni sat\u0131rlar\u0131 kald\u0131r\n\n            # Temizlenmi\u015f e-posta i\u00e7eri\u011fini ve konusunu bir sonraki ad\u0131ma ilet\n            return [{'json': {'cleanEmailBody': clean_body, 'emailSubject': email_subject}}]\n            <\/code><\/pre>\n<p>            <\/code>\n        <\/li>\n<li><strong>Gemini AI ile S\u0131n\u0131fland\u0131rma ve \u00d6zetleme (Python i\u00e7inde Gemini API)<\/strong>\n<p>\u015eimdi Python d\u00fc\u011f\u00fcm\u00fcn\u00fcn kalbine geliyoruz. Burada, temizlenmi\u015f e-posta i\u00e7eri\u011fini Gemini AI'a g\u00f6ndererek iki ana i\u015flem yapaca\u011f\u0131z: e-postay\u0131 s\u0131n\u0131fland\u0131rmak ve ana i\u00e7eri\u011fini \u00f6zetlemek. Bu i\u015flemler i\u00e7in Gemini'a \u00f6zel komut istemleri (prompt) g\u00f6nderece\u011fiz.<\/p>\n<pre><code>\n            <pre><code>\n            # n8n Execute Python Code d\u00fc\u011f\u00fcm\u00fc i\u00e7inde (\u00f6nceki kodun devam\u0131)\n            import google.generativeai as genai\n            import os\n            import json\n            import re\n\n            # G\u00fcvenlik i\u00e7in API anahtar\u0131n\u0131 n8n Credentials veya ortam de\u011fi\u015fkeninden al\u0131n\n            genai.configure(api_key=os.environ.get(\"GEMINI_API_KEY\")) # n8n Credentials'dan al\u0131nan anahtar\n\n            model = genai.GenerativeModel('gemini-pro')\n\n            email_data = n8n_data[0]['json']\n            clean_body = email_data['cleanEmailBody']\n            email_subject = email_data['emailSubject']\n\n            # 1. Prompt: E-postay\u0131 s\u0131n\u0131fland\u0131rma\n            classification_prompt = f\"\"\"A\u015fa\u011f\u0131daki e-posta metnini \n            'Sipari\u015f Sorgusu', '\u00dcr\u00fcn \u0130adesi', 'Teknik Destek', 'Fatura\/\u00d6deme', 'Di\u011fer' \n            kategorilerinden birine s\u0131n\u0131fland\u0131r ve sadece kategorinin ad\u0131n\u0131 d\u00f6nd\u00fcr.\n            E-posta Konusu: {email_subject}\n            E-posta \u0130\u00e7eri\u011fi: {clean_body}\n            Kategori:\"\"\"\n\n            # 2. Prompt: E-postay\u0131 \u00f6zetleme\n            summary_prompt = f\"\"\"A\u015fa\u011f\u0131daki e-posta metnini 2-3 c\u00fcmleyle \u00f6zetle.\n            E-posta Konusu: {email_subject}\n            E-posta \u0130\u00e7eri\u011fi: {clean_body}\n            \u00d6zet:\"\"\"\n\n            # 3. Prompt: Taslak yan\u0131t olu\u015fturma\n            response_prompt = f\"\"\"A\u015fa\u011f\u0131daki e-posta i\u00e7eri\u011fine uygun, kibar ve yard\u0131mc\u0131 bir taslak yan\u0131t olu\u015ftur. \n            M\u00fc\u015fteriye sorunu i\u00e7in yard\u0131mc\u0131 olaca\u011f\u0131m\u0131z\u0131 ve en k\u0131sa s\u00fcrede geri d\u00f6nece\u011fimizi belirt.\n            E-posta Konusu: {email_subject}\n            E-posta \u0130\u00e7eri\u011fi: {clean_body}\n            Taslak Yan\u0131t:\"\"\"\n\n            try:\n                classification_response = model.generate_content(classification_prompt)\n                category = classification_response.text.strip()\n\n                summary_response = model.generate_content(summary_prompt)\n                summary = summary_response.text.strip()\n\n                response_draft_response = model.generate_content(response_prompt)\n                response_draft = response_draft_response.text.strip()\n\n            except Exception as e:\n                category = \"Hata\"\n                summary = f\"\u00d6zetleme hatas\u0131: {e}\"\n                response_draft = f\"Yan\u0131t olu\u015fturma hatas\u0131: {e}\"\n\n            # \u0130\u015flenmi\u015f veriyi n8n'e geri d\u00f6nd\u00fcr\n            return [{'json': {\n                'category': category,\n                'summary': summary,\n                'responseDraft': response_draft,\n                'originalSubject': email_subject,\n                'originalBody': clean_body\n            }}]\n            <\/code><\/pre>\n<p>            <\/code>\n        <\/li>\n<li><strong>Yan\u0131t\u0131 Taslak Olarak Kaydetme veya Y\u00f6nlendirme (n8n Gmail\/Outlook\/Slack D\u00fc\u011f\u00fcmleri)<\/strong>\n<p>Gemini AI'dan gelen kategori, \u00f6zet ve taslak yan\u0131t bilgilerini kullanarak i\u015f ak\u0131\u015f\u0131n\u0131 tamamlar\u0131z. Bu a\u015famada birden fazla se\u00e7enek mevcuttur:<\/p>\n<ul>\n<li><strong>Gmail\/Outlook D\u00fc\u011f\u00fcm\u00fc:<\/strong> Olu\u015fturulan taslak yan\u0131t\u0131, m\u00fc\u015fteriye g\u00f6nderilmek \u00fczere ilgili e-posta hesab\u0131nda bir taslak olarak kaydedebilirsiniz. Destek ekibinin sadece g\u00f6zden ge\u00e7irmesi ve g\u00f6ndermesi yeterli olur.<\/li>\n<li><strong>Slack\/Microsoft Teams D\u00fc\u011f\u00fcm\u00fc:<\/strong> E-postan\u0131n kategorisine g\u00f6re ilgili departman\u0131n Slack kanal\u0131na (\u00f6rn. #teknik-destek) e-postan\u0131n \u00f6zetini, kategorisini ve taslak yan\u0131t\u0131n\u0131 i\u00e7eren bir bildirim g\u00f6nderebilirsiniz. Bu, ekiplerin h\u0131zla bilgi sahibi olmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Google Sheets\/Airtable D\u00fc\u011f\u00fcm\u00fc:<\/strong> Gelen e-postalar\u0131, s\u0131n\u0131fland\u0131rmalar\u0131n\u0131 ve yan\u0131t taslaklar\u0131n\u0131 bir kay\u0131t tablosuna ekleyerek t\u00fcm destek taleplerini merkezi bir yerde izleyebilirsiniz.<\/li>\n<li><strong>If D\u00fc\u011f\u00fcm\u00fc:<\/strong> E-postan\u0131n kategorisine g\u00f6re farkl\u0131 yollar izleyebilirsiniz. \u00d6rne\u011fin, \"Teknik Destek\" kategorisindeki e-postalar\u0131 do\u011frudan teknik ekibin Jira paneline bir g\u00f6rev olarak eklerken, \"Sipari\u015f Sorgusu\" olanlar\u0131 m\u00fc\u015fteri hizmetleri paneline y\u00f6nlendirebilirsiniz.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu otomasyon sayesinde, destek ekibiniz manuel i\u015f y\u00fck\u00fcn\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde azaltacak, yan\u0131t s\u00fcrelerini h\u0131zland\u0131racak ve m\u00fc\u015fteri memnuniyetini art\u0131racakt\u0131r. E-postalar\u0131n otomatik olarak s\u0131n\u0131fland\u0131r\u0131lmas\u0131 ve taslak yan\u0131tlar\u0131n olu\u015fturulmas\u0131, ekibin daha karma\u015f\u0131k sorunlara odaklanmas\u0131na ve genel verimlili\u011fin artmas\u0131na olanak tan\u0131r.<\/p>\n<h2>Vaka Analizi 2: Sosyal Medya \u0130\u00e7erik \u00dcretimi ve Planlamas\u0131<\/h2>\n<p>Dijital pazarlamac\u0131lar\u0131n ve i\u00e7erik \u00fcreticilerinin en b\u00fcy\u00fck zorluklar\u0131ndan biri, s\u00fcrekli olarak taze ve ilgi \u00e7ekici i\u00e7erik \u00fcretmektir. Trendleri takip etmek, uzun makaleleri \u00f6zetlemek ve sosyal medya platformlar\u0131na uygun k\u0131sa, etkile\u015fimli g\u00f6nderiler haz\u0131rlamak olduk\u00e7a zaman al\u0131c\u0131 olabilir. n8n, Python ve Gemini AI kombinasyonu, bu s\u00fcreci ba\u015ftan sona otomatikle\u015ftirecek, size hem zaman kazand\u0131racak hem de i\u00e7erik kalitenizi art\u0131racakt\u0131r. Bu vaka analizinde, belirli bir konuda yeni yay\u0131nlanan blog yaz\u0131lar\u0131n\u0131 otomatik olarak izleyen, \u00f6zetleyen ve sosyal medya g\u00f6nderileri olu\u015fturan bir sistem kuraca\u011f\u0131z.<\/p>\n<h3>Senaryo: Otomatik Blog \u0130zleme ve Sosyal Medya \u0130\u00e7erik \u00dcretimi<\/h3>\n<p>Bir teknoloji blogu veya haber sitesi i\u015fletti\u011finizi d\u00fc\u015f\u00fcnelim. Sekt\u00f6r\u00fcn\u00fczdeki di\u011fer \u00f6nde gelen yay\u0131nlar\u0131 veya rakiplerinizi s\u00fcrekli takip ederek, yeni \u00e7\u0131kan \u00f6nemli makaleleri h\u0131zl\u0131ca ke\u015ffetmek ve bu i\u00e7eriklerden ilham alarak kendi sosyal medya kanallar\u0131n\u0131z i\u00e7in g\u00f6nderiler olu\u015fturmak istiyorsunuz. Amac\u0131m\u0131z, yeni bir blog yaz\u0131s\u0131 yay\u0131mland\u0131\u011f\u0131nda, bu yaz\u0131n\u0131n ana fikrini otomatik olarak \u00f6zetlemek, ilgili anahtar kelimeler ve hashtag'ler belirlemek ve sosyal medya platformlar\u0131 (\u00f6rne\u011fin Twitter, LinkedIn) i\u00e7in haz\u0131r g\u00f6nderi metinleri \u00fcretmektir. Hatta bu g\u00f6nderilere uygun g\u00f6rsel a\u00e7\u0131klamalar\u0131 da ekleyebiliriz.<\/p>\n<h3>Ad\u0131m Ad\u0131m Otomasyon \u0130\u015f Ak\u0131\u015f\u0131<\/h3>\n<ol>\n<li><strong>Tetikleyici: Yeni Blog Yaz\u0131s\u0131 Ke\u015ffi (n8n RSS Read \/ HTTP Request)<\/strong>\n<p>\u0130\u015f ak\u0131\u015f\u0131m\u0131z, belirli web sitelerinin RSS ak\u0131\u015flar\u0131nda veya do\u011frudan URL'lerinde yeni bir i\u00e7erik tespit edildi\u011finde tetiklenecektir. n8n'in \"RSS Read\" d\u00fc\u011f\u00fcm\u00fc, belirledi\u011finiz RSS ak\u0131\u015flar\u0131n\u0131 d\u00fczenli aral\u0131klarla kontrol edebilir ve yeni \u00f6\u011feleri yakalayabilir. E\u011fer web sitesinin RSS'i yoksa, \"HTTP Request\" d\u00fc\u011f\u00fcm\u00fc ile belirli bir URL'yi periyodik olarak kontrol ederek (\u00f6rne\u011fin, bir web scraping Python beti\u011fi ile) yeni i\u00e7erik bulabiliriz.<\/p>\n<\/li>\n<li><strong>\u0130\u00e7erik Ay\u0131klama ve Python D\u00fc\u011f\u00fcm\u00fcne G\u00f6nderme (n8n HTML Extract \/ Execute Python Code)<\/strong>\n<p>RSS ak\u0131\u015f\u0131ndan gelen veya web scraping ile elde edilen bir blog yaz\u0131s\u0131n\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 ve ana metnini ay\u0131klamam\u0131z gerekir. n8n'in \"HTML Extract\" d\u00fc\u011f\u00fcm\u00fc, belirli CSS se\u00e7icileri kullanarak web sayfas\u0131ndan ba\u015fl\u0131k, ana metin, resim URL'si gibi bilgileri \u00e7ekebilir. Ard\u0131ndan, bu bilgileri bir \"Execute Python Code\" d\u00fc\u011f\u00fcm\u00fcne g\u00f6ndeririz.<\/p>\n<pre><code>\n            <pre><code>\n            # n8n Execute Python Code d\u00fc\u011f\u00fcm\u00fc i\u00e7inde\n            import json\n            import re\n            from bs4 import BeautifulSoup # HTML i\u00e7eri\u011fi temizlemek i\u00e7in, n8n'in Python ortam\u0131na y\u00fcklenmeli\n\n            article_data = n8n_data[0]['json']\n            article_title = article_data.get('title', 'Ba\u015fl\u0131k Yok')\n            article_url = article_data.get('url', '')\n            article_full_html_content = article_data.get('content', '') # HTML Extract'ten gelen t\u00fcm i\u00e7erik\n\n            # HTML'i temizle ve sadece metni al\n            soup = BeautifulSoup(article_full_html_content, 'html.parser')\n            clean_text = soup.get_text(separator=' ', strip=True)\n\n            # Temizlenmi\u015f metni ve di\u011fer bilgileri bir sonraki ad\u0131ma ilet\n            return [{'json': {\n                'cleanArticleText': clean_text,\n                'articleTitle': article_title,\n                'articleUrl': article_url\n            }}]\n            <\/code><\/pre>\n<p>            <\/code>\n        <\/li>\n<li><strong>Gemini AI ile \u00d6zetleme, Hashtag ve G\u00f6nderi Olu\u015fturma (Python i\u00e7inde Gemini API)<\/strong>\n<p>Bu a\u015famada, temizlenmi\u015f blog yaz\u0131s\u0131 metnini Gemini AI'a g\u00f6ndererek a\u015fa\u011f\u0131daki i\u015flemleri ger\u00e7ekle\u015ftirece\u011fiz:<\/p>\n<ul>\n<li><strong>\u00d6zetleme:<\/strong> Yaz\u0131n\u0131n ana fikrini birka\u00e7 c\u00fcmleyle \u00f6zetlemek.<\/li>\n<li><strong>Hashtag ve Anahtar Kelime \u00dcretimi:<\/strong> \u0130\u00e7erikle ilgili en uygun 3-5 adet hashtag ve anahtar kelime \u00f6nermek.<\/li>\n<li><strong>Sosyal Medya G\u00f6nderisi Tasla\u011f\u0131:<\/strong> Twitter (k\u0131sa), LinkedIn (daha uzun ve profesyonel) gibi platformlara \u00f6zel g\u00f6nderi taslaklar\u0131 olu\u015fturmak.<\/li>\n<li><strong>G\u00f6rsel A\u00e7\u0131klamas\u0131 (Opsiyonel):<\/strong> E\u011fer varsa, yaz\u0131n\u0131n ana g\u00f6rseline uygun k\u0131sa bir a\u00e7\u0131klama veya g\u00f6rsel fikri \u00fcretmek.<\/li>\n<\/ul>\n<pre><code>\n            <pre><code>\n            # n8n Execute Python Code d\u00fc\u011f\u00fcm\u00fc i\u00e7inde (\u00f6nceki kodun devam\u0131)\n            import google.generativeai as genai\n            import os\n            import json\n\n            genai.configure(api_key=os.environ.get(\"GEMINI_API_KEY\"))\n            model = genai.GenerativeModel('gemini-pro')\n\n            article_data = n8n_data[0]['json']\n            clean_text = article_data['cleanArticleText']\n            article_title = article_data['articleTitle']\n            article_url = article_data['articleUrl']\n\n            # Gemini Prompts\n            summary_prompt = f\"\"\"A\u015fa\u011f\u0131daki makale metnini 3-4 c\u00fcmleyle \u00f6zetle.\n            Makale Ba\u015fl\u0131\u011f\u0131: {article_title}\n            Makale \u0130\u00e7eri\u011fi: {clean_text}\n            \u00d6zet:\"\"\"\n\n            hashtag_prompt = f\"\"\"A\u015fa\u011f\u0131daki makale metnine uygun, en alakal\u0131 5 adet hashtag (ba\u015f\u0131nda # i\u015faretiyle) ve 3 adet anahtar kelime \u00f6ner. Sadece listeyi d\u00f6nd\u00fcr.\n            Makale Ba\u015fl\u0131\u011f\u0131: {article_title}\n            Makale \u0130\u00e7eri\u011fi: {clean_text}\n            Sonu\u00e7:\"\"\"\n\n            twitter_post_prompt = f\"\"\"A\u015fa\u011f\u0131daki makale hakk\u0131nda, Twitter i\u00e7in uygun, 280 karakteri ge\u00e7meyen, ilgi \u00e7ekici ve hashtag i\u00e7eren bir g\u00f6nderi tasla\u011f\u0131 olu\u015ftur. Makale URL'sini de ekle: {article_url}\n            Makale Ba\u015fl\u0131\u011f\u0131: {article_title}\n            Makale \u0130\u00e7eri\u011fi: {clean_text}\n            Twitter G\u00f6nderisi:\"\"\"\n\n            linkedin_post_prompt = f\"\"\"A\u015fa\u011f\u0131daki makale hakk\u0131nda, LinkedIn i\u00e7in uygun, profesyonel, bilgilendirici ve hashtag i\u00e7eren bir g\u00f6nderi tasla\u011f\u0131 olu\u015ftur. Makale URL'sini de ekle: {article_url}\n            Makale Ba\u015fl\u0131\u011f\u0131: {article_title}\n            Makale \u0130\u00e7eri\u011fi: {clean_text}\n            LinkedIn G\u00f6nderisi:\"\"\"\n\n            try:\n                summary_response = model.generate_content(summary_prompt)\n                summary = summary_response.text.strip()\n\n                hashtag_response = model.generate_content(hashtag_prompt)\n                hashtags_keywords = hashtag_response.text.strip().split('\\n') # Sat\u0131r sat\u0131r ay\u0131r\n\n                twitter_post_response = model.generate_content(twitter_post_prompt)\n                twitter_post = twitter_post_response.text.strip()\n\n                linkedin_post_response = model.generate_content(linkedin_post_prompt)\n                linkedin_post = linkedin_post_response.text.strip()\n\n            except Exception as e:\n                summary = f\"\u00d6zetleme hatas\u0131: {e}\"\n                hashtags_keywords = [\"#Hata\"]\n                twitter_post = f\"Twitter g\u00f6nderisi hatas\u0131: {e}\"\n                linkedin_post = f\"LinkedIn g\u00f6nderisi hatas\u0131: {e}\"\n\n            return [{'json': {\n                'summary': summary,\n                'hashtagsKeywords': hashtags_keywords,\n                'twitterPost': twitter_post,\n                'linkedinPost': linkedin_post,\n                'originalArticleTitle': article_title,\n                'originalArticleUrl': article_url\n            }}]\n            <\/code><\/pre>\n<p>            <\/code>\n        <\/li>\n<li><strong>Sosyal Medya Platformlar\u0131na G\u00f6nderme veya Planlama (n8n Social Media D\u00fc\u011f\u00fcmleri)<\/strong>\n<p>Gemini AI'dan gelen haz\u0131r i\u00e7eriklerle son ad\u0131ma ge\u00e7eriz. n8n'in bir\u00e7ok sosyal medya entegrasyonu bulunmaktad\u0131r:<\/p>\n<ul>\n<li><strong>Twitter D\u00fc\u011f\u00fcm\u00fc:<\/strong> Olu\u015fturulan Twitter g\u00f6nderisini otomatik olarak yay\u0131nlayabilir.<\/li>\n<li><strong>LinkedIn D\u00fc\u011f\u00fcm\u00fc:<\/strong> Olu\u015fturulan LinkedIn g\u00f6nderisini otomatik olarak yay\u0131nlayabilir veya taslak olarak kaydedebilir.<\/li>\n<li><strong>Buffer\/Hootsuite D\u00fc\u011f\u00fcm\u00fc:<\/strong> Bu t\u00fcr platformlara entegre ederek g\u00f6nderileri istedi\u011finiz zaman diliminde planlayabilirsiniz.<\/li>\n<li><strong>Google Sheets D\u00fc\u011f\u00fcm\u00fc:<\/strong> T\u00fcm bu haz\u0131r g\u00f6nderileri, ileride manuel olarak yay\u0131nlamak veya d\u00fczenlemek \u00fczere bir takvime kaydetmek i\u00e7in kullanabilirsiniz.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu otomasyon, i\u00e7erik pazarlama ekibinizin y\u00fck\u00fcn\u00fc hafifleterek onlara daha stratejik ve yarat\u0131c\u0131 g\u00f6revlere odaklanma imkan\u0131 sunar. S\u00fcrekli olarak taze ve alakal\u0131 i\u00e7erik ak\u0131\u015f\u0131 sa\u011flayarak sosyal medya varl\u0131\u011f\u0131n\u0131z\u0131 g\u00fc\u00e7lendirirken, insan kaynaklar\u0131n\u0131 daha verimli kullan\u0131rs\u0131n\u0131z. Yapay zeka destekli i\u00e7erik \u00fcretimi, \u00f6l\u00e7eklenebilir bir pazarlama stratejisinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir.<\/p>\n<h2>\u0130leri D\u00fczey \u0130pu\u00e7lar\u0131 ve Performans Optimizasyonu<\/h2>\n<p>n8n, Python ve Gemini AI ile temel otomasyon i\u015f ak\u0131\u015flar\u0131 olu\u015fturmak harika bir ba\u015flang\u0131\u00e7t\u0131r, ancak bu ara\u00e7lar\u0131n potansiyelini tam olarak kullanmak i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve performans optimizasyon teknikleri bilmek faydal\u0131d\u0131r. Otomasyonlar\u0131n\u0131z\u0131n daha sa\u011flam, verimli ve \u00f6l\u00e7eklenebilir olmas\u0131n\u0131 sa\u011flayacak bu bilgiler, deneyimli kullan\u0131c\u0131lar i\u00e7in rehber niteli\u011findedir.<\/p>\n<div class=\"expert-tip\" style=\"background-color: #e0f2f7; border-left: 5px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n        Uzman \u0130pucu: Otomasyonlar\u0131n\u0131z\u0131 tasarlarken, gelecekteki de\u011fi\u015fiklikleri ve geni\u015flemeyi g\u00f6z \u00f6n\u00fcnde bulundurarak mod\u00fcler bir yap\u0131 kurun. Her ad\u0131m\u0131 ayr\u0131 bir i\u015flev olarak d\u00fc\u015f\u00fcn\u00fcn ve yeniden kullan\u0131labilirli\u011fi art\u0131r\u0131n. Bu, hata ay\u0131klamay\u0131 ve bak\u0131m\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r.\n    <\/div>\n<h3>n8n'de Performans \u0130\u00e7in En \u0130yi Uygulamalar<\/h3>\n<ul>\n<li><strong>Bulk \u0130\u015flemler ve Toplu \u0130\u015fleme:<\/strong> Bir\u00e7ok \u00f6\u011feyi ayn\u0131 anda i\u015fliyorsan\u0131z, n8n'in baz\u0131 d\u00fc\u011f\u00fcmleri (\u00f6rne\u011fin, \"HTTP Request\", \"Spreadsheet File\") toplu i\u015flem yeteneklerine sahiptir. M\u00fcmk\u00fcn oldu\u011funca bu toplu i\u015flem \u00f6zelliklerini kullanarak API \u00e7a\u011fr\u0131s\u0131 say\u0131s\u0131n\u0131 azalt\u0131n ve i\u015f ak\u0131\u015f\u0131n\u0131z\u0131n h\u0131z\u0131n\u0131 art\u0131r\u0131n. Tek tek \u00f6\u011feleri d\u00f6ng\u00fcde i\u015flemek yerine, tek bir \u00e7a\u011fr\u0131da birden fazla \u00f6\u011fe g\u00f6nderip almay\u0131 deneyin.<\/li>\n<li><strong>D\u00f6n\u00fc\u015f\u00fcm ve Filtreleme:<\/strong> Veriyi m\u00fcmk\u00fcn oldu\u011funca erken bir a\u015famada filtreleyin ve sadece ihtiyac\u0131n\u0131z olan\u0131 sonraki d\u00fc\u011f\u00fcmlere iletin. \"Item Lists\", \"Filter\" ve \"Merge\" gibi d\u00fc\u011f\u00fcmler, veri setlerini verimli bir \u015fekilde y\u00f6netmenize yard\u0131mc\u0131 olur.<\/li>\n<li><strong>Kaynak Y\u00f6netimi:<\/strong> Kendi sunucunuzda n8n \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, sunucunun CPU, RAM ve disk kaynaklar\u0131n\u0131 izleyin. Yo\u011fun i\u015f ak\u0131\u015flar\u0131 i\u00e7in daha g\u00fc\u00e7l\u00fc bir sunucuya ihtiya\u00e7 duyabilirsiniz. Kapsay\u0131c\u0131l\u0131 ortamlarda (Docker gibi) kaynak s\u0131n\u0131rlar\u0131n\u0131 do\u011fru ayarlay\u0131n.<\/li>\n<\/ul>\n<h3>Python Kodunuzu Verimli Hale Getirmek<\/h3>\n<ul>\n<li><strong>Asenkron \u0130\u015flemler:<\/strong> \u00d6zellikle uzun s\u00fcren API \u00e7a\u011fr\u0131lar\u0131 veya a\u011f i\u015flemleri yap\u0131yorsan\u0131z, Python'\u0131n <code class=\"language-python\">asyncio<\/code> k\u00fct\u00fcphanesini kullanarak asenkron kod yazmay\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu, ayn\u0131 anda birden fazla Gemini AI \u00e7a\u011fr\u0131s\u0131 yapman\u0131za veya di\u011fer i\u015flemleri beklerken engellemeyen kodlar \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. n8n'in \"Execute Python Code\" d\u00fc\u011f\u00fcm\u00fcnde de asenkron i\u015flemleri y\u00f6netebilirsiniz, ancak daha karma\u015f\u0131k senaryolarda ayr\u0131 bir Python servisi \u00e7al\u0131\u015ft\u0131rmak daha uygun olabilir.<\/li>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Python betikleriniz i\u00e7in <code class=\"language-text\">requirements.txt<\/code> dosyalar\u0131n\u0131 kullanarak ba\u011f\u0131ml\u0131l\u0131klar\u0131 a\u00e7\u0131k\u00e7a belirtin. n8n ortam\u0131n\u0131zda bu ba\u011f\u0131ml\u0131l\u0131klar\u0131n y\u00fckl\u00fc oldu\u011fundan emin olun (<code class=\"language-bash\">pip install -r requirements.txt<\/code>). Gereksiz k\u00fct\u00fcphanelerden ka\u00e7\u0131n\u0131n.<\/li>\n<li><strong>Hata Yakalama ve G\u00fcnl\u00fckleme:<\/strong> Python kodunuzda <code class=\"language-python\">try-except<\/code> bloklar\u0131 kullanarak olas\u0131 hatalar\u0131 yakalay\u0131n ve bunlar\u0131 anla\u015f\u0131l\u0131r hata mesajlar\u0131yla n8n'e geri d\u00f6nd\u00fcr\u00fcn. Ayr\u0131ca, sorun giderme i\u00e7in Python'\u0131n <code class=\"language-python\">logging<\/code> mod\u00fcl\u00fcn\u00fc kullanarak \u00f6nemli olaylar\u0131 veya hatalar\u0131 kaydedin.<\/li>\n<\/ul>\n<pre><code>\n    <pre><code>\n    import logging\n\n    logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n\n    def risky_operation():\n        try:\n            # Hata olu\u015fturabilecek bir i\u015flem\n            result = 10 \/ 0\n            logging.info(\"\u0130\u015flem ba\u015far\u0131yla tamamland\u0131.\")\n            return result\n        except ZeroDivisionError as e:\n            logging.error(f\"S\u0131f\u0131ra b\u00f6lme hatas\u0131 olu\u015ftu: {e}\")\n            raise # Hatay\u0131 n8n'e ilet\n        except Exception as e:\n            logging.critical(f\"Beklenmedik bir hata olu\u015ftu: {e}\")\n            raise\n    <\/code><\/pre>\n<p>    <\/code><\/p>\n<h3>Gemini AI Kullan\u0131m\u0131nda Verimlilik<\/h3>\n<ul>\n<li><strong>Prompt M\u00fchendisli\u011fi:<\/strong> Gemini AI'dan en iyi yan\u0131tlar\u0131 almak i\u00e7in a\u00e7\u0131k, net ve hedefe y\u00f6nelik komut istemleri (prompt'lar) yazmak \u00e7ok \u00f6nemlidir. \u0130yi bir prompt, gereksiz token t\u00fcketimini azalt\u0131r ve daha do\u011fru sonu\u00e7lar sa\u011flar. Denemeler yaparak en uygun prompt format\u0131n\u0131 bulun.<\/li>\n<li><strong>Maliyet ve Kota Y\u00f6netimi:<\/strong> Gemini AI'\u0131n kullan\u0131m kotas\u0131n\u0131 ve maliyetlerini takip edin. B\u00fcy\u00fck \u00f6l\u00e7ekli otomasyonlarda, token t\u00fcketimi \u00f6nemli maliyetlere yol a\u00e7abilir. Sadece gerekli bilgileri AI'a g\u00f6ndererek ve yan\u0131tlar\u0131 \u00f6zetleyerek maliyetleri optimize edin. Google Cloud Platform'dan kullan\u0131m metriklerini izleyebilirsiniz.<\/li>\n<li><strong>Model Se\u00e7imi:<\/strong> Gemini'\u0131n farkl\u0131 modelleri farkl\u0131 yeteneklere ve maliyetlere sahiptir. \u00d6rne\u011fin, <code class=\"language-text\">gemini-pro<\/code> genellikle metin i\u015fleme i\u00e7in yeterliyken, <code class=\"language-text\">gemini-pro-vision<\/code> g\u00f6rsel i\u015fleme i\u00e7in tasarlanm\u0131\u015ft\u0131r. \u0130htiyac\u0131n\u0131za en uygun modeli se\u00e7erek performans\u0131 ve maliyeti dengeleyin.<\/li>\n<\/ul>\n<h3>G\u00fcvenlik ve Hata Y\u00f6netimi<\/h3>\n<ul>\n<li><strong>API Anahtar\u0131 G\u00fcvenli\u011fi:<\/strong> Daha \u00f6nce belirtildi\u011fi gibi, API anahtarlar\u0131n\u0131z\u0131 do\u011frudan koda g\u00f6mmeyin. n8n Credentials veya ortam de\u011fi\u015fkenleri arac\u0131l\u0131\u011f\u0131yla y\u00f6netin.<\/li>\n<li><strong>Hata Ak\u0131\u015flar\u0131 (Error Workflows):<\/strong> n8n'in \"Error Workflow\" \u00f6zelli\u011fini kullanarak ana i\u015f ak\u0131\u015f\u0131n\u0131zda bir hata olu\u015ftu\u011funda otomatik olarak bildirim g\u00f6nderin (\u00f6rn. Slack'e, e-postaya) veya alternatif bir i\u015flem ba\u015flat\u0131n. Bu, otomasyonlar\u0131n\u0131z\u0131n daha diren\u00e7li olmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Mobil Uyumlu Tasar\u0131m:<\/strong> E\u011fer n8n ile olu\u015fturdu\u011funuz web tabanl\u0131 aray\u00fczler veya bildirimler mobil cihazlarda g\u00f6r\u00fcnt\u00fclenecekse, temel mobil uyumluluk prensiplerine dikkat edin. \u00d6rne\u011fin, HTML \u00e7\u0131kt\u0131lar\u0131nda <code class=\"language-html\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><\/code> etiketini kullan\u0131n ve esnek grid sistemleri veya media query'ler (n8n'in kendisi i\u00e7in de\u011fil, \u00fcretti\u011finiz \u00e7\u0131kt\u0131lar i\u00e7in) ile i\u00e7eri\u011fin farkl\u0131 ekran boyutlar\u0131na uyum sa\u011flamas\u0131n\u0131 sa\u011flay\u0131n.\n<pre><code>\n            <pre><code>\n            \/* \u00d6rnek bir CSS media query *\/\n            @media (max-width: 768px) {\n                .container {\n                    padding: 10px;\n                }\n                .card {\n                    width: 100%;\n                }\n            }\n            <\/code><\/pre>\n<p>            <\/code><br \/>\n            Bu, n8n'in kendi aray\u00fcz\u00fc i\u00e7in de\u011fil, n8n ile \u00fcretti\u011finiz HTML e-posta \u015fablonlar\u0131 veya web bildirimleri gibi \u00e7\u0131kt\u0131lar i\u00e7in ge\u00e7erlidir.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalarla, n8n, Python ve Gemini AI ile olu\u015fturdu\u011funuz otomasyonlar\u0131 daha sa\u011flam, daha h\u0131zl\u0131 ve daha ak\u0131ll\u0131 hale getirebilirsiniz. Unutmay\u0131n, otomasyon s\u00fcrekli bir \u00f6\u011frenme ve iyile\u015ftirme s\u00fcrecidir.<\/p>\n<h2>Sonu\u00e7: Ak\u0131ll\u0131 Otomasyonla Daha Fazla De\u011fer Yarat\u0131n<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital ortam\u0131nda, verimlilik ve uyarlanabilirlik hi\u00e7 bu kadar kritik olmam\u0131\u015ft\u0131. Bu makale boyunca, n8n'in g\u00f6rsel i\u015f ak\u0131\u015f\u0131 otomasyon yeteneklerini, Python'\u0131n programlama g\u00fcc\u00fcn\u00fc ve Gemini AI'\u0131n ak\u0131ll\u0131 karar alma kapasitesini bir araya getirerek g\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 nas\u0131l d\u00f6n\u00fc\u015ft\u00fcrebilece\u011finizi detayl\u0131 bir \u015fekilde inceledik. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, bu g\u00fc\u00e7l\u00fc \u00fc\u00e7l\u00fc sadece tekrarlayan g\u00f6revleri ortadan kald\u0131rmakla kalm\u0131yor, ayn\u0131 zamanda i\u015f s\u00fcre\u00e7lerinize zeka kat\u0131yor ve daha \u00f6nce m\u00fcmk\u00fcn olmayan otomasyon senaryolar\u0131n\u0131n kap\u0131lar\u0131n\u0131 aral\u0131yor.<\/p>\n<p>\u0130ster e-posta y\u00f6netimi gibi temel ofis g\u00f6revlerini otomatikle\u015ftirmek isteyin, ister sosyal medya i\u00e7erik \u00fcretimi gibi karma\u015f\u0131k pazarlama stratejilerini g\u00fc\u00e7lendirin, n8n, Python ve Gemini AI size bu g\u00fcc\u00fc sa\u011fl\u0131yor. Bu sayede, manuel i\u015flemlere harcad\u0131\u011f\u0131n\u0131z zaman\u0131 geri kazanabilir, daha stratejik d\u00fc\u015f\u00fcnmeye odaklanabilir ve i\u015finize veya ki\u015fisel projelerinize ger\u00e7ekten de\u011fer katacak alanlara enerjinizi y\u00f6nlendirebilirsiniz. Otomasyon, sadece i\u015fleri daha h\u0131zl\u0131 yapmakla ilgili de\u011fildir; ayn\u0131 zamanda i\u015fleri daha ak\u0131ll\u0131ca yapmakla ve gelece\u011fin i\u015f modellerine uyum sa\u011flamakla ilgilidir. Bu ara\u00e7larla donanarak, dijital d\u00fcnyada rekabet avantaj\u0131 elde edebilir ve s\u00fcrekli de\u011fi\u015fen ihtiya\u00e7lara h\u0131zla yan\u0131t verebilirsiniz.<\/p>\n<p>Unutmay\u0131n, otomasyon bir yolculuktur ve bu yolculukta s\u00fcrekli yeni \u015feyler \u00f6\u011frenecek, yeni entegrasyonlar ke\u015ffedecek ve i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 daha da m\u00fckemmelle\u015ftireceksiniz. n8n'in esnek yap\u0131s\u0131, Python'\u0131n s\u0131n\u0131rs\u0131z yetenekleri ve Gemini AI'\u0131n geli\u015fen zekas\u0131 ile bu yolculukta yan\u0131n\u0131zda g\u00fc\u00e7l\u00fc m\u00fcttefikleriniz var. \u015eimdi s\u0131ra sizde! Kendi otomasyon maceralar\u0131n\u0131za at\u0131l\u0131n ve dijital ya\u015fam\u0131n\u0131z\u0131 nas\u0131l optimize edebilece\u011finizi ke\u015ffedin. \u0130nan\u0131n, sonu\u00e7lar sizi \u015fa\u015f\u0131rtacak.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<ul>\n<li>\n            <strong>S1: Bu ara\u00e7lar\u0131 kullanmak i\u00e7in programlama bilgisi \u015fart m\u0131?<\/strong><\/p>\n<p><strong>C1:<\/strong> n8n, temel i\u015f ak\u0131\u015flar\u0131 i\u00e7in \"no-code\" veya \"low-code\" bir deneyim sunar, bu da programlama bilgisi olmadan da ba\u015flayabilece\u011finiz anlam\u0131na gelir. Ancak, Python'\u0131 i\u015f ak\u0131\u015flar\u0131n\u0131za entegre etmek istiyorsan\u0131z, temel Python bilgisi \u00e7ok faydal\u0131 olacakt\u0131r. Gemini AI API'\u0131 ile etkile\u015fim kurmak i\u00e7in de Python bilgisi gereklidir. \u00d6zetle, ba\u015flang\u0131\u00e7 i\u00e7in \u015fart de\u011fil ama daha ileri d\u00fczey ve \u00f6zelle\u015ftirilmi\u015f otomasyonlar i\u00e7in kesinlikle \u00f6nerilir.<\/p>\n<\/li>\n<li>\n            <strong>S2: Gemini AI'\u0131n maliyeti ne kadar ve nas\u0131l y\u00f6netilir?<\/strong><\/p>\n<p><strong>C2:<\/strong> Gemini AI, genellikle token bazl\u0131 bir fiyatland\u0131rma modeline sahiptir. Yani, API'a g\u00f6nderdi\u011finiz veya API'dan ald\u0131\u011f\u0131n\u0131z veri miktar\u0131na g\u00f6re \u00fccretlendirilirsiniz. Google genellikle c\u00f6mert bir \u00fccretsiz kullan\u0131m katman\u0131 sunar ancak b\u00fcy\u00fck \u00f6l\u00e7ekli kullan\u0131mlarda maliyetler olu\u015fabilir. Maliyeti y\u00f6netmek i\u00e7in Google Cloud Platform konsolundan kullan\u0131m\u0131n\u0131z\u0131 takip edebilir, prompt'lar\u0131n\u0131z\u0131 optimize ederek token t\u00fcketimini azaltabilir ve sadece gerekli durumlarda API \u00e7a\u011fr\u0131s\u0131 yapabilirsiniz.<\/p>\n<\/li>\n<li>\n            <strong>S3: n8n'i kendi sunucumda m\u0131 yoksa bulut hizmeti olarak m\u0131 \u00e7al\u0131\u015ft\u0131rmal\u0131y\u0131m?<\/strong><\/p>\n<p><strong>C3:<\/strong> n8n'i kendi sunucunuzda (\u00f6rn. Docker ile bir VPS \u00fczerinde) \u00e7al\u0131\u015ft\u0131rmak, verileriniz \u00fczerinde tam kontrol sahibi olman\u0131z\u0131 ve maliyetleri d\u00fc\u015f\u00fcrmenizi sa\u011flar, ancak kurulum ve bak\u0131m sorumlulu\u011fu size aittir. n8n ayr\u0131ca bir bulut hizmeti (n8n Cloud) de sunar. Bu se\u00e7enek, kurulum ve bak\u0131mla u\u011fra\u015fmak istemeyenler i\u00e7in kolayl\u0131k sa\u011flar ancak genellikle daha y\u00fcksek maliyetli olabilir. Se\u00e7iminiz, teknik bilginize, b\u00fct\u00e7enize ve veri gizlili\u011fi gereksinimlerinize ba\u011fl\u0131d\u0131r.<\/p>\n<\/li>\n<li>\n            <strong>S4: Python kodu yazmak yerine ba\u015fka bir dil kullanabilir miyim?<\/strong><\/p>\n<p><strong>C4:<\/strong> n8n'in \"Execute Command\" d\u00fc\u011f\u00fcm\u00fc arac\u0131l\u0131\u011f\u0131yla farkl\u0131 dillerde yaz\u0131lm\u0131\u015f betikleri \u00e7al\u0131\u015ft\u0131rabilirsiniz (\u00f6rne\u011fin Node.js, Ruby, Go). Ancak, n8n'in \"Execute Code\" d\u00fc\u011f\u00fcm\u00fc varsay\u0131lan olarak JavaScript ve Python'\u0131 destekler. Python, geni\u015f k\u00fct\u00fcphane deste\u011fi ve yapay zeka entegrasyonlar\u0131 i\u00e7in sundu\u011fu kolayl\u0131klar nedeniyle otomasyon d\u00fcnyas\u0131nda en \u00e7ok tercih edilen dillerden biridir ve Gemini API i\u00e7in de resmi k\u00fct\u00fcphaneler sunar. Bu nedenle Python, bu t\u00fcr entegrasyonlar i\u00e7in en pratik ve verimli se\u00e7eneklerden biridir.<\/p>\n<\/li>\n<li>\n            <strong>S5: Bu sistemlerin g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 nas\u0131l \u00f6nlem alabilirim?<\/strong><\/p>\n<p><strong>C5:<\/strong> G\u00fcvenlik \u00f6nlemleri \u00e7ok \u00f6nemlidir. API anahtarlar\u0131n\u0131z\u0131 ve hassas bilgilerinizi asla do\u011frudan kod i\u00e7ine yazmay\u0131n; bunun yerine n8n'in Credentials \u00f6zelli\u011fini veya ortam de\u011fi\u015fkenlerini kullan\u0131n. n8n sunucunuzu g\u00fcncel tutun ve g\u00fc\u00e7l\u00fc parolalar kullan\u0131n. Eri\u015fim kontrol\u00fcn\u00fc s\u0131n\u0131rlay\u0131n ve sadece yetkili ki\u015filerin i\u015f ak\u0131\u015flar\u0131n\u0131za eri\u015fmesini sa\u011flay\u0131n. Python kodunuzda girdi do\u011frulama ve hata i\u015fleme mekanizmalar\u0131 kullanarak potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 azalt\u0131n. Ayr\u0131ca, kulland\u0131\u011f\u0131n\u0131z t\u00fcm \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanelerin ve entegrasyonlar\u0131n g\u00fcvenilir oldu\u011fundan emin olun.<\/p>\n<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI&#8217;\u0131n&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1403],"tags":[],"class_list":{"0":"post-35524","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin<\/title>\n<meta name=\"description\" content=\"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI&#039;\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin\" \/>\n<meta property=\"og:description\" content=\"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI&#039;\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-30T15:01:13+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin\",\"datePublished\":\"2025-11-30T15:01:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\"},\"wordCount\":4875,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\",\"name\":\"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-30T15:01:13+00:00\",\"description\":\"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI'\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin","description":"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI'\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/","og_locale":"tr_TR","og_type":"article","og_title":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin","og_description":"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI'\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!","og_url":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-30T15:01:13+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin","datePublished":"2025-11-30T15:01:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/"},"wordCount":4875,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/","url":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/","name":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-30T15:01:13+00:00","description":"G\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 h\u0131zland\u0131rmak ve tekrarlayan g\u00f6revlerden kurtulmak m\u0131 istiyorsunuz? Bu kapsaml\u0131 rehberde n8n, Python ve Gemini AI'\u0131n g\u00fc\u00e7l\u00fc kombinasyonuyla otomasyonun kap\u0131lar\u0131n\u0131 aralay\u0131n. Verimlili\u011finizi art\u0131r\u0131n!","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/n8n-python-ve-gemini-ai-ile-gunluk-akislarinizi-otomatiklestirin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"n8n, Python ve Gemini AI ile G\u00fcnl\u00fck Ak\u0131\u015flar\u0131n\u0131z\u0131 Otomatikle\u015ftirin"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35524"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35524\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}