Otomasyonlar nasıl çalışır
Bir otomasyon, bir şeyler oldukça kişilere tek tek posta gönderir: biri bir listeye katılır, bir form doldurur, ürününüzde bir şey yapar ya da doğum günü gelir. Yolu bir kez tarif edersiniz ve her kişi onu kendi hızında yürür.
Bir tetikleyici ve bir adım ağacı
Bir definition, bir trigger, entry adımı ve bir steps listesinden oluşur. Her adımın otomasyon içinde benzersiz bir key değeri vardır: bir küçük harf ve ardından 2 ile 23 arasında küçük harf ya da rakam. Bir adım kendisinden sonra geleni next içinde belirtir, bir branch ise iki tane belirtir, yes ve no. null o yolu bitirir. Adımlar bir ağaç oluşturur, bu yüzden hiçbir adıma iki yerden ulaşılmaz ve hiçbir şey geri dönmez. Bir otomasyon en fazla 50 adım tutar ve dallar en fazla 5 düzey derinliğinde olabilir.
audience_joined: bir kişiaudienceIdkitlesine eklenir. İçe aktarmayla eklenen kişiler,includeImportedtrue olmadıkça dışarıda bırakılır.form_submitted: bir kişiformIdformuyla kaydolur. Çift onayda, onayladığında girer.event: kodunuzeventNameadlı bir olay gönderir. Özellikleri üzerindeki en fazla 5filterskimin gireceğini daraltır.date:audienceIdkitlesinin her üyesi için bir gün gelir.fielddeğeribirthdayya dajoinedolur, yani o kitleye katıldığı günün yıl dönümü.offsetDaysbunu bir yıla kadar kaydırır: önceki günler için negatif, sonraki günler için pozitif.manual: kimse kendiliğinden girmez. Kişileri uygulamadan ya da kayıt uç noktasıyla eklersiniz.
| Adım | Ne yapar |
|---|---|
| send_email | templateId şablonunun yayımlanmış sürümünü, bu çalışma alanının bir adresi olan from adresinden gönderir. props şablon değerlerini doldurur, subject ise şablonun konusunun yerini alır ve {{firstName|there}} gibi birleştirme alanlarını kabul eder |
| wait | Kişiyi bekletir: bir duration boyunca, until ile verilen bir sonraki haftanın günü ve saatine kadar ya da yapması gereken bir event için, sonrasında yine de devam edeceği bir timeout ile |
| branch | Tek bir soru sorar ve kişiyi yes ya da no yoluna gönderir: önceki bir e-posta adımı için email_opened ya da email_clicked, in_audience, bir kişi field değeri ya da withinDays içinde yaptığı bir event |
| add_to_audience, remove_from_audience | Kişinin hangi kitlelerde olduğunu değiştirir |
| update_field | Kişiye bir değer yazar |
| webhook | Webhook uç noktalarınızdan birini bir automation.webhook olayıyla çağırır |
| exit | Yolu erken bitirir. Bitirme değil, çıkış sayılır |
props ya da update_field içindeki bir değer üç yerden birinden gelir: { "source": "static", "value": "…" }, email, name, firstName, lastName ya da attributes.<key> için { "source": "contact", "field": "firstName" } ve yolculuğu başlatan olayın bir özelliği için { "source": "event", "path": "orderId" }.
Bir taslak ve yayında bir sürüm
Kaydetmek taslak definition değerini değiştirir. POST /automations/{id}/publish taslağı numaralı bir sürüm olarak dondurana dek hiçbir şey çalışmaz, ardından published o sürümü gösterir. Zaten içeride olan kişiler girdikleri sürümle bitirir, sonradan girenler ise yenisini alır. hasUnpublishedChanges, taslağın ilerlediğini söyler.
draft: hiç yayımlanmadı. Kimse girmez.live: yayımlandı ve çalışıyor.paused: kimse girmez ve içerideki herkes olduğu yerde bekler.pausedReasonnedenini söyler:manualya da motorun karşılaştığı bir sorun, örneğinsender_refusedya datemplate_unavailable.archived: kalıcı olarak emekliye ayrıldı. İçerideki herkes çıkar ve geçmiş kalır.
settings ayrıdır ve kaydedilir kaydedilmez geçerli olur: timezone, dışında e-postaların beklediği bir sendWindow, aynı kişinin yeniden girebilmesinden önceki reentryDays (null yalnızca bir kez demektir), tetikleyici kitlesinden ayrılan kişileri çıkarmak için exitOnLeave ve bir abonelikten çıkmanın kaydedildiği kitle olan listAudienceId.
problems taslaktaki sorunları listeler, her biri bir code, alanın path değeri, stepKey ve blocking olup olmadığıyla. Engelleyen bir sorunu olan taslak yayımlanamaz.
Bir otomasyonun içindeki kişiler
Giren her kişi bir kayıt alır. Kişi adımlardan geçerken kayıt active, bir yolun sonuna vardığında completed, erken ayrıldığında ise bir exitReason ile exited olur: exit_step, unsubscribed, suppressed, left_audience, removed, archived ya da failed.
- Adımlar, zamanı geldikten sonra yaklaşık 15 saniye içinde çalışır. Bir kişi aynı geçişte bir otomasyondan asla iki e-posta almaz.
- Otomasyon e-postaları pazarlama postasıdır, bu yüzden her biri bir abonelikten çıkma bağlantısı taşır. Abonelikten çıkan kişi o listeye posta gönderen otomasyonlardan ayrılır, adresi geri dönen ya da şikâyet eden kişi ise sonraki adımında ayrılır.
- Adresi posta alamayan bir e-posta atlanır ve kişi sonraki adıma geçer.
- Bir gönderim herkes için reddedildiğinde, örneğin alan adını kaybeden bir gönderen ya da yayından kaldırılan bir şablon yüzünden, otomasyon duraklar ve
pausedReasonnedenini söyler.
Uygulamanızdan gelen olaylar
POST /events, bir kişinin bir şey yaptığını kaydeder: order.placed, trial.started, plan.upgraded. Bir olay, tetikleyicisi onun adını veren yayındaki her otomasyonu başlatır, onu bekleyen herkesi ilerletir ve bir dalın event sorusunu yanıtlar. Olaylar 90 gün saklanır.
Kim ne yapabilir
- Okumak
automations:read, değiştirmekautomations:writegerektirir. Yayımlamak, sürdürmek ve test göndermek ayrıcaemails:sendgerektirir, çünkü bunlar otomasyona posta gönderttirir. - Olay göndermek
contacts:write, bir kişinin olaylarını okumakcontacts:readgerektirir. - Bir API anahtarı ve sahip, çalışma alanındaki her otomasyonu görür. Bir üyenin bağladığı uygulama o üyenin oluşturduklarını görür.
- Bir otomasyonu silmek bir OAuth uygulamasından doğrulama kodu ister. Bir API anahtarının buna asla ihtiyacı olmaz.
- Bir plan Free'de 1, Starter'da 10, Business'ta 50 ve Enterprise'da sınırsız yayında otomasyona izin verir. Bir çalışma alanı varsayılan olarak 100 otomasyon tutar.
automation.entered, automation.exited ve automation.paused webhook'ları sistemlerinize kimin girdiğini, kimin çıktığını ve bir otomasyonun ne zaman durduğunu bildirir. Bir otomasyonu arşivlemek, her kişi için bir automation.exited olayı olmadan içindeki herkesi sonlandırır.
Koddan, terminalden ve ajanlardan
Buradaki her şey SDK'da openemail.automations ve openemail.events, CLI'da ise openemail automations ve openemail events olarak da vardır. MCP sunucusunda otomasyon araçları bulunur, böylece bir ajan bir otomasyon kurabilir, yayımlayabilir ve içeride kimin olduğunu izleyebilir.