---
title: "Sosyal Medya İçeriğini n8n ve AI ile Otomatik Üret ve Planla"
description: "Tek konu girdisinden LinkedIn, Twitter ve Instagram metinleri üretip planlayan n8n akışı. AI kredisi dahil, DevOps yok — AgentRoost'ta 2 dakikada çalışır."
canonical: https://agentroost.app/tr/blog/sosyal-medya-icerik-otomasyon-n8n
date: 2026-05-02T20:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/sosyal-medya-icerik-otomasyon-n8n)

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:

```javascript
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:

```javascript
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](/tr/pricing) — 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](/tr/pricing) · [n8n detaylarına bak](/tr/agents/n8n)

---

## 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.
