ऑटोमेशन कैसे काम करते हैं
ऑटोमेशन लोगों को एक-एक करके मेल भेजता है, जैसे-जैसे चीज़ें होती हैं: कोई सूची में जुड़ता है, फ़ॉर्म भरता है, आपके प्रोडक्ट में कुछ करता है, या उसका जन्मदिन आता है। आप रास्ता एक बार बताते हैं और हर व्यक्ति उस पर अपनी रफ़्तार से चलता है।
एक ट्रिगर और चरणों का एक ट्री
definition में एक trigger, entry चरण और steps की एक सूची होती है। हर चरण का एक key होता है जो ऑटोमेशन में अनोखा है: एक छोटा अक्षर और उसके बाद 2 से 23 छोटे अक्षर या अंक। चरण next में अपने बाद वाले चरण का नाम देता है, और branch दो का, yes और no। null उस रास्ते को ख़त्म करता है। चरण एक ट्री बनाते हैं, इसलिए किसी चरण तक दो जगहों से नहीं पहुँचा जाता और कुछ भी पीछे नहीं लौटता। एक ऑटोमेशन में अधिकतम 50 चरण होते हैं, और ब्रांच अधिकतम 5 स्तर गहरी होती हैं।
audience_joined: कोई संपर्कaudienceIdमें जोड़ा जाता है। इम्पोर्ट से जोड़े गए संपर्क छोड़ दिए जाते हैं, जब तकincludeImportedtrue न हो।form_submitted: कोई व्यक्तिformIdफ़ॉर्म से साइन अप करता है। डबल ऑप्ट-इन में वह पुष्टि करने पर अंदर आता है।event: आपका कोडeventNameनाम का इवेंट भेजता है। उसकी प्रॉपर्टी पर अधिकतम 5filtersतय करते हैं कि कौन अंदर आता है।date:audienceIdके हर सदस्य के लिए एक दिन आता है।fieldका मानbirthdayयाjoinedहोता है, यानी उस ऑडियंस में जुड़ने के दिन की सालगिरह।offsetDaysइसे अधिकतम एक साल तक खिसकाता है: पहले के दिनों के लिए ऋणात्मक, बाद के दिनों के लिए धनात्मक।manual: कोई अपने आप अंदर नहीं आता। आप ऐप से या जोड़ने वाले एंडपॉइंट से लोगों को जोड़ते हैं।
| चरण | यह क्या करता है |
|---|---|
| send_email | templateId का प्रकाशित संस्करण from से भेजता है, जो इस वर्कस्पेस का एक पता है। props टेम्पलेट के मान भरता है, और subject टेम्पलेट के विषय की जगह लेता है और {{firstName|there}} जैसे मर्ज फ़ील्ड लेता है |
| wait | व्यक्ति को रोके रखता है: किसी duration के लिए, until यानी अगले दिए गए सप्ताह के दिन और समय तक, या किसी event तक जो उसे करना है, एक timeout के साथ जिसके बाद वह वैसे भी आगे बढ़ जाता है |
| branch | एक सवाल पूछता है और व्यक्ति को yes या no की ओर भेजता है: किसी पिछले ईमेल चरण के लिए email_opened या email_clicked, in_audience, संपर्क का कोई field, या कोई event जो उसने withinDays के अंदर किया |
| add_to_audience, remove_from_audience | बदलता है कि संपर्क किन ऑडियंस में है |
| update_field | संपर्क पर एक मान लिखता है |
| webhook | आपके किसी वेबहुक एंडपॉइंट को automation.webhook इवेंट के साथ कॉल करता है |
| exit | रास्ते को पहले ही ख़त्म करता है। इसे बाहर निकलना गिना जाता है, पूरा करना नहीं |
props या update_field का कोई मान तीन में से एक जगह से आता है: { "source": "static", "value": "…" }, email, name, firstName, lastName या attributes.<key> के लिए { "source": "contact", "field": "firstName" }, और उस इवेंट की किसी प्रॉपर्टी के लिए { "source": "event", "path": "orderId" } जिसने भागीदारी शुरू की।
एक ड्राफ़्ट और एक लाइव संस्करण
सहेजने से ड्राफ़्ट की definition बदलती है। जब तक POST /automations/{id}/publish ड्राफ़्ट को एक क्रमांकित संस्करण के रूप में स्थिर नहीं करता, कुछ नहीं चलता, और फिर published वही संस्करण दिखाता है। जो लोग पहले से अंदर हैं वे उसी संस्करण पर पूरा करते हैं जिसके साथ वे आए थे, और बाद में आने वालों को नया संस्करण मिलता है। hasUnpublishedChanges बताता है कि ड्राफ़्ट आगे बढ़ चुका है।
draft: कभी प्रकाशित नहीं हुआ। कोई अंदर नहीं आता।live: प्रकाशित है और चल रहा है।paused: कोई अंदर नहीं आता और अंदर के सभी लोग जहाँ हैं वहीं रुके रहते हैं।pausedReasonवजह बताता है:manual, या इंजन को मिली कोई समस्या, जैसेsender_refusedयाtemplate_unavailable।archived: हमेशा के लिए बंद। अंदर के सभी लोग बाहर हो जाते हैं, और इतिहास बना रहता है।
settings अलग हैं और सहेजते ही लागू हो जाती हैं: timezone, एक sendWindow जिसके बाहर ईमेल इंतज़ार करते हैं, वही व्यक्ति दोबारा अंदर आ सके उससे पहले के reentryDays (null का मतलब एक ही बार), ट्रिगर की ऑडियंस छोड़ने वालों को बाहर करने के लिए exitOnLeave, और listAudienceId, यानी वह ऑडियंस जिस पर सदस्यता छोड़ना दर्ज होता है।
problems ड्राफ़्ट की गड़बड़ियों की सूची देता है, हर एक code, फ़ील्ड के path, stepKey और इस जानकारी के साथ कि वह blocking है या नहीं। रोकने वाली समस्या वाला ड्राफ़्ट प्रकाशित नहीं हो सकता।
ऑटोमेशन के अंदर के लोग
अंदर आने वाले हर व्यक्ति को एक भागीदारी मिलती है। जब तक वह चरणों से गुज़रता है यह active रहती है, रास्ते के आख़िर तक पहुँचने पर completed, और पहले निकल जाने पर exited, एक exitReason के साथ: exit_step, unsubscribed, suppressed, left_audience, removed, archived या failed।
- चरण अपना समय आने के लगभग 15 सेकंड के अंदर चलते हैं। किसी व्यक्ति को एक ही दौर में एक ऑटोमेशन से दो ईमेल कभी नहीं मिलते।
- ऑटोमेशन के ईमेल मार्केटिंग मेल हैं, इसलिए हर एक में सदस्यता छोड़ने का लिंक होता है। जो व्यक्ति सदस्यता छोड़ता है वह उस सूची को मेल भेजने वाले ऑटोमेशन से बाहर हो जाता है, और जिसका पता बाउंस हुआ या जिसने शिकायत की वह अपने अगले चरण पर बाहर हो जाता है।
- जिस ईमेल का पता मेल नहीं पा सकता उसे छोड़ दिया जाता है, और व्यक्ति अगले चरण पर बढ़ जाता है।
- जब कोई भेजना सबके लिए मना हो जाता है, जैसे अपना डोमेन खो चुका भेजने वाला या ऐसा टेम्पलेट जिसका प्रकाशन हटा दिया गया, तो ऑटोमेशन रुक जाता है और
pausedReasonवजह बताता है।
आपके ऐप के इवेंट
POST /events दर्ज करता है कि किसी संपर्क ने कुछ किया: order.placed, trial.started, plan.upgraded। इवेंट हर उस लाइव ऑटोमेशन को शुरू करता है जिसके ट्रिगर में उसका नाम है, जो कोई उसका इंतज़ार कर रहा है उसे आगे बढ़ाता है, और ब्रांच के event सवाल का जवाब देता है। इवेंट 90 दिनों तक रखे जाते हैं।
कौन क्या कर सकता है
- पढ़ने के लिए
automations:readऔर बदलने के लिएautomations:writeचाहिए। प्रकाशित करने, फिर से शुरू करने और टेस्ट भेजने के लिएemails:sendभी चाहिए, क्योंकि इनसे ऑटोमेशन मेल भेजता है। - इवेंट भेजने के लिए
contacts:writeचाहिए, और किसी संपर्क के इवेंट पढ़ने के लिएcontacts:readचाहिए। - API कुंजी और मालिक वर्कस्पेस का हर ऑटोमेशन देखते हैं। किसी सदस्य का जोड़ा हुआ ऐप वही देखता है जो उस सदस्य ने बनाए।
- ऑटोमेशन हटाने पर OAuth ऐप से सत्यापन कोड माँगा जाता है। API कुंजी को इसकी कभी ज़रूरत नहीं होती।
- प्लान में Free पर 1 लाइव ऑटोमेशन, Starter पर 10, Business पर 50 और Enterprise पर कितने भी हो सकते हैं। एक वर्कस्पेस डिफ़ॉल्ट रूप से 100 ऑटोमेशन रख सकता है।
automation.entered, automation.exited और automation.paused वेबहुक आपके सिस्टम को बताते हैं कि कौन अंदर गया, कौन बाहर आया और ऑटोमेशन कब रुका। ऑटोमेशन आर्काइव करने से उसमें मौजूद हर व्यक्ति की भागीदारी ख़त्म हो जाती है, हर व्यक्ति के लिए automation.exited इवेंट के बिना।
कोड, टर्मिनल और एजेंट से
यहाँ का सब कुछ SDK में openemail.automations और openemail.events के रूप में, और CLI में openemail automations और openemail events के रूप में भी है। MCP सर्वर में ऑटोमेशन टूल हैं, इसलिए कोई एजेंट ऑटोमेशन बना सकता है, उसे प्रकाशित कर सकता है और देख सकता है कि अंदर कौन है।