স্কিপ করে মূল কন্টেন্ট এ যান

Workflow Builder

Workflow Builder হলো স্ক্রিপ্টেড কল ফ্লো-এর জন্য একটি ভিজ্যুয়াল, নোড-ভিত্তিক এডিটর। যেখানে উন্মুক্ত এজেন্ট মডেলকে পরবর্তীতে কী বলবে তা ঠিক করতে দেয়, সেখানে একটি workflow এজেন্টকে একটি নির্ধারিত পথ দেয় — ধাপগুলির একটি ক্রম যা কথা বলে, প্রশ্ন করে, শাখা তৈরি করে, টুল কল করে এবং কথোপকথন রুট করে। একটি কলকে যখন একটি নির্ধারিত স্ক্রিপ্ট অনুসরণ করতে হয় তখন এটি ব্যবহার করুন: একটি লিডকে যাচাই করা, একটি অ্যাপয়েন্টমেন্ট বুক করা, একটি সাপোর্ট সমস্যা ট্রায়াজ করা বা একটি সার্ভে সংগ্রহ করা। আপনি /agent/setup-এ এজেন্ট বিল্ডারের Tools ট্যাব থেকে Open Workflow Builder বোতাম দিয়ে এটি খোলেন।

একটি workflow একটি একক এজেন্টের অন্তর্গত। কল চলাকালীন একটি supervisor কথোপকথন পর্যবেক্ষণ করে, কলার কোন intent প্রকাশ করছে তা ঠিক করে এবং সেই intent-এর steps ক্রমানুসারে চালায়। এজেন্ট steps-এর ভেতরে যে ফাংশনগুলি ব্যবহার করতে পারে সেগুলি ঠিক সেই ফাংশন যেগুলি আপনি Tools ট্যাবে বাঁধাই করেছেন — আপনি যে টুল মঞ্জুর করেননি workflow সেটিতে পৌঁছাতে পারে না।

একটি workflow কীভাবে গঠিত

Workflow Builder Workflow Builder: একটি n8n-ধাঁচের নোড ক্যানভাসে নির্ধারিত কল ফ্লো ডিজাইন করুন, সাথে একটি ঐচ্ছিক সুপারভাইজার প্রম্পট।

একটি workflow-এর তিনটি নেস্টেড স্তর রয়েছে:

  • Graph — প্রতি এজেন্টে একটি workflow। এটি একটি ঐচ্ছিক supervisor prompt বহন করে (intent রুট করা AI supervisor-এর জন্য কাস্টম নির্দেশনা)। আপনি graph তৈরি না করা পর্যন্ত, বিল্ডার supervisor-prompt ফিল্ড সহ একটি এককালীন Create Workflow Graph স্ক্রিন দেখায়।
  • Intents — কথোপকথনের শাখা। প্রতিটি intent-এর একটি display name, একটি internal name, একটি description (supervisor মডেলকে দেখানো হয় যাতে এটি intent মেলাতে পারে), trigger phrases-এর একটি তালিকা, একটি default intent টগল এবং একটি ঐচ্ছিক fallback response থাকে যা এর সব steps ব্যর্থ হলে ব্যবহৃত হয়। কলার যা বলেছে তার সাথে যে intent-এর description ও trigger phrases সবচেয়ে ভালো মেলে supervisor সেটি বেছে নেয়।
  • Steps — একটি intent-এর ভেতরের ক্রমানুসারে সাজানো ক্রিয়া। steps ডিফল্টভাবে উপর থেকে নিচে চলে, এবং প্রতিটি step-এর একটি type থাকে যা এটি কী করে তা ঠিক করে।

ক্যানভাসে এটি একটি সবুজ Start নোড হিসেবে দেখায় যা প্রতি শাখায় একটি Intent নোডে প্রবাহিত হয়, সেই intent-এর Step নোডগুলি তার নিচে স্তূপীকৃত থাকে। একটি মিনিম্যাপ, জুম নিয়ন্ত্রণ এবং একটি বিন্দুযুক্ত পটভূমি বড় ফ্লোতে নেভিগেট করতে সাহায্য করে।

Intents হলো supervisor যেভাবে রুট করে

supervisor কলারের উক্তিকে প্রতিটি intent-এর descriptiontrigger phrases-এর বিপরীতে মেলায়, তাই description এমনভাবে লিখুন যেভাবে আপনি একজন সহকর্মীকে ব্রিফ করতেন ("User wants to book or schedule an appointment") এবং কয়েকটি স্বাভাবিক trigger phrases যোগ করুন। যে কথোপকথনগুলি স্পষ্টভাবে অন্য কিছুর সাথে মেলে না সেগুলি ধরতে একটি intent-কে default হিসেবে চিহ্নিত করুন।

Step-এর ধরন

একটি step যোগ করুন Add Step দিয়ে (একটি intent বা এর একটি step নির্বাচন করার পর), যা নোড পিকার খোলে। পিকার step-এর ধরনগুলিকে Conversation, Logic, Integrations এবং Call Control-এ গোষ্ঠীবদ্ধ করে। তেরোটি ধরন আছে:

  • Message — বট কলারকে একটি লাইন বলে।
  • Question — বট কিছু জিজ্ঞাসা করে এবং উত্তরটি একটি variable-এ সংরক্ষণ করে। আপনি একটি validation type (Any, Number, Email, Date, Yes / No বা Phone) এবং উত্তর validation-এ ব্যর্থ হলে ব্যবহৃত একটি re-ask message বেছে নেন।
  • Condition — ফ্লো-কে শাখায় ভাগ করে। আপনি একটি field (একটি session variable), একটি operator (equals, not equals, contains, does not contain, greater than, less than, matches regex, is empty, is not empty) এবং একটি value বেছে নেন, তারপর If TrueIf False নির্দিষ্ট steps-এ রুট করেন।
  • Tool Call — এজেন্টের সাথে বাঁধাই করা একটি built-in বা custom ফাংশন কল করে। আপনি টুলের ধরন, ফাংশন এবং একটি ঐচ্ছিক input mapping (JSON) নির্বাচন করেন যা step ইনপুটগুলিকে session variable-এ ম্যাপ করে।
  • Appointment — নিজের input mapping সহ একটি বুকিং ফাংশনের বিপরীতে একটি অ্যাপয়েন্টমেন্ট-বুকিং সাব-ফ্লো চালায়।
  • Webhook — একটি বহিরাগত URL-এ একটি HTTP অনুরোধ করে। আপনি method (GET, POST, PUT, PATCH, DELETE), URL, ঐচ্ছিক headers (JSON), একটি body template এবং প্রতিক্রিয়া যেখানে save the response করতে হবে সেই variable সেট করেন।
  • Transfer — কলটি অন্য একটি phone number or queue-এ হস্তান্তর করে, ট্রান্সফারের আগে ঘোষণা করা একটি ঐচ্ছিক বার্তা সহ। কল ট্রান্সফার প্রান্ত-থেকে-প্রান্ত কীভাবে আচরণ করে তার জন্য দেখুন কলিং ও টেলিফোনি
  • End Call — কল বন্ধ করে, ঐচ্ছিকভাবে প্রথমে একটি goodbye message বলে।
  • Delay — চালিয়ে যাওয়ার আগে নির্ধারিত সংখ্যক সেকেন্ড (1–60) নীরবে অপেক্ষা করে।
  • Set Variable — একটি মান (স্ট্যাটিক টেক্সট বা অন্য একটি variable-এর রেফারেন্স) একটি session variable-এ সংরক্ষণ করে।
  • Send Notification — একটি নামযুক্ত টেমপ্লেট ও একটি variable mapping (JSON) ব্যবহার করে একটি SMS, email বা WhatsApp বার্তা পাঠায়।
  • Static Response — একটি নির্দিষ্ট টেক্সট ব্লক বলে। এটি একটি লিগ্যাসি নোড; নতুন ফ্লো-এর জন্য Message পছন্দ করুন।
  • Play Audio — কলারকে একটি অডিও ফাইল (একটি পাবলিক WAV বা MP3 URL) বাজায়।

প্রতিটি step আপনি যখন একটি নোড নির্বাচন করেন তখন খোলা right-hand panel-এ কনফিগার করা হয়। প্যানেল কেবল সেই step-এর ধরনের সাথে প্রাসঙ্গিক ফিল্ডগুলি দেখায়, পাশাপাশি step-এর নাম এবং একটি type সিলেক্টর।

Variables আপনার steps-কে একসাথে যুক্ত করে

একটি Question বা Set Variable step আপনার বেছে নেওয়া একটি নামের অধীনে এর ফলাফল সংরক্ষণ করে। পরে এটি রেফারেন্স করুন — একটি Message, একটি Condition-এর field, একটি Webhook body বা একটি notification mapping-এ — {variable_name}-এর মতো কার্লি-ব্রেস সিনট্যাক্স দিয়ে। কলার যা বলেছে একটি ফ্লো এভাবেই মনে রাখে এবং steps জুড়ে তা সামনে এগিয়ে নিয়ে যায়।

শাখা ও রাউটিং

steps-কে সরলরেখায় চলতে হয় না:

  • একটি Condition step TrueFalse আউটপুট প্রকাশ করে। একটি variable-এর মানের উপর শাখা তৈরি করতে প্রতিটিকে একটি লক্ষ্য step-এ যুক্ত করুন (অথবা এটিকে Continue in order-এ রেখে দিন)।
  • অন্য প্রতিটি step-এর ধরনে On SuccessOn Failure রাউটিং থাকে। ডিফল্টভাবে একটি step ক্রমানুসারে পরেরটিতে চলতে থাকে; অন্যত্র লাফ দিতে এগুলি সেট করুন — উদাহরণস্বরূপ, একটি ব্যর্থ Tool Call-কে একটি পুনরুদ্ধার বার্তায় রুট করুন।

আপনি দুইভাবে রাউটিং সেট করতে পারেন: কনফিগ প্যানেলে লক্ষ্য step বেছে নিন, অথবা ক্যানভাসে একটি step-এর আউটপুট হ্যান্ডেল (সবুজ OK / TRUE হ্যান্ডেল বা লাল FAIL / FALSE হ্যান্ডেল) থেকে অন্য একটি step-এ drag a connection করুন। ক্যানভাসে আঁকা সংযোগগুলি অবিলম্বে workflow-তে সংরক্ষিত হয়।

তৈরি ও সংরক্ষণ

বিল্ডার একটি বড় সংরক্ষণের পরিবর্তে আপনি যখন পরিবর্তন করেন তখনই সেগুলি স্থায়ী করে রাখে:

  • Add Intent একটি নতুন শাখা তৈরি করে; এর নাম, description ও trigger phrases পূরণ করতে এটিতে ক্লিক করুন, তারপর প্যানেলে Save Changes করুন।
  • Add Step আপনার বেছে নেওয়া ধরনের একটি step সন্নিবেশ করে; প্যানেলে এটি কনফিগার করুন এবং Save Changes করুন।
  • একটি নোডের উপর/নিচ শেভ্রনগুলি intents ও steps পুনঃক্রমবিন্যাস করে; একটি নোড মুছে ফেলা (এর ট্র্যাশ আইকন বা Delete কী দিয়ে) প্রথমে নিশ্চিতকরণ চায়।
  • টুলবারের Save বোতাম supervisor prompt সংরক্ষণ করে; একটি অ্যাম্বার বিন্দু অসংরক্ষিত prompt সম্পাদনা চিহ্নিত করে।

একটি টেমপ্লেট থেকে শুরু করুন

শূন্য থেকে তৈরি করার পরিবর্তে, Templates বোতাম তৈরি-করা ফ্লো অফার করে যেগুলি আপনি লোড করে তারপর সম্পাদনা করতে পারেন: Lead Qualification, Appointment Booking, Customer Support, NPS Survey, Payment Reminder এবং Customer Onboarding। প্রতিটি প্রশ্ন, condition ও goodbye বার্তা সহ steps সমেত একটি সম্পূর্ণ intent বসিয়ে দেয়। একটি টেমপ্লেট প্রয়োগ করা আপনার বিদ্যমান workflow-এর সাথে যোগ করে, প্রতিস্থাপন করে না, তাই আপনি একাধিক একত্রিত করতে পারেন বা আপনার যা দরকার নেই তা ছেঁটে ফেলতে পারেন।

একটি OpenAPI স্পেক থেকে ফাংশন ইম্পোর্ট করুন

Import API বোতাম একটি বিদ্যমান API-কে এমন এজেন্ট ফাংশনে পরিণত করে যেগুলি আপনি Tool Call steps থেকে কল করতে পারেন। একটি OpenAPI / Swagger স্পেক সরবরাহ করুন — URL দিয়ে বা পেস্ট করে (OpenAPI 2.0 বা 3.x, JSON বা YAML) — আর ইম্পোর্টার অপারেশনগুলি পার্স করে। আপনি যে অপারেশনগুলি চান সেগুলি বেছে নিন, বেস URL নিশ্চিত করুন, আর এটি সেগুলির জন্য custom functions তৈরি করে। সেই ফাংশনগুলি তারপর Tool Call steps-এর ফাংশন তালিকায় এবং Tools ট্যাবে দেখা যায়।

ফাংশনের ক্যাটালগ অন্যত্র পরিচালিত হয়

একটি Tool Call step কেবল এজেন্টের কাছে ইতিমধ্যে উপলব্ধ ফাংশন ব্যবহার করতে পারে — built-in ফাংশন এবং Tools ট্যাবে বাঁধাই করা যেকোনো custom ফাংশন, OpenAPI ইম্পোর্টারের তৈরি করা ফাংশন সহ। আপনি যে ফাংশন চান তা তালিকাভুক্ত না থাকলে, প্রথমে Tools ট্যাবে এটি যোগ করুন।

পরবর্তী ধাপ