WhatsApp AI Chatbot Yapımı: n8n + Evolution API Rehberi (2026)

2 Nisan 202612 dkOtomasyon

Ücretsiz Kaynaklar

Bu yazıya ait dosyaları indirin

Aylar önce n8n üzerinde bir WhatsApp AI chatbot yapmıştık ve gayet iyi geri dönüşler almıştık. Ancak yorumlarda birçok arkadaş da sorun yaşadığını belirtti. Ben de tüm bu yorumları toplayarak bir WhatsApp AI Chatbot V2 sistemi oluşturdum. V1'i izleyenler kesinlikle V2'ye yükseltmeli; V1'i izlemeyenler ise direkt bu rehberden başlayabilir.

Bu yazıda, videodaki tüm kurulum adımlarını detaylı bir şekilde bulacaksınız. Ayrıca yazının yanındaki indirilebilir dosyalar bölümünden workflow dosyalarını ve Docker Compose yapılandırmasını ücretsiz olarak indirebilirsiniz.

İçindekiler

3 Workflow ile Tam Donanımlı Sistem

V2 sisteminde 3 ayrı n8n workflow'u kullanıyoruz. Her biri farklı bir görevi üstleniyor:

  1. Chatbot Sistemi (Ana Workflow): Gelen mesajları alıp AI agent ile yanıt üreten ana beyin. Metin, görsel ve sesli mesajları işleyebiliyor.

  2. Data Aktarımı: Bilgi bankası dosyalarınızı (menü, SSS, şirket bilgileri gibi) Qdrant vektör veritabanına aktaran workflow.

  3. Reset Sessions: Duraklatılmış oturumları belirli süre sonra otomatik olarak tekrar aktif eden workflow.

Bu üç workflow dosyasını yazının yanındaki dosya indirme bölümünden ücretsiz olarak indirebilirsiniz.

Canlı Test: Metin, Görsel ve Sesli Mesaj

Kuruluma geçmeden önce V2'nin yeteneklerini görelim. Sistemde iki WhatsApp kullanıyoruz: biri iş WhatsApp'ı (bota bağlı), diğeri kişisel WhatsApp (test için).

Metin Testi

Kişisel WhatsApp'tan iş WhatsApp'ına "selam" yazdığımızda bot otomatik olarak yanıt veriyor. "Menüde neler var?" diye sorduğumuzda, bot kendi bilgi bankamızdaki restoran verilerini çekerek menü bilgilerini listeliyor. "Şubeniz nerede?" sorusuna da "İstanbul Kadıköy Rıhtım Caddesi" şeklinde doğru yanıt veriyor. Tüm bu bilgiler Qdrant'taki bilgi bankasından geliyor.

Görsel Analiz

V1'de yapamadığımız bir özellik: resim gönderme. Bir hamburger resmi gönderip "bu ürün var mı?" diye sorduğumuzda, bot görseli analiz ediyor, bunun hamburger olduğunu anlıyor ve menüdeki hamburger çeşitlerini listeliyor. Gerçekten etkileyici bir özellik.

Sesli Mesaj Desteği

Ses kaydıyla "patates kızartması var mı?" diye sorduğumuzda, bot sesli mesajı metne çevirip bilgi bankasından fiyat bilgisiyle yanıt veriyor: "Evet, patates kızartmamız var. Küçük boyu 45 TL, büyük boyu ise 60 TL."

Neredeyse tam fonksiyonlu bir WhatsApp AI chatbot: yazı, resim veya ses - ne sorarsanız kendi datalarınızdan cevap veren bir sistem.

Adım 1: Docker ile Sistemi Başlatma

Sistemi çalıştırmak için bilgisayarınızda Docker kurulu olmalıdır. Docker yoksa docker.com adresinden işletim sisteminize uygun versiyonu indirip kurabilirsiniz.

İndirdiğiniz proje klasörüne terminal ile girin ve şu komutu çalıştırın:

docker compose up -d

Bu komut 5 farklı uygulamayı tek seferde ayağa kaldırır:

  • PostgreSQL: Veritabanı

  • Redis: Önbellek

  • n8n: Otomasyon platformu (port 5678)

  • Evolution API: WhatsApp bağlantısı (port 8080)

  • Qdrant: Vektör veritabanı (port 6333)

Tüm uygulamalar yüklendikten sonra tarayıcınızdan localhost:5678 adresine giderek n8n'e erişebilirsiniz. İlk girişte e-posta ve şifre belirleyerek hesabınızı oluşturun.

Adım 2: Evolution API Kurulumu ve QR Kod

Global API Key ile Giriş

localhost:8080/manager adresine gidin. Karşınıza API Key Global giriş ekranı çıkacak. Bu anahtarı Docker Compose dosyasından alacaksınız:

  1. Proje klasöründeki docker-compose.yml dosyasını açın

  2. Evolution API bölümünün altındaki AUTHENTICATION_API_KEY değerini kopyalayın

  3. Bu değeri giriş ekranına yapıştırıp Login deyin

Instance Oluşturma ve QR Kod Okutma

Giriş yaptıktan sonra sağ üstteki Instance butonuna tıklayın. İsim olarak whatsapp-chatbot yazıp Save deyin. Ardından instance'a tıklayıp Get QR Code butonuna basın.

QR kod sorunları yaşıyorsanız: Evolution API'nin 2.3.7 versiyonunu kullandığınızdan emin olun. Birçok arkadaş bu noktada takılmıştı ve sebebi versiyon uyumsuzluğuydu.

QR kodu okutmak için telefonunuzdan:

  1. WhatsApp > Ayarlar > Bağlı Cihazlar > Cihaz Bağla

  2. Önemli: Önce mevcut tüm bağlı cihazlardan çıkış yapın

  3. QR kodu okutun

Hata alırsanız Evolution API'de QR kodu yeniden oluşturup tekrar deneyin. Bağlantı başarılı olduğunda instance'ın aktif olarak göründüğünü teyit edin.

Adım 3: n8n ile Webhook Entegrasyonu

Şimdi Evolution API'nin WhatsApp mesajlarını n8n'e iletmesini sağlayacağız.

n8n'de Webhook Oluşturma

  1. n8n'de yeni bir workflow oluşturun

  2. Bir Webhook node'u ekleyin

  3. HTTP metodu olarak POST seçin

  4. Test URL'yi kopyalayın

Evolution API'de Webhook Tanımlama

  1. Evolution API Manager'da Integrations > n8n bölümüne gidin

  2. Artı butonuna basıp yeni bir entegrasyon ekleyin

  3. Webhook URL kısmına n8n'den kopyaladığınız URL'i yapıştırın

  4. Önemli: URL'deki localhost kısmını n8n olarak değiştirin (Docker network içinde çalıştığı için)

  5. Trigger type olarak All seçin

  6. Listening from me ve Stop bot from me seçeneklerini aktif edin

  7. Save deyin

Test

n8n'de Execute Workflow dedikten sonra kişisel WhatsApp'ınızdan iş WhatsApp'ınıza bir mesaj gönderin. n8n'de Webhook node'unun tetiklendiğini ve mesaj bilgilerinin (numara, içerik, mesaj tipi) geldiğini kontrol edin.

Adım 4: Workflow'ları İçe Aktarma ve API Anahtarları

Test başarılıysa artık asıl workflow'ları yükleyebiliriz.

Chatbot Workflow'unu İçe Aktarma

  1. Oluşturduğunuz test webhook'u silin

  2. Sağ üstten 3 nokta > Import from File deyin

  3. İndirdiğiniz dosyadaki workflows klasöründen chatbot sistemi dosyasını seçin

  4. Tüm workflow otomatik olarak yüklenecek

Yapılandırılması Gereken Ayarlar

Workflow'u içe aktardıktan sonra birkaç ayar yapmanız gerekiyor:

Evolution API Header Auth:

  • Create New Credentials seçin

  • Value kısmına Docker Compose dosyasındaki AUTHENTICATION_API_KEY değerini girin

OpenAI API Key:

  • platform.openai.com adresinden API key alın (minimum 5$ yükleme gerekli)

  • Workflow'daki OpenAI node'larına bu anahtarı ekleyin

  • 4o-mini modeli kullanıldığı için maliyeti neredeyse sıfır

Qdrant Bağlantısı:

  • URL: http://qdrant:6333

  • API Key: Docker Compose dosyasındaki SERVICE_API_KEY Qdrant değerini girin

Send Message Node:

  • Instance adını whatsapp-chatbot olarak güncelleyin (Evolution API'deki isimle aynı olmalı)

Adım 5: Qdrant ile Bilgi Bankası Oluşturma

Chatbot'un kendi verilerinizle yanıt verebilmesi için bir bilgi bankası oluşturmanız gerekiyor.

Qdrant'ta Collection Oluşturma

  1. localhost:6333/dashboard adresine gidin

  2. Qdrant API key'i girin

  3. Create Collection > isim verin (örneğin aces-restoran)

  4. Global Simple > boyut olarak 1536 seçin (OpenAI text-embedding-3-small için)

  5. Finish deyin

Vektör store'lar normal tablolardan farklı olarak arama ve veri getirme konusunda çok daha efektif çalışır. Bu yüzden bilgi bankası için vektör veritabanı kullanıyoruz.

Data Aktarım Workflow'unu Çalıştırma

  1. n8n'de yeni bir workflow oluşturun

  2. Import from File ile data aktarımı workflow'unu yükleyin

  3. Qdrant credentials'ı seçin ve collection adınızı belirtin

  4. Execute Workflow deyin

  5. Bilgi bankası dosyalarınızı seçin (.txt formatında: menü bilgileri, SSS, şirket bilgileri vb.)

Aktarım tamamlandıktan sonra Qdrant dashboard'unda collection'ınıza giderek verilerin başarıyla yüklendiğini kontrol edin.

Test

Chatbot workflow'unda Execute Workflow deyip WhatsApp'tan bir soru sorun (örneğin "şubeniz nerede?"). Bot, bilgi bankasındaki verilerden yanıt üretecektir. n8n'deki tool çağrısında Qdrant'tan veri çekildiğini görebilirsiniz.

Adım 6: Session Reset Workflow'u

Üçüncü ve son workflow olan Reset Sessions'ı yükleyin:

  1. Import from File ile reset sessions workflow'unu aktarın

  2. Instance adını whatsapp-chatbot olarak güncelleyin (iki yerde: session getir ve session sil node'larında)

  3. Publish deyin (bu workflow bir schedule trigger kullandığı için publish edilmeli)

Nasıl Çalışıyor?

Bu workflow her 10 dakikada bir otomatik olarak çalışır ve şunları yapar:

  1. Evolution API'den tüm oturumları çeker

  2. Her oturumun son mesaj zamanını kontrol eder

  3. Eğer 1 saat boyunca mesaj gelmemişse ve oturum duraklatılmış (paused) durumdaysa

  4. O oturumu siler ve botu tekrar aktif eder

Bu sayede siz bir müşteriye bizzat müdahale ettikten sonra, belirli süre geçince bot otomatik olarak tekrar devreye girer. Manuel olarak uğraşmanıza gerek kalmaz.

7/24 Çalıştırma: VPS ve Coolify Kurulumu

Bilgisayarınızı sürekli açık bırakamazsınız. Chatbot'un 7/24 çalışması için bir VPS sunucuya ihtiyacınız var.

Hostinger KVM2 VPS

Bu proje için Hostinger KVM2 VPS planını öneriyorum. n8n, Evolution API, Qdrant, PostgreSQL ve Redis'i sorunsuz çalıştırmak için yeterli kaynaklara sahip.

Hostinger VPS ile hemen başlayın ve YPRKEMRULLAH kupon kodunu kullanarak tüm indirimlere ek %10 ekstra indirim kazanın. 12 ve 24 aylık seçeneklerde zaten gayet güzel indirimler mevcut; kupon koduyla bu fırsat daha da avantajlı hale geliyor.

Coolify Kurulumu

VPS alırken işletim sistemi olarak panelli seçeneğinden Coolify'ı seçin. Neden Coolify? Çünkü birçok uygulama kuracağız (Evolution, Qdrant, n8n vb.) ve Coolify'ın paneli ile bunları çok rahat yönetebiliyoruz.

Coolify kurulduktan sonra:

  1. VPS'inizin IP adresi ve 8000 portu üzerinden erişin

  2. Hesap oluşturun ve Skip Setup deyin

  3. Sol taraftan Settings > URL kısmına kendi alan adınızı yazın (örneğin coolify.alanadi.com)

  4. Servers > Localhost > Wildcard domain olarak HTTPS alan adınızı ekleyin

  5. Save > Restart Proxy deyin

DNS Ayarları

Alan adınızın DNS ayarlarına gidip bir A kaydı ekleyin:

  • Type: A

  • Name: * (yıldız - wildcard)

  • Points to: VPS'inizin IP adresi

Bu sayede n8n.alanadi.com, evolution.alanadi.com gibi alt alan adları otomatik olarak VPS'inize yönlenecektir. Coolify otomatik SSL sertifikası da sağlıyor.

Docker Compose ile Deploy

  1. Coolify'da sol taraftan Projects > Add > proje adı verin

  2. Add Resource > Docker Compose (Empty) seçin

  3. İndirdiğiniz dosyadaki VPS klasöründeki docker-compose.yml içeriğini komple yapıştırın

  4. Her servis için URL'leri kendi alan adınıza göre düzenleyin (örneğin n8n.alanadi.com, evolution.alanadi.com, qdrant.alanadi.com)

  5. Deploy butonuna basın

Tüm container'lar otomatik olarak oluşturulacak ve yeşil ışıkla çalıştığını göreceksiniz.

Cloudflare ile Güvenlik

Sisteminizi DDoS saldırılarına ve diğer tehditlere karşı korumak için Cloudflare kullanmanızı öneriyorum.

  1. Cloudflare hesabı oluşturun (ücretsiz plan yeterli)

  2. Alan adınızı ekleyin

  3. Cloudflare'in verdiği name server adreslerini domain sağlayıcınızdaki DNS ayarlarına yazın

  4. Yönlendirmenin aktif olmasını bekleyin (30 dakika - birkaç saat sürebilir)

Cloudflare %100 güvenlik sağlamasa da ekstra bir koruma katmanı olarak kesinlikle eklenmesini tavsiye ederim. Sunucu IP'niz gizlenir ve DDoS koruması devreye girer.

VPS Üzerinde Aynı Adımları Tekrarlama

VPS üzerinde lokaldeki adımların aynısını tekrarlayacaksınız. Sadece birkaç URL değişecek:

Evolution API

  1. evolution.alanadi.com/manager adresine gidin

  2. API Key'i Coolify'daki Environment Variables bölümünden alın (SERVICE_PASSWORD_EVOLUTION)

  3. Instance oluşturup QR kodu yeniden okutun (yeni sunucu = yeni oturum)

n8n Workflow'ları

  1. Chatbot, data aktarımı ve reset sessions workflow'larını tekrar import edin

  2. Tüm credentials'ları (Evolution API key, OpenAI key, Qdrant key) yeniden girin

  3. API anahtarlarını Coolify'daki Environment Variables'tan alın

  4. Qdrant'ta yeni bir collection oluşturup dataları tekrar aktarın (lokaldeki veriler VPS'e geçmez)

Webhook URL Güncelleme

  1. Chatbot workflow'undaki Webhook URL'ini kopyalayın

  2. URL'deki alan adınızı silip n8n:5678 yazın (Docker network için)

  3. Evolution API'de bu URL'i webhook olarak tanımlayın

  4. Test mesajı göndererek çalıştığını doğrulayın

Publish Etme

Her şey doğru çalıştığını gördükten sonra chatbot workflow'unu Publish edin. Artık sürekli Execute Workflow demenize gerek kalmadan bot 7/24 çalışacaktır. Production URL'i kopyalayıp Evolution API'deki webhook'u bu URL ile güncelleyin.

Human Handoff: Botu Duraklatma ve Yeniden Aktifleştirme

Bu, V2'nin en değerli özelliklerinden biri. Bazen chatbot yanlış cevap verebilir veya müşteriye bizzat cevap vermeniz gerekebilir.

Otomatik Duraklatma

Evolution API'deki Stop Bot from Me özelliğini aktif ettiğimiz için, siz WhatsApp'tan (telefondan veya web'den) bir müşteriye bizzat mesaj yazdığınızda bot otomatik olarak durur. Teknik olarak Evolution API, oturumun statüsünü paused olarak değiştirir ve workflow'a istek atmayı durdurur.

Bu sayede:

  • Bot yanıt vermeyi keser

  • Siz müşteriyle rahatça konuşabilirsiniz

  • Manuel olarak Evolution API'ye girip bir şey değiştirmenize gerek yok

Otomatik Yeniden Aktifleştirme

Müşteriyle konuşmanız bittikten sonra ne olacak? İşte Reset Sessions workflow'u burada devreye giriyor. Her 10 dakikada bir kontrol eder: eğer duraklatılmış bir oturum varsa ve son 1 saattir mesaj gelmemişse, o oturumu siler ve botu tekrar aktif eder.

Bu sayede müşteri bir gün veya bir hafta sonra tekrar yazdığında, bot yeniden devreye girip yanıt verecektir. Sürekli manuel müdahale etmenize gerek kalmaz.

Grup Mesajlarına Yanıt Verme

V1'de sıkça sorulan sorulardan biri buydu: "Bot grup mesajlarına da yanıt veriyor, bunu nasıl engelleriz?"

V2'de bu sorunu tamamen çözdük. Bot grup mesajlarında yalnızca etiketlendiğinde yanıt verir. Örneğin:

  • "Selam" yazarsanız: Yanıt yok (etiketlenmemiş)

  • "@BotAdı şubeniz nerede?" yazarsanız: Yanıt verir (etiketlenmiş)

Bu özellik workflow'daki data düzenle node'unda bot_lead alanına kendi WhatsApp ID'nizi yazarak aktif edilir. ID'nizi webhook'un execution verisinden (gelen mesajdaki numara alanından) bulabilirsiniz.

Test Aşamasında Numara Filtresi

Workflow'da bir if node'u ile yalnızca kendi numaranızdan gelen mesajlara yanıt vermesini sağlayabilirsiniz. Bu sayede publish ettiğinizde sadece sizin test mesajlarınıza yanıt verir, diğer müşterilere gitmez. Test tamamlandıktan sonra bu if node'unu kaldırıp tekrar publish edin.

Workflow Detayları: Chatbot Sistemi Nasıl Çalışıyor?

Ana chatbot workflow'u şu adımlardan oluşuyor:

  1. Webhook: Evolution API'den gelen mesajı alır

  2. Data Düzenle: Grup mesajı kontrolü, etiketleme kontrolü ve should_respond belirleme

  3. If (Yanıt Vermeli mi?): Etiketlenmemişse veya gruptan gelip etiketlenmemişse durur

  4. Switch (Mesaj Tipi): Gelen mesajın metin, resim veya ses olduğunu ayırt eder

  5. Get File: Resim veya ses dosyasını Evolution API üzerinden çeker

  6. Analyze: Ses ise speech-to-text, resim ise görsel analiz yapar

  7. AI Agent: OpenAI 4o-mini modeli + sistem prompt'u ile yanıt üretir. Bilgi bankası tool olarak bağlıdır (Qdrant Vector Store Retrieve)

  8. HTTP Request: Üretilen yanıtı Evolution API aracılığıyla WhatsApp'a gönderir

Sistem prompt'u kısmında chatbot'un nasıl davranacağını, şirket politikalarını ve hangi durumlarda bilgi bankasına bakması gerektiğini belirliyorsunuz. "Fiyat ve menü bilgisi gibi konularda mutlaka knowledge base'i kontrol et" şeklinde talimatlar verebilirsiniz.

Önemli Uyarılar ve Riskler

Evolution API, 3. parti bir yazılım olduğu için bazı riskler içeriyor:

Yapmamanız gereken: Dış numaralara, bilmediğiniz kişilere spam mesajlar göndermek. Bu, WhatsApp numaranızın banlanmasına yol açabilir.

Güvenli kullanım: Bizim kurduğumuz gibi bir chatbot sistemi (gelen mesajlara yanıt veren) gayet güvenli bir şekilde kullanılabilir. Ben uzun süredir kullanıyorum ve herhangi bir problem yaşamadım.

Alternatif: WhatsApp Cloud API (Meta'nın resmi çözümü) daha güvenli ancak mesaj template'leri, onay süreçleri gibi kısıtlamalar var. Evolution API kadar özgür bir yapı sunmuyor.

Risk değerlendirmesini sizin yapmanız gerekiyor. Chatbot olarak kullanmak güvenli; spam yaparsanız problem yaşarsınız.

Sonuç

WhatsApp AI Chatbot V2, V1'deki tüm sorunları çözerek çok daha güçlü bir sistem sunuyor:

  • Metin + Görsel + Sesli Mesaj desteği

  • Bilgi bankası entegrasyonu (Qdrant ile RAG)

  • Grup mesajlarında etiketleme ile yanıt

  • Human Handoff: Araya girdiğinizde bot otomatik durur

  • Session Reset: Belirli süre sonra bot otomatik aktifleşir

  • 7/24 çalışma: VPS + Coolify ile kesintisiz hizmet

Tüm workflow dosyalarını ve Docker Compose yapılandırmasını yazının yanındaki indirme bölümünden ücretsiz olarak edinebilirsiniz.

VPS ihtiyacınız için Hostinger KVM2 planını YPRKEMRULLAH kupon koduyla %10 ekstra indirimle alabilirsiniz.

n8n hakkında daha fazla bilgi edinmek isterseniz n8n nedir ve nasıl çalışır başlangıç rehberimize göz atın. WhatsApp bot yapımında farklı yöntemleri merak ediyorsanız WhatsApp Bot Nasıl Yapılır karşılaştırmalı rehberimiz de işinize yarayacaktır. VPS kurulumu konusunda daha detaylı bilgi için n8n self-hosting ve Docker kurulum rehberimizi inceleyebilirsiniz. Daha kapsamlı eğitim içerikleri için de n8nKursu.com üzerindeki kurslarımıza göz atabilirsiniz.

Sıkça Sorulan Sorular (FAQ)

WhatsApp AI Chatbot V2 ile V1 arasındaki farklar nelerdir?

V2, görsel analiz ve sesli mesaj anlama yeteneklerine sahiptir. Ayrıca bilgi bankası entegrasyonu (Qdrant), oturum sıfırlama, grup mesajlarına etiketleme ile yanıt verme ve human handoff gibi gelişmiş özellikler eklenmiştir. V1'deki birçok kullanıcı geri bildirimi doğrultusunda tamamen yeniden tasarlanmıştır.

Bu sistemi çalıştırmak için hangi yazılımlara ihtiyacım var?

Docker ve Docker Compose yeterlidir. docker compose up -d komutuyla PostgreSQL, Redis, n8n, Evolution API ve Qdrant olmak üzere 5 uygulama otomatik olarak ayağa kalkar. Ayrıca OpenAI API anahtarına ihtiyacınız var (4o-mini modeli neredeyse ücretsiz).

Evolution API QR kod sorunu nasıl çözülür?

Evolution API'nin 2.3.7 versiyonunu kullanın. Docker Compose dosyasındaki versiyon numarasını 2.3.7 olarak değiştirmek QR kod sorunlarını çözer. Ayrıca WhatsApp'taki tüm bağlı cihazlardan çıkış yapıp yeniden bağlanmayı deneyin.

Sistemi 7/24 çalıştırmak için ne gerekiyor?

Bir VPS sunucu ve Coolify platformu yeterlidir. Hostinger KVM2 planını YPRKEMRULLAH kupon koduyla %10 ekstra indirimle alabilirsiniz. Coolify üzerinde Docker Compose dosyasını yapıştırarak tüm servisleri tek seferde deploy edebilirsiniz.

Human Handoff özelliği nasıl çalışır?

WhatsApp üzerinden siz bizzat müşteriye mesaj yazdığınızda bot otomatik olarak durur (Evolution API'deki stop bot from me özelliği sayesinde). Reset Sessions workflow'u ise 10 dakikada bir kontrol ederek, 1 saat boyunca mesaj gelmemiş duraklatılmış oturumları tekrar aktif eder.

Bot grup mesajlarına yanıt veriyor mu?

Evet, ancak sadece etiketlendiğinde. Grup içinde birisi botu etiketleyerek soru sorduğunda bot o mesaja yanıt verir. Etiketlenmediği mesajları tamamen görmezden gelir, böylece gereksiz yanıtlar üretmez.

İlgili Yazılar