Ana içeriğe atla

n8n iş akışları

AI-Public, n8n iş akışlarını bir üretim webhook’u üzerinden başlatabilir. Bu, AI-Public 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 için.

Örnek: kuruluşun web sitesinde haber makalesi​

Diyelim ki kuruluş, WordPress web sitesinde bir haber makalesi yayınlayan bir n8n iş akışı oluşturdu. AI-Public’te yalnızca kısa bir metin girersiniz; örneğin bir toplantı, proje veya kamuya açık duyuru hakkında birkaç cümle. Bu metinle n8n’de iş akışını başlatırsınız.

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

  1. Kısa metinden bir LLM node ve kuruluşun tonuna uygun bir prompt kullanarak düzgün bir taslak metin oluşturmak.
  2. Uygun bir illüstrasyon oluşturmak için ikinci bir LLM node kullanmak; örneğin kurumsal renklerde ve tanınabilir bir illüstratif tarzda.
  3. Metin ve görseli WordPress web sitesinde bir blog yazısı olarak hazırlamak veya yayınlamak.

Böylece AI-Public ve n8n birlikte çalışır: AI-Public’te kullanıcı iş akışını seçer ve gerekli bilgileri doldurur. 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 n8n 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ışında alan yoksa webhook hemen çağrılır.
  • İş akışında alan varsa önce bir form açılır. Kullanıcı alanları doldurur ve ardından iş akışını düğmeyle başlatır.
  • Girilen değerler JSON olarak bir POST isteğiyle n8n webhook’una gönderilir.
  • Geri bildirim yoksa AI-Public yalnızca iş akışının başlatıldığını ve n8n’de devam ettiğini onaylar. 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-Public’e geri gönderebilir.
  • Kayıtta onay açıldıysa, kullanıcı doğrudan AI-Public içinde bir seçim yapabilir. Ardından n8n bekleyen adımdan devam eder.

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

Bir yönetici iş akışını aşağıdaki şekilde kaydeder:

  1. Assistantler bölümüne gidin.
  2. Workflow assistantleri sekmesini açın.
  3. Üstteki kartta Yeni workflow öğesine tıklayın ve n8n workflow seçin.
  4. İş akışının adını ve n8n üretim URL’sini girin.
  5. Header authentication ayarını bir header name ve gizli header value ile yapılandırın.
  6. n8n’den gelen geri bildirimler altında yalnızca bu n8n iş akışında gerçekten oluşturulmuş bölümleri işaretleyin: ilerleme, onay ve/veya iş akışının sonu.
  7. İstenirse POST isteğiyle gönderilmesi gereken 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-Public’teki kaydı da güncelleyin. Böylece diyalog, yalnızca bir başlangıç onayı mı göstermesi gerektiğini yoksa ek sinyalleri beklemeye devam mı edeceğ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 mevcut seçenekleri eklersiniz. Tek seçim kompakt bir seçim listesi 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’ye 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-Public’tekiyle aynı header adını ve gizli değeri kullanın.
  6. Respond veya Response Mode değerini Immediately olarak ayarlayın.
  7. Production URL’yi AI-Public’teki 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-Public integration nesnesini otomatik olarak ekler.

{
"prompt": "Talebin kısa bir özetini oluştur.",
"klantnaam": "Örnek kuruluş",
"doelgroepen": ["inwoners", "medewerkers"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "bu-çalıştırma-için-geçici-token"
}
}

Callback token yalnızca tek bir çalıştırmaya aittir. Bunu loglarda, sabit yapılandırmada veya başka sistemlerde saklamayın.

İsteğe bağlı: ilerleme ve tamamlanmayı geri gönderme​

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

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

  1. Method: POST seçin.

  2. URL yanında Expression’a 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.

Bu 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 maken"
},
"message": "Belge oluşturuluyor."
}
  • Aynı çalıştırma içindeki her olay için benzersiz bir eventId kullanın.
  • Net 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 isteğe bağlı olarak sonucu içeren bir output nesnesi ekleyin.
  • failed durumunda anlaşılır bir hata mesajı gönderin. Bu durumda çalıştırma uygulamada da durur.

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

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

Wait node’u 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’dan sonra bir Switch node 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 controleren"
},
"approval": {
"question": "İş akışı devam etsin mi?",
"context": "Önce oluşturulan belgeyi kontrol edin.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Onayla" },
{ "value": "reject", "label": "Reddet" }
]
}
}

Kullanıcı seçenekleri yürütme penceresinde görür. Bir seçimden sonra Wait node diğerlerinin yanında decision değerini alır. Ardından doğru akışı belirlemek için örneğin bir Switch node kullanın.

Bir seçim değeri yalnızca harfler, rakamlar, _ ve - içerebilir. Label ise normal, okunabilir metin içerebilir.

Üretim callback-url ayarlama​

AI-Public için üretim callback-url şu şekildedir:

https://europe-west1-ai-public-pro.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-Public her başlangıçta otomatik olarak doğru üretim URL’sini sağlar. Yukarıdaki sabit URL’yi, test ederken ifadenin AI-Public’e mi yoksa AI-School ya da AI-Corporate’a mı işaret ettiğini kontrol etmek için kullanırsınız.

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

Hataları ele alma​

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 olan bir HTTP Request node’u ekleyin.

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

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

  5. Bir 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’dan hemen sonra en az bir callback gönderin: executionId: "{{ $execution.id }}". Ancak bu şekilde AI-Public beklenmeyen bir hatayı doğru çalıştırmaya bağlayabilir.

Önemli sınırlamalar​

  • Yalnızca webhook trigger’ları desteklenir.
  • Yalnızca üretim webhook URL’leri desteklenir.
  • /webhook-test/ içeren test webhook URL’leri reddedilir.
  • Yalnızca POST desteklenir.
  • Yalnızca genel 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, tarayıcının gönderdiği bir değerden değil, giriş yapan kullanıcıdan sunucu tarafında belirlenir.

Sorun giderme​

  • 404 veya webhook kaydedilmedi: iş akışını n8n’de etkinleştirin ve üretim URL’sini kullanın.
  • Kimlik doğrulama hatası: header name ve value’nun her iki sistemde de tam olarak aynı olduğunu kontrol edin.
  • Eksik veri: uygulamadaki alan adlarının n8n’nin 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’nin son bir completed, failed veya rejected callback gönderdiğini kontrol edin. Geri bildirim beklemiyorsanız, kayıttaki üç seçeneği de kapatın.
  • İlerleme görünmüyor: kayıt sırasında Ara ilerlemeyi bildir seçeneğinin açık olup olmadığını, integration nesnesinin korunup korunmadığını ve her callback’in benzersiz bir eventId içerip içermediğini kontrol edin.
  • Onay düğmeleri çalışmıyor: Wait node’u, resumeUrl, header authentication ve choices[].value içindeki izin verilen karakterleri kontrol edin.