Ana içeriğe atla

n8n iş akışları

AI-Corporate, n8n iş akışlarını üretim webhook’u üzerinden başlatabilir. Bu, AI-Corporate dışında otomatik bir süreç başlatmak istediğinizde kullanışlıdır; örneğin bir görev oluşturmak, bir CRM kaydını güncellemek, bir raporlama akışını başlatmak veya form verilerini başka bir sisteme aktarmak gibi.

Örnek: şirket web sitesinde haber makalesi​

Diyelim ki kuruluş, şirketin WordPress web sitesinde bir haber makalesi yayınlayan bir n8n iş akışı oluşturdu. AI-Corporate içinde yalnızca kısa bir metin girersiniz; örneğin bir müşteri vakası, etkinlik veya iç bir dönüm noktası hakkında birkaç cümle. Bu metinle iş akışını n8n’de başlatırsınız.

n8n iş akışı daha sonra örneğin şunları yapabilir:

  1. Kısa metni, kuruluşun tonuna uygun bir prompt ve bir LLM node’u ile temiz bir taslak metne dönüştürmek.
  2. Örneğin marka renklerinde ve tanınabilir bir illüstratif tarzda uygun bir görseli ikinci bir LLM node’u ile oluşturmak.
  3. Metin ve görseli bir blog yazısı olarak hazırlamak veya WordPress web sitesinde yayınlamak.

Böylece AI-Corporate ve n8n birlikte çalışır: AI-Corporate içinde kullanıcı iş akışını seçer ve gerekli bilgileri girer. Ardından n8n otomatik adımları yürütür ve haber makalesinin düzgün şekilde web sitesine ulaşmasını sağlar.

Bu entegrasyon ne yapar?​

Bir iş akışını iş akışı genel görünümünden başlatırsınız. Yalnızca üretim webhook’u, POST ve Header Auth zorunludur. n8n’den gelen alanlar ve geri bildirimler isteğe bağlıdır ve birbirinden bağımsız olarak ayarlanabilir.

  • İş akışının alanları yoksa webhook hemen çağrılır.
  • İş akışının alanları varsa önce bir form açılır. Kullanıcı alanları doldurur ve ardından düğmeyle iş akışını başlatır.
  • Girilen değerler JSON olarak bir POST isteğiyle n8n webhook’una gönderilir.
  • Geri bildirim olmadan AI-Corporate yalnızca iş akışının başlatıldığını onaylar ve geri kalanı n8n’de devam eder. Pencere bir spinner göstermez ve doğrudan kapatılabilir.
  • Kayıtta bu seçenek açıldıysa, iş akışı ara adımları veya sonu AI-Corporate’a geri gönderebilir.
  • Onay kayıtta açıldıysa, kullanıcı seçimini doğrudan AI-Corporate içinde yapabilir. n8n ardından bekleyen adımdan devam eder.

AI-Corporate içinde n8n iş akışı oluşturma​

Bir yönetici iş akışını şu şekilde kaydeder:

  1. Asistanlar bölümüne gidin.
  2. İş akışı asistanları sekmesini açın.
  3. Üstteki kartta Yeni iş akışına tıklayın ve n8n iş akışını seçin.
  4. İş akışının adını ve n8n üretim URL’sini girin.
  5. Bir header name ve gizli header value ile Header authentication ayarlayın.
  6. n8n’den gelen geri bildirimler altında yalnızca bu n8n iş akışında gerçekten oluşturulmuş olan bölümleri işaretleyin: ilerleme, onay ve/veya iş akışının sonu.
  7. Gerekirse POST isteğiyle gönderilecek alanları ekleyin.
  8. İş akışını kaydedin.

Üç geri bildirim seçeneğinin de varsayılanı kapalıdır. Sonradan n8n’de callback’ler veya bir onay adımı eklerseniz, AI-Corporate’daki kaydı da güncelleyin. Böylece dialog yalnızca bir başlangıç onayı mı göstermesi gerektiğini yoksa daha fazla sinyal bekleyip beklemeyeceğini bilir.

Alanlar​

  • Alanlar isteğe bağlıdır.
  • Her alanın bir alan adı ve bir türü vardır.
  • Desteklenen alan türleri kısa metin, uzun metin, sayı, evet/hayır, tarih, tek seçim ve çoklu seçimdir.
  • Tek seçim ve Çoklu seçim için kullanılabilir seçenekleri eklersiniz. Tek seçim kompakt bir açılır liste olarak gösterilir; Çoklu seçim onay kutuları gösterir. Seçilen değer veya değerler JSON body içinde gönderilir.
  • Zorunlu alanlar, iş akışı başlatılmadan önce doldurulmuş olmalıdır.
  • Alan adı, n8n’e gönderilen JSON body içindeki key olur.

n8n içinde uyumlu bir iş akışı oluşturma​

  1. n8n’de yeni bir iş akışı oluşturun.
  2. İlk node olarak bir Webhook ekleyin.
  3. Bu node’a tam olarak Start workflow adını verin. Aşağıdaki örnek ifadeler bu adı kullanır.
  4. HTTP Method değerini POST yapın.
  5. Authentication: Header Auth seçin ve AI-Corporate’dakiyle aynı header adını ve gizli değeri kullanın.
  6. Respond veya Response Mode değerini Immediately yapın.
  7. Production URL’yi AI-Corporate’daki n8n üretim url alanına kopyalayın. /webhook-test/ içeren test url’sini kullanmayın.
  8. İş akışını etkinleştirin.

Alınan veriler body altında yer alır; teknik entegrasyon verileri body.integration altında yer alır. Bunları bir Edit Fields-, Set- veya Code-node içinde silmeyin.

JSON body örneği​

prompt, klantnaam, doelgroepen ve datum adlarıyla alanlar tanımlarsanız, n8n örneğin şu JSON body’yi alır. AI-Corporate integration nesnesini otomatik olarak ekler.

{
"prompt": "İsteğin kısa bir özetini oluştur.",
"klantnaam": "Örnek organizasyon",
"doelgroepen": ["çalışanlar", "müşteriler"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "bu-çalışma-için-geçici-token"
}
}

Callback token tek bir çalışmaya aittir. Bunu loglarda, sabit yapılandırmada veya diğer sistemlerde saklamayın.

İsteğe bağlı: ilerlemeyi ve tamamlanmayı geri göndermek​

AI-Corporate yalnızca n8n’in geri bildirdiğini gösterebilir. Bu callback’leri yalnızca kayıtta Ara ilerlemeyi bildir ve/veya İş akışının sonunu bildir seçeneklerini açtıysanız kullanın.

Her callback node’unu şu şekilde ayarlayın:

  1. Method: POST seçin.

  2. URL alanında Expressiona tıklayın ve şunu yapıştırın:

    {{ $('Start workflow').first().json.body.integration.callbackUrl }}
  3. Authentication: None seçin.

  4. Send Headers’ı açın ve aşağıdaki header’ları ekleyin.

  5. Send Body’yi açın ve Body Content Type: JSON ile Specify Body: Using JSON seçin.

Şu header’ları kullanın:

Authorization: Bearer {{ $('Start workflow').first().json.body.integration.callbackToken }}
Content-Type: application/json

Örneğin bir adım başladığında şu mesajı gönderin:

{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-maken-gestart",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Document oluşturma"
},
"message": "Document oluşturuluyor."
}
  • Aynı çalışma içindeki her olay için benzersiz bir eventId kullanın.
  • Açık ve anlaşılır bir Türkçe step.label kullanın; bu metin uygulamada gösterilir.
  • İş akışının sonunu bildir seçeneğini açtıysanız, sonunda her zaman type: "completed", type: "failed" veya type: "rejected" gönderin.
  • completed ile birlikte gerekirse bir output nesnesi ekleyin.
  • failed durumunda anlaşılır bir hata mesajı gönderin. Böylece çalışma uygulamada da durur.

İsteğe bağlı: uygulamada onay istemek​

İş akışı ancak bir seçimden sonra devam edecekse n8n Wait node’unu On Webhook Call ile kullanın. Wait node’undan önce type: "approval_required" ile bir callback gönderin:

Wait node’unu Resume: On Webhook Call, HTTP Method: POST ve Authentication: Header Auth olarak ayarlayın. Start workflow ile aynı Header Auth credential’ını seçin. Wait node’undan sonra bir Switch node’u ekleyin ve içinde {{ $json.body.decision }} değerini kontrol edin.

{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "controle-document",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "controle_document",
"label": "Document kontrolü"
},
"approval": {
"question": "İş akışı devam edebilir mi?",
"context": "Önce oluşturulan belgeyi kontrol edin.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Onayla" },
{ "value": "reject", "label": "Reddet" }
]
}
}

Kullanıcı seçimleri yürütme penceresinde görür. Bir seçimden sonra Wait node’u diğer alanların yanında decision da alır. Ardından doğru devamı belirlemek için örneğin bir Switch node’u kullanın.

Bir seçim değeri yalnızca harf, rakam, _ ve - içerebilir. Etiket ise normal okunabilir metin içerebilir.

Üretim callback-url’sini ayarlama​

AI-Corporate için üretim callback-url’si şöyledir:

https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback

Bu URL’yi her callback node’una sabit metin olarak yapıştırmayın. HTTP Request node’unun URL alanında Expression seçin ve şunu kullanın:

{{ $('Start workflow').first().json.body.integration.callbackUrl }}

Böylece AI-Corporate her başlangıçta otomatik olarak doğru üretim URL’sini sağlar. Yukarıdaki sabit URL’yi, test ederken ifadenin AI-Corporate’a mı yoksa AI-School ya da AI-Public’e mi yöneldiğini kontrol etmek için kullanırsınız.

triggerCustomN8nWorkflow, triggerN8nWorkflow ve resumeN8nWorkflow callable’ları uygulama tarafından kendisi çağrılır. Bu URL’leri n8n içinde ayarlamanıza gerek yoktur.

Hataları işleme​

Beklenen hataları failed türünde bir callback ile gönderin. Beklenmeyen node hataları için ayrıca merkezi bir Error Workflow oluşturun:

  1. Error Trigger node’u ile yeni bir iş akışı oluşturun.

  2. Ardından Method: POST ile bir HTTP Request node’u ekleyin.

  3. URL alanına şu sabit üretim URL’sini girin:

    https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowExecutionFailed
  4. Authentication: None seçin ve platform yöneticisinin gizli varsayılan değeriyle n8n-handihow-name header’ını ekleyin.

  5. JSON body seçin ve şunu yapıştırın:

{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
  1. Error Workflow’u etkinleştirin.
  2. Normal iş akışının ayarlarını açın ve Error Workflow altında bunu seçin.

Start workflow sonrasında hemen en az bir callback’i executionId: "{{ $execution.id }}" ile gönderin. Ancak o zaman AI-Corporate beklenmeyen bir hatayı doğru çalışmayla ilişkilendirebilir.

Önemli sınırlamalar​

  • Yalnızca webhook tetikleyicileri desteklenir.
  • Yalnızca üretim webhook URL’leri desteklenir.
  • /webhook-test/ içeren test webhook URL’leri reddedilir.
  • Yalnızca POST desteklenir.
  • Yalnızca generic header authentication desteklenir.
  • Header value uygulamada gizli olarak ele alınır.
  • Callback token’ları ve resume URL’leri yalnızca sunucu tarafında işlenir ve kullanıcılar için doğrudan erişilebilir değildir.
  • Tenant sunucu tarafında giriş yapan kullanıcıya göre belirlenir, tarayıcının gönderdiği bir değerden değil.

Sorun giderme​

  • 404 veya webhook kayıtlı değil: n8n’de iş akışını etkinleştirin ve üretim URL’sini kullanın.
  • Kimlik doğrulama hatası: her iki sistemde de header name ve value’nun tam olarak aynı olduğunu kontrol edin.
  • Eksik veri: uygulamadaki alan adlarının n8n’in beklediği key’lerle eşleştiğini kontrol edin.
  • n8n’de request yok: iş akışının bir webhook trigger ile başladığını ve POST kullandığını kontrol edin.
  • Yürütme penceresi dönmeye devam ediyor: İş akışının sonunu bildir seçeneğini açtıysanız, n8n’in son bir completed, failed veya rejected callback’i gönderdiğini kontrol edin. Geri bildirim beklemiyorsanız kayıttaki üç seçeneğin de işaretini kaldırın.
  • İlerleme görünmüyor: kayıtta Ara ilerlemeyi bildir seçeneğinin açık olduğunu, integration nesnesinin korunup korunmadığını ve her callback’in benzersiz bir eventId taşıdığını kontrol edin.
  • Onay düğmeleri çalışmıyor: Wait node’unu, resumeUrl’yi, header authentication’ı ve choices[].value içindeki izin verilen karakterleri kontrol edin.