Workflow Builder
Workflow Builder हा स्क्रिप्टेड कॉल फ्लो साठी एक दृश्य, नोड-आधारित संपादक आहे. जिथे खुल्या-टोकाचा एजंट मॉडेलला पुढे काय बोलायचे ते ठरवू देतो, तिथे एक वर्कफ्लो एजंटला एक निर्धारक मार्ग देतो — पायऱ्यांचा एक क्रम जो बोलतो, विचारतो, ब्रांच करतो, साधन कॉल करतो आणि संभाषण रूट करतो. एखाद्या कॉलला एक परिभाषित स्क्रिप्ट पाळायची असेल तेव्हा हे वापरा: एका लीडला पात्र ठरवणे, अपॉइंटमेंट बुक करणे, एका सपोर्ट समस्येचे ट्रायएज करणे किंवा एक सर्वेक्षण संकलित करणे. तुम्ही हे एजंट बिल्डरमध्ये /agent/setup वर Tools टॅबमधून, Open Workflow Builder बटण वापरून उघडता.
एक वर्कफ्लो एकाच एजंटचा असतो. कॉलच्या वेळी एक सुपरवायझर संभाषण पाहतो, कॉलर कोणता इंटेंट व्यक्त करत आहे ते ठरवतो, आणि त्या इंटेंटच्या पायऱ्या क्रमाने चालवतो. पायऱ्यांच्या आत एजंट ज्या कार्यांचा वापर करू शकतो ती नेमकी तीच आहेत जी तुम्ही Tools टॅबवर बांधली आहेत — वर्कफ्लो तुम्ही परवानगी न दिलेल्या कोणत्याही साधनापर्यंत पोहोचू शकत नाही.
वर्कफ्लोची रचना कशी असते
Workflow Builder: n8n-शैलीच्या नोड कॅनव्हासवर निश्चित कॉल फ्लो डिझाइन करा, सोबत वैकल्पिक सुपरवायझर प्रॉम्प्ट.
एका वर्कफ्लोचे तीन नेस्टेड स्तर असतात:
- Graph — प्रति एजंट एक वर्कफ्लो. तो एक वैकल्पिक सुपरवायझर प्रॉम्प्ट बाळगतो (इंटेंट रूट करणाऱ्या AI सुपरवायझरसाठी सानुकूल सूचना). तुम्ही ग्राफ तयार करेपर्यंत, बिल्डर एकदाच दिसणारी Create Workflow Graph स्क्रीन सुपरवायझर-प्रॉम्प्ट फील्डसह दाखवतो.
- Intents — संभाषणाच्या शाखा. प्रत्येक इंटेंटला एक display name, एक internal name, एक description (सुपरवायझर मॉडेलला दाखवले जाते जेणेकरून तो इंटेंट जुळवू शकेल), trigger phrases ची एक सूची, एक default intent टॉगल, आणि एक वैकल्पिक fallback response असतो जो त्याच्या सर्व पायऱ्या अयशस्वी झाल्यास वापरला जातो. सुपरवायझर तो इंटेंट निवडतो ज्याचे वर्णन आणि ट्रिगर वाक्यांश कॉलरने जे म्हटले त्याला सर्वात चांगले जुळतात.
- Steps — एका इंटेंटमधील क्रमबद्ध क्रिया. पायऱ्या डिफॉल्टपणे वरून खाली चालतात, आणि प्रत्येक पायरीचा एक प्रकार असतो जो ती काय करते ते ठरवतो.
कॅनव्हासवर हे एका हिरव्या Start नोडच्या रूपात वाचले जाते जो प्रति शाखा एका Intent नोडमध्ये वाहतो, त्या इंटेंटच्या Step नोड त्याखाली रचलेल्या असतात. एक मिनीमॅप, झूम नियंत्रणे आणि एक ठिपकेदार पार्श्वभूमी मोठ्या फ्लोमध्ये नेव्हिगेट करण्यास मदत करतात.
सुपरवायझर कॉलरचे कथन प्रत्येक इंटेंटच्या description आणि trigger phrases शी जुळवतो, म्हणून तुम्ही एखाद्या सहकाऱ्याला थोडक्यात सांगाल तसे वर्णन लिहा ("User wants to book or schedule an appointment") आणि काही नैसर्गिक ट्रिगर वाक्यांश जोडा. एका इंटेंटला default म्हणून चिन्हांकित करा जेणेकरून स्पष्टपणे इतर कशाशीही न जुळणारी संभाषणे पकडली जातील.
पायरी प्रकार
Add Step सह एक पायरी जोडा (एक इंटेंट किंवा त्याची एखादी पायरी निवडल्यानंतर), जे नोड पिकर उघडते. पिकर पायरी प्रकारांना Conversation, Logic, Integrations आणि Call Control मध्ये गटबद्ध करतो. तेरा प्रकार आहेत:
- Message — बॉट कॉलरला एक ओळ बोलतो.
- Question — बॉट काहीतरी विचारतो आणि उत्तर एका variable मध्ये साठवतो. तुम्ही एक validation type (Any, Number, Email, Date, Yes / No किंवा Phone) आणि उत्तर सत्यापनात अयशस्वी झाल्यावर वापरला जाणारा एक re-ask message निवडता.
- Condition — फ्लो ब्रांच करतो. तुम्ही एक field (एक सत्र व्हेरिएबल), एक operator (equals, not equals, contains, does not contain, greater than, less than, matches regex, is empty, is not empty) आणि एक value निवडता, मग If True आणि If False विशिष्ट पायऱ्यांकडे रूट करता.
- Tool Call — एजंटला बांधलेले एक built-in किंवा custom कार्य कॉल करते. तुम्ही साधन प्रकार, कार्य, आणि एक वैकल्पिक input mapping (JSON) निवडता जे पायरी इनपुट सत्र व्हेरिएबलशी मॅप करते.
- Appointment — त्याच्या स्वतःच्या इनपुट मॅपिंगसह, एका बुकिंग कार्याविरुद्ध एक अपॉइंटमेंट-बुकिंग उप-फ्लो चालवते.
- Webhook — एका बाह्य URL ला एक HTTP विनंती करते. तुम्ही method (GET, POST, PUT, PATCH, DELETE), URL, वैकल्पिक headers (JSON), एक body template, आणि प्रतिसाद save the response करण्यासाठी एक व्हेरिएबल सेट करता.
- Transfer — कॉल दुसऱ्या एका phone number or queue कडे सोपवतो, ट्रान्सफरपूर्वी घोषित केलेल्या एका वैकल्पिक संदेशासह. कॉल ट्रान्सफर एंड-टू-एंड कसे वागतात यासाठी कॉलिंग आणि टेलिफोनी पहा.
- End Call — कॉल बंद करते, वैकल्पिकरित्या प्रथम एक goodbye message बोलून.
- Delay — पुढे चालू ठेवण्यापूर्वी एका ठरलेल्या सेकंदांच्या संख्येपर्यंत (1–60) शांतपणे प्रतीक्षा करते.
- Set Variable — एक मूल्य (स्थिर मजकूर किंवा दुसऱ्या व्हेरिएबलचा संदर्भ) एका सत्र व्हेरिएबलमध्ये साठवते.
- Send Notification — एक नामित टेम्पलेट आणि एक व्हेरिएबल मॅपिंग (JSON) वापरून एक SMS, email किंवा WhatsApp संदेश पाठवते.
- Static Response — मजकुराचा एक निश्चित भाग बोलते. हा एक लेगसी नोड आहे; नवीन फ्लोसाठी Message ला प्राधान्य द्या.
- Play Audio — कॉलरला एक ऑडिओ फाइल (एक सार्वजनिक WAV किंवा MP3 URL) वाजवते.
प्रत्येक पायरी उजव्या-हाताच्या पॅनेलमध्ये कॉन्फिगर केली जाते जे एक नोड निवडल्यावर उघडते. पॅनेल फक्त त्या पायरीच्या प्रकाराशी संबंधित फील्ड दाखवते, तसेच पायरीचे नाव आणि एक प्रकार निवडक.
एक Question किंवा Set Variable पायरी तिचा निकाल तुम्ही निवडलेल्या नावाखाली साठवते. त्याचा नंतर संदर्भ घ्या — एका Message मध्ये, एका Condition च्या field मध्ये, एका Webhook body मध्ये किंवा एका notification mapping मध्ये — {variable_name} सारख्या कर्ली-ब्रेस सिंटॅक्ससह. अशा प्रकारे एक फ्लो कॉलरने काय म्हटले ते लक्षात ठेवतो आणि ते पायऱ्यांमध्ये पुढे नेतो.
ब्रांचिंग आणि रूटिंग
पायऱ्यांना एका सरळ रेषेत चालण्याची गरज नाही:
- एक Condition पायरी True आणि False आउटपुट उघड करते. एका व्हेरिएबलच्या मूल्यावर ब्रांच करण्यासाठी प्रत्येक एका लक्ष्य पायरीशी वायर करा (किंवा ते Continue in order वर ठेवा).
- इतर प्रत्येक पायरी प्रकाराला On Success आणि On Failure रूटिंग असते. डिफॉल्टपणे एक पायरी क्रमातील पुढच्याकडे चालू राहते; इतरत्र उडी मारण्यासाठी ही सेट करा — उदाहरणार्थ, एका अयशस्वी Tool Call ला एका रिकव्हरी संदेशाकडे रूट करा.
तुम्ही रूटिंग दोन प्रकारे सेट करू शकता: कॉन्फिग पॅनेलमध्ये लक्ष्य पायरी निवडा, किंवा कॅनव्हासवर एका पायरीच्या आउटपुट हँडलवरून (हिरवा OK / TRUE हँडल किंवा लाल FAIL / FALSE हँडल) दुसऱ्या पायरीकडे एक कनेक्शन ओढा. कॅनव्हासवर काढलेली कनेक्शन्स लगेच वर्कफ्लोमध्ये जतन होतात.
तयार करणे आणि जतन करणे
बिल्डर बदल एका मोठ्या जतनाऐवजी तुम्ही करताच टिकवतो:
- Add Intent एक नवीन शाखा तयार करते; तिचे नाव, वर्णन आणि ट्रिगर वाक्यांश भरण्यासाठी त्यावर क्लिक करा, मग पॅनेलमध्ये Save Changes करा.
- Add Step तुम्ही निवडलेल्या प्रकाराची एक पायरी घालते; ती पॅनेलमध्ये कॉन्फिगर करा आणि Save Changes करा.
- एका नोडवरील वर / खाली शेव्हरॉन इंटेंट आणि पायऱ्या पुनर्क्रमित करतात; एक नोड हटवणे (त्याच्या ट्रॅश चिन्हाद्वारे किंवा Delete की द्वारे) प्रथम पुष्टी मागते.
- टूलबारचे Save बटण सुपरवायझर प्रॉम्प्ट साठवते; एक अंबर ठिपका न जतन केलेले प्रॉम्प्ट संपादन चिन्हांकित करतो.
एका टेम्पलेटमधून सुरुवात करा
सुरवातीपासून तयार करण्याऐवजी, Templates बटण तयार फ्लो देते जे तुम्ही लोड करून मग संपादित करू शकता: Lead Qualification, Appointment Booking, Customer Support, NPS Survey, Payment Reminder आणि Customer Onboarding. प्रत्येक त्याच्या पायऱ्यांसह एक पूर्ण इंटेंट टाकते, ज्यात प्रश्न, अटी आणि गुडबाय संदेश समाविष्ट आहेत. एक टेम्पलेट लागू करणे तुमच्या विद्यमान वर्कफ्लोला बदलण्याऐवजी त्यात जोडते, त्यामुळे तुम्ही अनेक एकत्र करू शकता किंवा तुम्हाला नको असलेले छाटू शकता.
OpenAPI स्पेकमधून कार्ये आयात करा
Import API बटण एका विद्यमान API ला एजंट कार्यांत बदलते जी तुम्ही Tool Call पायऱ्यांमधून कॉल करू शकता. एक OpenAPI / Swagger स्पेक पुरवा — URL द्वारे किंवा ते पेस्ट करून (OpenAPI 2.0 किंवा 3.x, JSON किंवा YAML) — आणि आयातक ऑपरेशन्स पार्स करतो. तुम्हाला हवी असलेली ऑपरेशन्स निवडा, बेस URL ची पुष्टी करा, आणि ते त्यांच्यासाठी custom functions तयार करते. ती कार्ये नंतर Tool Call पायऱ्यांसाठी कार्य सूचीत आणि Tools टॅबवर दिसतात.
एक Tool Call पायरी फक्त एजंटला आधीच उपलब्ध असलेली कार्येच वापरू शकते — अंगभूत कार्ये आणि Tools टॅबवर बांधलेली कोणतीही सानुकूल कार्ये, ज्यात OpenAPI आयातकाने तयार केलेली समाविष्ट आहेत. तुम्हाला हवे असलेले कार्य सूचीत नसेल, तर प्रथम ते Tools टॅबवर जोडा.