Sosyal Medya İçeriğini n8n ve AI ile Otomatik Üret ve Planla

AgentRoost · May 2, 2026 · 5 dk okuma · Markdown olarak görüntüle
AgentRoost — n8n for Business

Her pazartesi sabahı aynı döngü: haftanın içerik planı boş, LinkedIn için bir şey yaz, Twitter'a uyarla, Instagram'a uyarla, Buffer'a gir, zamanla. Yarım gün gitti, asıl iş henüz başlamadı.

Bu yazıda bu döngüyü kıran bir n8n akışı kuracağız. Tek girdi: bir konu cümlesi. Çıktı: üç platforma özel, hazır metinler — otomatik olarak zamanlanmış ve kuyruğa sokulmuş.

Akışın Mantığı

Önce ne inşa edeceğimizi netleştirelim:

  1. Tetikleyici — bir form, webhook veya zamanlama (haftalık konu listesi)
  2. AI düğümü — konu cümlesini alıp her platform için ayrı metin üretir
  3. Veri ayrıştırma — yanıtı LinkedIn / Twitter / Instagram dilimlerine böler
  4. Planlama — her metni doğru zaman dilimine (Salı LinkedIn, Çarşamba Twitter…) gönderir
  5. Yayın ya da kuyruk — Buffer, Hootsuite veya doğrudan platform API'si

Adım Adım Akış Kurulumu

1. Tetikleyici Seç

İki seçenek var:

Webhook tetikleyici — bir Google Form veya Notion veritabanındaki yeni satır, n8n'e HTTP POST ile konu gönderir. Düğüm: Webhook. Yol: /content-request. Method: POST. Body'den topic alanını al.

Schedule Trigger — her pazartesi saat 08:00'de çalışır, bir Google Sheet'ten o haftanın konu listesini çeker.

Düğüm: Schedule Trigger
Cron expression: 0 8 * * 1   (her pazartesi 08:00)

Ardından HTTP Request düğümüyle Google Sheets API'sini veya Airtable'ı çağırıp konu listesini alırsın. Gelen listeyi SplitInBatches ile tekli konulara böl; her konu ayrı bir dal olarak işlenir.


2. AI Düğümüyle Platform Metinleri Üret

Bu adım işin kalbi. n8n'in yerleşik AI / LLM düğümü (resmi adıyla @n8n/n8n-nodes-langchain.lmOpenAi veya Basic LLM Chain) bir sistem + kullanıcı prompt'u alır ve yanıt döner.

Sistem prompt'u:

Sen bir sosyal medya metin yazarısın.
Sana bir konu verilecek. Üç farklı metin yaz:
1. LinkedIn: profesyonel, 150-200 kelime, bir eylem çağrısıyla bitir.
2. Twitter/X: 240 karakteri geçme, doğrudan ve dikkat çekici.
3. Instagram: sıcak bir ton, 3-5 emoji, caption + 5 hashtag.

Yanıtı SADECE şu JSON formatında ver:
{
  "linkedin": "...",
  "twitter": "...",
  "instagram": "..."
}

Kullanıcı prompt'u (n8n expression):

Konu: {{ $json.topic }}

Düğüm ayarları:

  • Model: gpt-4o-mini veya tercih ettiğin herhangi bir model (AgentRoost'ta 350'den fazla model arasından dilediğini seçebilirsin)
  • Temperature: 0.7 — yaratıcı ama tutarlı
  • Max tokens: 800

Not: AgentRoost üzerinde çalışan kendi n8n örneğinde bu düğümü açtığında bir API anahtarı kutusu görmezsin. AI kredileri zaten aboneliğe dahil; doğrudan modeli seç ve çalıştır.


3. JSON Yanıtını Ayrıştır

LLM düğümünün çıktısı genellikle düz metin veya choices[0].message.content alanında JSON dizesi olarak gelir. Bunu ayrıştırmak için bir Code düğümü (JavaScript) kullan:

const raw = $input.item.json.text ?? $input.item.json.choices?.[0]?.message?.content;
const parsed = JSON.parse(raw);
return [{
  json: {
    linkedin: parsed.linkedin,
    twitter: parsed.twitter,
    instagram: parsed.instagram,
    topic: $input.item.json.topic,
    generatedAt: new Date().toISOString()
  }
}];

Hata durumu için try/catch ekle ve parse başarısızsa bir Slack/Telegram bildirim düğümü tetikle.


4. Metinleri Platforma Göre Planla

Artık üç ayrı metin var. Bunları farklı günlere dağıtmak için IF veya Switch düğümü kullanabilirsin, ama en temiz yol: her platform için ayrı bir dal açıp doğrudan oraya yönlendirmek.

Örnek: Buffer kuyruğu

HTTP Request düğümüyle Buffer API'sini çağır:

Method: POST
URL: https://api.bufferapp.com/1/updates/create.json
Body (form-data):
  profile_ids[]: <senin_linkedin_profile_id>
  text: {{ $json.linkedin }}
  scheduled_at: {{ $json.scheduledTime }}
  access_token: <buffer_token>

Twitter ve Instagram için aynı yapıyı tekrar et, sadece profile_ids ve text alanını değiştir.

Otomatik zamanlama hesabı:

Konu pazartesi işleniyorsa LinkedIn Salı, Twitter Çarşamba, Instagram Perşembe gitsin. Bunu Code düğümüyle:

const base = new Date(); // pazartesi
base.setDate(base.getDate() + 1); // Salı → LinkedIn
const li = base.toISOString();
base.setDate(base.getDate() + 1); // Çarşamba → Twitter
const tw = base.toISOString();
base.setDate(base.getDate() + 1); // Perşembe → Instagram
const ig = base.toISOString();
return [{ json: { ...($input.item.json), liTime: li, twTime: tw, igTime: ig } }];

5. Hata Bildirimi Kur

Üretim akışlarında hata izleme şart. Error Trigger düğümünü akışın başına ekle, herhangi bir düğüm başarısız olunca sana Telegram veya e-posta göndersin:

Düğüm: Telegram
Chat ID: {{ $env.TELEGRAM_CHAT_ID }}
Text: "İçerik akışı hata: {{ $json.error.message }} — konu: {{ $json.topic }}"

Ekstra: Onay Adımı Ekle (İsteğe Bağlı)

Metinlerin yayına gitmeden önce gözden geçirilmesini istiyorsan, n8n'in Wait düğümünü ve Webhook Resume özelliğini kullanabilirsin. Akış metni ürettikten sonra sana Telegram üzerinden gönderir, "Onayla" butonuna basarsan akış devam eder.

Bu özellik n8n'in nispeten az bilinen güçlü yanlarından biri; tam anlamıyla insan-döngüde (human-in-the-loop) otomasyon.


Bu Akışı AgentRoost'ta Çalıştır

Yukarıdaki her şeyi kendi bilgisayarında kurmak istersen: Docker, port açma, SSL sertifikası, cron yönetimi, API anahtarı kasası... en az bir iş günü.

AgentRoost'ta aynı akış şöyle kurulur:

  1. AgentRoost'a kaydol — e-posta, Google veya Microsoft ile.
  2. Framework seç: n8n.
  3. Örneğine bir isim ver — editörün adresi anında oluşur: https://<senin-id>.agentroost.app.
  4. n8n editörünü aç, yukarıdaki düğümleri sürükle-bırak ile ekle.
  5. AI / LLM düğümüne geldiğinde API anahtarı girmene gerek yok — AI kredileri zaten aboneliğe dahil. Modeli seç, kaydet, çalıştır.

Webhook'un için halihazırda bir public HTTPS URL'in var. Cron'un çalışması için sunucunun açık olması gerekmiyor mu? Gerekiyor — ama AgentRoost'ta örneğin 7/24 ayakta, bunu sen yönetmiyorsun.

Fiyat $19.99/ay (tümü dahil: sunucu + AI kredileri + kurulum). 14 gün para iade garantisi var, istediğin zaman iptal edebilirsin.

Planları karşılaştır · n8n detaylarına bak


Sık Yapılan Hatalar

  • LLM'ye düz metin formatı isteme: Yanıtı ayrıştırmak zorlaşır. Her zaman JSON formatı iste ve bunu sistem prompt'unda net olarak belirt.
  • Buffer/Hootsuite token'larını workflow içine gömmek: n8n'in yerleşik Credentials yöneticisini kullan; token'lar şifreli saklanır ve {{ $credentials.buffer.accessToken }} ile referans edilir.
  • Tek büyük AI çağrısı: Beş platform için tek prompt yerine, her platform için ayrı bir optimizasyon döngüsü kur. Kalite farkı belirgin olur.
  • Zamanlama hesabını sabit kodlamak: Tatil günlerini ve saat dilimlerini hesaba katmayan sabit tarihler, yayın takvimini bozar. luxon veya n8n'in DateTime ifadelerini kullan.

Sıkça sorulan sorular

n8n'de AI düğümünü kullanmak için kendi OpenAI anahtarımı girmem gerekiyor mu?

AgentRoost üzerinde çalışan kendi n8n örneğinde hayır. AI/LLM kredileri aboneliğe dahil olduğu için herhangi bir API anahtarı girmen gerekmiyor. Kendi anahtarını kullanmak istersen bunu da yapabilirsin, ama zorunlu değil.

Bu akış hangi sosyal medya platformlarını destekler?

n8n'in HTTP Request düğümü üzerinden REST API'si olan her platformu destekler: LinkedIn, Twitter/X, Instagram (Meta Graph API), Facebook, Pinterest... Buffer veya Hootsuite kullanıyorsan tek bir API çağrısıyla birden fazla platforma yayın yapabilirsin.

Akışı çalıştırdıktan sonra istediğim zaman iptal edebilir miyim?

Evet. AgentRoost abonelikleri aylık döngülüdür, yıllık taahhüt yoktur. İstediğin anda panelden iptal edebilirsin. İlk 14 gün içinde iptal edersen ücret iade edilir.

AI ile üretilen metinler gerçekten platforma özel mi, yoksa aynı metin mi kopyalanıyor?

Sistem prompt'unu doğru yazdığında her platform için farklı ton ve uzunlukta metin üretilir: LinkedIn'de uzun ve profesyonel, Twitter'da sıkıştırılmış ve doğrudan, Instagram'da sıcak ve emoji içerikli. Prompt kalitesi çıktı kalitesini doğrudan belirler.

n8n akışımı ve verilerimi dışa aktarabilir miyim?

Evet. n8n, tüm iş akışlarını JSON olarak dışa aktarır. AgentRoost'taki örnek tamamen sana ait; istediğin zaman tüm workflow'larını .json dosyası olarak indirebilirsin. Veriler de tamamen sana aittir.