मुख्य कंटेंट तक स्किप करें

Workflow Builder

Workflow Builder स्क्रिप्टेड कॉल प्रवाह के लिए एक दृश्य, नोड-आधारित संपादक है। जहाँ खुला-छोर एजेंट मॉडल को तय करने देता है कि आगे क्या कहना है, वहीं एक वर्कफ़्लो एजेंट को एक नियतात्मक पथ देता है — चरणों का एक क्रम जो बोलता है, पूछता है, ब्रांच करता है, टूल कॉल करता है और बातचीत को रूट करता है। इसका उपयोग तब करें जब किसी कॉल को एक परिभाषित स्क्रिप्ट का पालन करना हो: किसी लीड को योग्य ठहराना, अपॉइंटमेंट बुक करना, किसी सपोर्ट मुद्दे को ट्राइएज करना या एक सर्वेक्षण एकत्र करना। आप इसे एजेंट बिल्डर में /agent/setup पर Tools टैब से, Open Workflow Builder बटन का उपयोग करके खोलते हैं।

एक वर्कफ़्लो एक ही एजेंट का होता है। कॉल के समय एक सुपरवाइज़र बातचीत देखता है, तय करता है कि कॉल करने वाला कौन-सा इंटेंट व्यक्त कर रहा है, और उस इंटेंट के चरण क्रम में चलाता है। चरणों के भीतर एजेंट जिन फ़ंक्शन का उपयोग कर सकता है वे ठीक वही हैं जो आपने Tools टैब पर बाँधे हैं — वर्कफ़्लो किसी ऐसे टूल तक नहीं पहुँच सकता जिसे आपने अनुमति नहीं दी।

वर्कफ़्लो की संरचना कैसी होती है

Workflow Builder 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 टैब पर जोड़ें।

अगले कदम