Tetikleyiciler
Her grafik tam olarak bir tetikleyici düğümüyle başlar. Bir tetikleyici kendisi hiçbir mantık çalıştırmaz, yalnızca grafiğin geri kalanının ne zaman yeni bir çalışma alacağına karar verir.
Hızlı bakış
- Tuvale bir tetikleyici düğümü sürükle; o, ilk düğümdür ve giriş konnektörü yoktur.
- Alan alıyorsa yapılandır (bir zamanlamanın ritmi, izlenecek bir klasör).
- Otomasyonu aktifleştir ki o tetikleyiciyi dinlemeye başlasın.
- Ya da bunların hepsini atla ve grafiği tetikleyiciden bağımsız olarak bir kez çalıştırmak için istediğin an Test'e bas.
Ayrıntılı başvuru
Manuel
Manuel başlat düğümünün alanı yoktur. Oluşturucunun Test düğmesinin kullandığı şey budur: mevcut taslağı yayınla, sonra hemen bir çalışma kuyruğa al.
Zamanlanmış
Zamanlanmış, ayarladığın bir ritimde tetiklenir.
| Alan | Seçenekler |
|---|---|
| Sıklık | Aralıklı, Günlük, Haftalık veya Cron |
| Her (dakika) | Yalnızca Aralıklı modunda kullanılır |
| Cron ifadesi | Yalnızca Cron modunda kullanılır; standart 5 alanlı bir ifade (dakika saat ayın-günü ay haftanın-günü), örneğin hafta içi 09:00 için 0 9 * * 1-5 |
| Saat dilimi | Yalnızca Cron modunda kullanılır; Europe/Istanbul gibi bir IANA adı. Boş bırakılırsa ifade sunucunun kendi saatiyle eşleştirilir |
Aktif bir zamanlanmış otomasyon, arka planda düzenli bir döngüde denetlenir; uygulamayı açık tutmana gerek yok. Aralıklı, Günlük ve Haftalık modları, otomasyonun kendi son tetiklenme zamanına göre tetiklenir. Cron modu ise çalışan bir "sıradaki zaman" işaretçisi tutar ve kaçırılan bir dakikayı (bir dağıtım, bir yeniden başlatma, yavaş bir tık) sessizce kaybetmek yerine, fark eder etmez bir kez tetikleyerek telafi eder; aynı kaçırılan pencere için asla iki kez tetiklenmez.
Gelen webhook
Gelen webhook, her otomasyona benzersiz bir gelen URL verir, /api/workflow/hook/<automation id>, ve GET veya POST isteğiyle çağrıldığında bir çalışma başlatır. Yalnızca otomasyonun durumu Aktif iken tetiklenir.
Oluşturucu şu an bu URL'i senin için göstermez ya da kopyalamaz; düğümün kendi denetçisinde yalnızca HMAC gizli anahtarı alanı vardır. Kullanmak için, sen (ya da ekibindeki bir geliştirici) otomasyonun id'sine ihtiyaç duyarsın; bunu, oluşturucu açıkken uygulamanın zaten yaptığı ağ isteklerinden okuyabilir ve sabit /api/workflow/hook/ yoluyla kendin birleştirebilirsin.
Tasarım ve çalışma alanı olayları
Bunlar, uygulamada başka bir yerde bir şey olduğunda tetiklenir. Bugün, Tasarım güncellendi, bir tasarım her kaydedildiğinde otomatik tetiklenecek şekilde bağlıdır. Geri kalanı şimdi yapılandırılabilir; uygulamanın kendi aksiyonlarının daha fazlası, ilgili yüzeyler geliştirildikçe bunlara bağlanır.
| Düğüm | Şu durumda tetiklenir |
|---|---|
| Tasarım oluşturuldu | Yeni bir tasarım oluşturulur |
| Tasarım güncellendi | Bir tasarım kaydedilir |
| Tasarım paylaşıldı | Bir tasarım paylaşılır veya yayınlanır |
| Tasarım indirildi | Bir tasarım indirilir |
| Parça etiketlendi | Bir parçaya etiket eklenir (isteğe bağlı olarak tek bir etikete filtrelenir) |
| Marka uygulandı | Bir tasarıma marka kiti uygulanır |
| Varlık yüklendi | Medya kütüphanesine bir dosya eklenir |
| AI üretimi bitti | Bir AI üretimi tamamlanır |
| Klasöre yeni iş | Seçtiğin bir klasöre bir proje eklenir |
Olay köprüsü
Herhangi bir tetikleyici türü, çalışma alanınla sınırlı, genel ve kimlik doğrulamalı bir API çağrısıyla da başlatılabilir: bir triggerType ve isteğe bağlı bir yük. Yukarıdaki tasarım güncelleme kancası perde arkasında bu şekilde tetiklenir; kendi entegrasyonların da aynı yolu kullanarak tetikleyebilir.
Birden çok otomasyon, tek bir tetikleyici türü
Birden fazla aktif otomasyon aynı tetikleyici türünü kullanabilir. Örneğin bir tasarımın kaydedilmesi, çalışma alanındaki her aktif "Tasarım güncellendi" otomasyonunu aynı anda başlatabilir; her biri kendi geçmişiyle bağımsız çalışır.
Nasıl kullanılır
Adım adım: hafta içi sabah cron zamanlaması
- Boş bir grafiğe bir Zamanlanmış tetikleyici sürükle; grafiğin tek tetikleyicisi olmalı.
- Sıklık'ı Cron olarak ayarla.
- Cron ifadesi alanına
0 9 * * 1-5yaz (09:00, Pazartesiden Cumaya). - Saat dilimini kendininkine ayarla, örneğin
Europe/Istanbul, böylece 09:00 sunucunun saatini değil senin yerel sabahını ifade eder. - Ardına en az bir aksiyon düğümü ekle (yalnız bir tetikleyici Doğrula'yı geçemez), sonra Doğrula ve Aktifleştir.
- İlk aktifleştirme hemen tetiklemek yerine zamanlamanın sıradaki olayını kurar; ondan sonra sen bir daha dokunmadan her eşleşen sabah tetiklenir.
Adım adım: imza doğrulamalı bir webhook
- Bir Gelen webhook tetikleyicisi sürükle, HMAC gizli anahtarı olarak uzun ve rastgele bir dize gir ve bir kopyasını güvenli bir yerde sakla; unutulmuş bir gizli anahtarı sonradan ortaya çıkarmanın yolu yoktur, yalnızca yenisiyle üzerine yazabilirsin.
- Ardına en az bir aksiyon ekle, Doğrula, sonra Aktifleştir; gelen URL yalnızca otomasyonun durumu Aktif olunca çağrıları kabul eder.
- Otomasyonun id'sini bul (yukarıya bak) ve gönderen sisteme
/api/workflow/hook/<id>URL'ini ver, ham JSON istek gövdesini gizli anahtarınla imzalayıpX-Signature: sha256=<hex hmac>olarak gönderme talimatıyla birlikte. - Gönderen sistemin bir "test olayı gönder" özelliği varsa onu kullan; yoksa elle bir istek gönder ve gerçek bir olayı beklemek yerine yeni bir çalışma için Aktivite görünümünü kontrol et.
Adım adım: kendi kodundan bir tetikleyiciyi tetikleme
- Herhangi bir tetikleyici türü, genel olay köprüsü üzerinden başlatılabilir:
/api/workflow/eventsadresine,{ "triggerType": "trigger.asset_uploaded", "payload": { "assetId": "..." } }gibi bir gövdeyle kimlik doğrulamalı birPOST. - Bu, uygulamanın kendi Tasarım güncellendi kancasının içeride kullandığı yolun aynısıdır, bu yüzden yerleşik editörün henüz otomatik tetiklemediği bir olayı bağlamanın kanıtlanmış bir yoludur.
- Tek bir çağrı, tetikleyicisi o türle eşleşen çalışma alanındaki her AKTİF otomasyonu tetikler; her biri, başlangıç bağlamı olarak senin yükünle beslenen kendi bağımsız çalışmasını alır.
Sorun giderme
- Tetikleyicimin olayı oldu ama hiçbir çalışma başlamadı. Bugün uygulamanın kendisinden otomatik tetiklenecek şekilde bağlı olan yalnızca Tasarım güncellendi'dir. Diğer tasarım ve çalışma alanı olay tetikleyicileri, bir kez tetiklendiğinde tümüyle işlevseldir ama uygulamada, yukarıdaki olay köprüsü üzerinden kendi entegrasyonun dışında henüz onları çağıran bir şey yoktur. O bağlantıyı beklerken grafiği tetikleyiciden bağımsız çalıştırmak için Test'i kullan.
- Otomasyon Aktif ama bir webhook çağrısı 404 alıyor. Durumun gerçekten Aktif olduğunu doğrula, Duraklatıldı ya da Taslak değil, çünkü webhook URL'ini yalnızca Aktif bir otomasyon çözer, ayrıca URL'deki id'nin tam olarak doğru olduğunu iki kez kontrol et.
- Bir webhook çağrısı 401 alıyor. Tetikleyicinin yapılandırılmış bir HMAC gizli anahtarı vardır ve çağrının imzası ya gönderilmemiş ya da eşleşmemiştir. İmza, tam olarak ham istek gövdesi üzerinden hesaplanır, bu yüzden JSON'u imzalamadan önce yeniden biçimlendirmek ya da yeniden serileştirmek, içerik birebir aynı görünse bile denetimi bozar.
- Olay tetikleniyor ama bir çalışma her seferinde başlamıyor. Otomasyonun Ayarlar bölümünde bir Debounce penceresi ve tetikleyici düğümünün kendi bekleme alanını (olay tetikleyicilerinde) kontrol et; ikisinden biri, öncekinin ardından soğuma süresine denk gelen bir tetiklemeyi sessizce düşürür.
- Zamanlanmış bir otomasyon belirli saatlerde sessizleşiyor. Ayarlar'da Sessiz saatler'i kontrol et; bu pencere içinde (otomasyonun kendi saat diliminde) tetiklenecek olan bir tetikleyici, düşürülmek ya da kuyruğa alınmak yerine ertelenir, bu yüzden pencere bittiğinde geriye dönük olarak tetiklenmez.
- İki otomasyon bir tetikleyici türünü paylaşıyor ama yalnızca biri çalıştı. Yalnızca biri Aktif idiyse ya da diğerinin tetikleyici düğümündeki kendi etiket/klasör filtresi bu belirli olayla eşleşmediyse, bu beklenen bir durumdur.
İpuçları
Grafik başına bir tetikleyici
Doğrulama, sıfır tetikleyicisi olan ya da birden fazla tetikleyicisi olan bir grafiği işaretler; tam olarak bir tane tut.
Webhook'lar yalnızca aktifken tetiklenir
Duraklatıldı ya da Taslak durumundaki bir otomasyona yapılan gelen webhook çağrısı yok sayılır. Önce onu aktifleştir.