Ana içeriğe atla

n8n iş akışları

AI-Public, üretim-webhook üzerinden n8n iş akışlarını başlatabilir. Bu, AI-Public dışında otomatik bir süreç başlatmak istediğinizde, örneğin bir görevin oluşturulması, bir CRM kaydının güncellenmesi, bir raporlama akışının başlatılması veya form verilerinin başka bir sisteme iletilmesi için kullanışlıdır.

Örnek: Organizasyonun web sitesindeki haber makalesi

Diyelim ki organizasyon, WordPress sitesinde bir haber makalesinin yayımlanmasını sağlayan bir n8n iş akışı oluşturdu. AI-Public'te sadece kısa bir metin parçacığı girersiniz, örneğin bir toplantı, proje veya halka duyuru hakkında birkaç cümle. Bu metinle iş akışını n8n'de başlatırsınız.

n8n iş akışı ardından şu adımları yapabilir:

  1. Kısa metinden, organizasyonun tonuna uygun bir LLM düğümü ve iyi uyum sağlayan bir komutla temiz bir taslak metin oluşturmak.
  2. İkinci bir LLM düğümüyle uygun bir görsel üretmek, örneğin kurumsal renklerle ve tanınabilir bir illüstratif stil ile.
  3. Metin ve görseli blog gönderisi olarak göndermek veya WordPress web sitesinde yayımlamak.

Böylece AI-Public ve n8n birlikte çalışır: AI-Public'te kullanıcı iş akışını seçer ve gerekli bilgileri girer. Ardından n8n otomatik adımları yürütür ve haber makalesinin web sitesinde düzgün şekilde görünmesini sağlar.

Bu entegrasyon ne yapar?

İş akışını iş akışı özetinden başlatırsınız. Sadece üretim-webhook, POST ve Header Auth zorunludur. n8n'den gelen alanlar ve geri bildirimler isteğe bağlıdır ve bağımsız olarak yapılandırılabilir.

  • İş 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 Başlat düğmesiyle iş akışını başlatır.
  • Doldurulan değerler JSON olarak POST isteğiyle n8n webhook'una iletilir.
  • Geri bildirim olmadan, AI-Public yalnızca iş akışının başlatıldığını ve n8n'de ilerlediğini gösterir. Pencere bir spinner göstermez ve hemen kapatılabilir.
  • Bu kayıt işleminde etkinleştirilmişse, iş akışının ara adımlarını veya sonunu AI-Public'e geri gönderebilirsiniz.
  • Kayıtta onay etkinse, kullanıcı AI-Public'te doğrudan bir tercih yapabilir. Daha sonra n8n bekleyen adımdan devam eder.

AI-Public'te n8n iş akışı oluşturma

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

  1. Asistanlar sayfasına gidin.
  2. İş Akışlarını açın.
  3. Yeni n8n iş akışınını seçin.
  4. İş akışının adını ve n8n üretim URL'sini girin.
  5. Header doğrulama ayarını, header adı ve gizli header değeri ile yapılandırın.
  6. n8n'den geri bildirimler altında yalnızca bu n8n iş akışında gerçekten oluşturulan bölümleri işaretleyin: ilerleme, onay ve/veya iş akışının sonu.
  7. POST isteğinde iletilmesi gereken alanları ekleyin.
  8. İş akışını kaydedin.

Tüm üç geri bildirim seçeneği varsayılan olarak kapalıdır. Daha sonra n8n'de geri çağrı veya onay adımı eklediğinizde AI-Public kaydını da güncelleyin. Diyalog yalnızca başlatma onayını gösterecek mi yoksa ileri sinyallere beklemek için mi?

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çimlerdir.
  • Tek seçim ve Çoklu seçim altında kullanılabilir seçenekleri ekleyin. Tek seçim kompakt bir seçim listesi olarak gösterilir; Çoklu seçim onay kutuları gösterir. Seçilen değerler JSON gövdesinde iletilir.
  • Zorunlu alanlar, iş akışı başlatılmadan önce doldurulmalıdır.
  • Alan adı, AI-Public'e gönderilen JSON gövdesindeki anahtar olur.

Uygun n8n iş akışı oluşturma

  1. n8n'de yeni bir iş akışı oluşturun.
  2. İlk düğüm olarak bir Webhook ekleyin.
  3. Bu düğümü tam olarak Start workflow adıyla adlandırın. Aşağıdaki örnek ifadeler bu adı kullanır.
  4. HTTP Methodu POST olarak ayarlayın.
  5. Authentication: Header Auth seçin ve AI-Public'tekiyle aynı başlık adı ve gizli değeri kullanın.
  6. Respond veya Response Modeu Immediately olarak ayarlayın.
  7. Üretim URL'sini, AI-Public'teki n8n üretim-url alanına kopyalayın. /webhook-test/ olan test URL'sini kullanmayın.
  8. İş akışını etkinleştirin.

Alınan veriler body altında; teknik entegrasyon verileri ise body.integration altında bulunur. Edit Fields, Set veya Code düğümünde bunları kaldırmayın.

JSON gövdesinin örnekleri

Alanları prompt, klantnaam, doelgroepen ve datum adlarıyla tanımlarsanız, n8n bu JSON gövdesini alır. AI-Public, integration nesnesini otomatik olarak ekler.

{
"prompt": "Maak een korte samenvatting van de aanvraag.",
"klantnaam": "Voorbeeldorganisatie",
"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": "tijdelijk-token-voor-deze-uitvoering"
}
}

callbacktoken tek bir yürütme için geçerlidir. Loglarda saklamayın, sabit yapılandırmada veya diğer sistemlerde saklamayın.

İsteğe bağlı: ilerleme ve tamamlanma geri bildirimleri

AI-Public yalnızca n8n'in geri bildirimlerini gösterir. Bu geri bildirimleri yalnızca kayıt esnasında Ara İlerleme Bildirimi ve/veya İş akışının sonu bildirimi etkinleştirildiyse kullanın.

Her callback düğümünü şu şekilde ayarlayın:

  1. Method: POST'u seçin.

  2. URL üzerinde Expression seçeneğini tıklayın ve şu ifadeyi yapıştırın:

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

  4. Send Headers etkinleştirin ve aşağıdaki başlıkları ekleyin.

  5. Send Body etkinleştirin ve Body Content Type: JSON ile Specify Body: Using JSON seçeneklerini seçin.

Aşağıdaki başlıkları 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ı yürütme içindeki her olay için benzersiz bir eventId kullanın.
  • Uygulamada gösterilecek açık bir Türkçe step.label kullanın; bu metin uygulamada gösterilecektir.
  • İş akışının sonu bildirimi etkinse, eninde sonunda her zaman type: "completed", type: "failed" veya type: "rejected" gönderin.
  • completed için mümkünse bir output nesnesiyle sonucu ekleyin.
  • failed durumunda anlaşılır bir hata mesajı iletin. Uygulama da yürütmeyi durdurur.

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

Bir n8n Wait düğümü ile On Webhook Call kullanarak, iş akışı yalnızca bir seçimden sonra devam edebiliyorsa kullanın. Wait düğümünden önce type: "approval_required" ile bir callback gönderin:

Wait düğümünü Resume: On Webhook Call, HTTP Method: POST ve Authentication: Header Auth olarak ayarlayın. Başlangıçtaki iş akışıyla aynı Header Auth kimlik bilgisini seçin. Wait düğümünden sonra bir Switch düğümü ekleyin ve içeriğini kontrol edin {{ $json.body.decision }}.

{
"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": "Mag de workflow doorgaan?",
"context": "Controleer eerst het gegenereerde document.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Goedkeuren" },
{ "value": "reject", "label": "Afwijzen" }
]
}
}

Kullanıcı yürütme penceresinde seçenekleri görür. Bir seçimden sonra Wait düğümü şu alanları içeren geri bildirimi alır: decision. Daha sonra doğru devamı belirlemek için örneğin bir Switch düğümü kullanın.

Bir seçim değeri yalnızca harfler, rakamlar, _ ve - içerebilir. Etiket ise 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 geri çağrı düğümünde sabit metin olarak yapıştırmayın. HTTP İstek düğümünün URL alanında Expression seçeneğini kullanın ve şu ifadeyi kullanın:

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

AI-Public, her başlangıçta otomatik olarak doğru üretim URL'sini sağlar. Yukarıdaki sabit URL'yi, test sırasında ifadenin AI-Public'e yöneldiğini kontrol etmek için AI-School veya AI-Corporate'a yönelmediğini görmek amacıyla kullanın.

Çağrılabilirlar triggerCustomN8nWorkflow, triggerN8nWorkflow ve resumeN8nWorkflow, uygulama tarafından kendiliğinden çağrılır. Bu URL'leri n8n'de ayarlamanıza gerek yok.

Hataları ele alma

Beklenen hataları bir failed türündeki callback ile geri gönderin. Beklenmedik düğüm hataları için merkezi bir Error Workflow oluşturun:

  1. Yeni bir workflow oluşturun ve bir Error Trigger düğümü ekleyin.

  2. Ardından HTTP Request düğmesi ekleyin ve Method: POST olsun.

  3. URL alanına aşağıdaki sabit üretim URL'sini girin:

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

  5. Bir JSON gövdesi seçin ve şu içeriği 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. Hata İş Akışını etkinleştirin.
  2. Normal iş akışının ayarlarını açın ve Error Workflow alanında bu işlemi seçin.

Start workflow sonrası en az bir callback gönderin: executionId: "{{ $execution.id }}". Böylece AI-Public, beklenmeyen bir hatayı doğru yürütmeye bağlayabilir.

Önemli sınırlamalar

  • Sadece webhook tetikleyiciler desteklenir.
  • Sadece üretim-webhook-URL'ler desteklenir.
  • Test webhook URL'leri /webhook-test/ ile reddedilir.
  • Yalnızca POST desteklenir.
  • Yalnızca genel başlık doğrulama desteklenir.
  • Başlık değeri uygulama içinde gizli olarak işlenir.
  • Callback tokenlar ve resume-url'ler yalnızca sunucu tarafında işlenir ve kullanıcılar tarafından doğrudan erişilemez.
  • Tenant, oturum açmış kullanıcı tarafından sunucu tarafında belirlenir; tarayıcının araya gönderdiği değere bağlı değildir.

Problemler nasıl çözülür

  • 404 veya webhook kaydedilmemiş: n8n'de iş akışını etkinleştirin ve üretim-url'sini kullanın.
  • Yetkilendirme hatası: başlık adı ve değerinin her iki sistemde de kesin olarak aynı olduğundan emin olun.
  • Eksik veri: uygulamadaki alan adlarının, n8n'in beklediği anahtarlarla eşleştiğini kontrol edin.
  • n8n'de istek yok: iş akışının bir webhook tetikleyici ile başlayıp POST kullandığını kontrol edin.
  • Yürütme penceresi dönmüyorsa: İş akışının sonunu bildirme etkinse, n8n'in son bir completed, failed veya rejected çağrısı gönderip göndermediğini kontrol edin. Geri bildirim yoksa üç seçeneği de kayıtta kapalı tutun.
  • İlerleme görünmüyorsa: kayıtta Ara ilerleme bildirme açıksa veya integration nesnesi korunuyorsa ve her geri bildirimde benzersiz bir eventId varsa kontrol edin.
  • Onay düğmeleri çalışmıyor: Wait düğümünü, resumeUrl, başlık doğrulamasını ve choices[].value içindeki izin verilen karakterleri kontrol edin.
WhatsApp