Agent Flows
Multi-screen form যা একটি AI agent কথোপকথনের মাঝপথে আপনার customer-কে দিতে পারে। Agent কখন structured তথ্য চাইবে তা নিজেই সিদ্ধান্ত নেয় — নাম, তারিখ, upload করা ID-র ছবি, একটি multi-step questionnaire — এবং আপনার customer দীর্ঘ পাল্টাপাল্টি chat-এর বদলে একটি native form-এ তা পূরণ করে।
Agent Flows WhatsApp, Telegram, Messenger এবং আপনার ওয়েবসাইটের chat widget-এ চলে এবং সব paid plan-এ available (tier-limited — নিচের Tier limits টেবিল দেখুন)। একবার একটি flow তৈরি করুন; এটি প্রতিটি সমর্থিত channel-এ native ভাবে render হয়।
সমর্থিত channel
একটি flow channel-নিরপেক্ষ — আপনি একবার এটি ডিজাইন করেন এবং agent যেখানেই চলুক, সেখানে এটি native ভাবে render হয়।
| Channel | Form কীভাবে খোলে | নোট |
|---|---|---|
| Agent একটি native WhatsApp Flow button পাঠায়; form WhatsApp-এর ভেতরে খোলে | Meta-তে প্রতি-ভাষায় publish হয়; একমাত্র channel যেখানে rich-text সীমা WhatsApp নির্ধারণ করে | |
| Telegram | Agent একটি inline button পাঠায় যা form-কে Telegram Mini App হিসেবে খোলে | পূর্ণ rich-text (bold, heading, list, table) |
| Messenger | Agent একটি button পাঠায় যা form-কে Messenger Webview-তে খোলে | পূর্ণ rich-text |
| ওয়েবসাইট chat widget | আপনার সাইটে embed করা chat widget-এর ভেতরেই form খোলে | হালকা renderer; rich-text শুধু bold, italic, link এবং list-এ সীমাবদ্ধ |
একই component, screen, logic এবং translation প্রতিটি channel-এ কাজ করে — প্রতি-channel আলাদা করে maintain করার কিছু নেই। Conditional logic (If / Switch) এবং screen routing প্রতিটি renderer-এ একইভাবে evaluate হয়, তাই আপনার customer যেখানেই form পূরণ করুক, flow একইরকম আচরণ করে।
একই flow একসঙ্গে একাধিক channel-এ publish করুন। Flow-এর Distribute ট্যাবে প্রতিটি channel-এর নিজস্ব publish card আছে। একটি WhatsApp নম্বরে publish করুন, তারপর একই flow একটি Telegram bot এবং একটি Messenger page-এ publish করুন: প্রতিটি card স্বাধীনভাবে published থাকে, এবং একটি channel যোগ করলে অন্যটি কখনো unpublish হয় না। অন্যগুলোতে হাত না দিয়ে একটিমাত্র channel তার card থেকে unpublish করুন। Flow যে channel-গুলোতে live, সেগুলোর analytics ডিফল্টভাবে একত্রে মিলিত হয়; flow দুই বা তার বেশি channel-এ live থাকলে Submissions, Heatmap এবং Diagnose view-তে একটি channel filter আসে, যাতে আপনি একবারে একটি channel বিশ্লেষণ করতে পারেন।
কখন Agent Flows ব্যবহার করবেন
যখন প্রশ্নের জন্য শুধু chat সঠিক আকার নয়, তখন একটি flow ব্যবহার করুন:
- Lead capture — নাম + email + business-এর আকার + meeting-এর পছন্দ, সবকিছু একটি screen-এ customer একবারেই পূরণ করে
- Appointment booking — একটি তারিখ বেছে নিন, একটি time slot বেছে নিন, confirm করুন
- Document বা photo upload — একটি ID, একটি receipt, একটি ক্ষতিগ্রস্ত পণ্যের ছবি সংগ্রহ করুন
- Multi-step intake — symptom checklist, application form, survey
- Conditional প্রশ্ন — “কী ধরনের pet?” শুধু তখনই জিজ্ঞাসা করুন যখন তারা “আপনার কি pet আছে?”-এর উত্তরে হ্যাঁ বলে
Agent-এর system prompt + কথোপকথনের context মিলে গেলে agent একটি flow recommend করে। আপনি admin panel-এ একবার flow সেট আপ করেন; agent প্রতিটি কথোপকথনে তা পুনরায় ব্যবহার করে।
একটি flow তৈরি করা
Flow-গুলো customer admin panel-এ Agent Flows-এর অধীনে থাকে। প্রতিটি flow-এ রয়েছে:
- একটি name ও description যা পড়ে agent কখন তা ব্যবহার করবে সিদ্ধান্ত নেয়
- এক বা একাধিক screen, প্রতিটিতে component (field) থাকে
- ঐচ্ছিক screen logic (customer কী বাছাই করল তার ভিত্তিতে ভিন্ন screen-এ branch করে)
- ঐচ্ছিক A/B variant — একই flow-এর দুটি সংস্করণের মধ্যে traffic ভাগ করুন
- WhatsApp-এ per-locale publication (একবার translate করুন, প্রতি ভাষায় publish করুন)
একটি template থেকে শুরু করা
আপনাকে একটি খালি composer থেকে শুরু করতে হবে না। ready-made flow-এর একটি curated library দেখতে Agent Flows তালিকায় Templates tab খুলুন — lead capture, demo booking, support intake, product feedback এবং আরও অনেক কিছু। Use this template-এ click করুন এবং এটি আপনার নিজের workspace-এ একটি editable draft তৈরি করে: screen, field, logic ও translation আগে থেকেই পূরণ করা থাকে। Draft-টিকে একটি WhatsApp number-এর সাথে bind করুন, যা ইচ্ছা পরিবর্তন করুন এবং publish করুন।
একটি template শুধুই একটি শুরুর বিন্দু — একবার আপনার copy তৈরি হয়ে গেলে, এটি একটি সাধারণ flow যার সম্পূর্ণ মালিকানা আপনার এবং যা আপনি অবাধে edit করতে পারেন। যেসব plan-এ Agent Flows আছে, তাদের সবার জন্য template library উপলব্ধ।
Component library — ২৩টি variant
Composer-এর Add field menu সব ২৩টি component-কে সাতটি বিভাগে ভাগ করে। আপনার প্রয়োজনীয় data-র জন্য সঠিক আকারটি বেছে নিন।
Display (chrome, কোনো input নেই)
এগুলো customer-এর কাছ থেকে input না চেয়ে screen-এ text বা image render করে।
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Text Heading | একটি screen-এর উপরে একটি বড় title (≤ ৮০ অক্ষর) |
| Text Subheading | heading-এর নিচে একটি secondary title (≤ ৮০ অক্ষর) |
| Text Body | ব্যাখ্যামূলক লেখার একটি অনুচ্ছেদ। bold ও |
| Text Caption | ছোট সহায়ক লেখা; markdown অনুমোদিত (≤ ৪০৯৬ অক্ষর) |
| Rich Text | একটি markdown block — terms, disclaimer, formatted নির্দেশনার জন্য উপযোগী |
| Image | একটি single image (≤ ১০০ KB) |
| Image Carousel | caption সহ ১০টি পর্যন্ত swipe-able image — product gallery, before/after, নির্দেশনা |
Inputs (single-line ও multi-line text)
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Text Input | একটি single-line text box — নাম, email, সংক্ষিপ্ত উত্তর |
| Text Area | একটি multi-line text box — মন্তব্য, বিবরণ, দীর্ঘ উত্তর (≤ ৬০০ অক্ষর) |
| Embedded Link | custom text সহ একটি inline tap-to-open link (≤ ২৫ অক্ষর) |
Choices (একটি সেট থেকে বাছাই)
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Dropdown | একটি দীর্ঘ তালিকা থেকে একটি বাছুন (১০+ option) |
| Radio Buttons | একটি ছোট তালিকা থেকে একটি বাছুন (≤ ৫ option), সব একসাথে দৃশ্যমান |
| Checkboxes | একটি তালিকা থেকে যেকোনো সংখ্যক বাছুন, ঐচ্ছিক minimum ও maximum সহ |
| Chips Selector | ২০টি পর্যন্ত tag-আকারের chip থেকে বাছুন — আগ্রহ, বিভাগ, ছোট জায়গায় multi-select |
তারিখ ও সময়
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Date Picker | একটি single তারিখ — booking-এর তারিখ, জন্মতারিখ |
| Calendar Picker | ঐচ্ছিক date range, min/max সীমা ও অনুপলব্ধ তারিখ ধূসর করা সহ একটি calendar surface — appointment booking, hotel stay |
Date Picker ও Calendar Picker দুটিকে আলাদা component হিসেবে রাখা হয়েছে। একটি দ্রুত single তারিখের জন্য Date Picker ব্যবহার করুন; যখন আপনার একটি দৃশ্যমান month grid, একটি range, বা নির্দিষ্ট তারিখ ধূসর করার প্রয়োজন হয় তখন Calendar Picker ব্যবহার করুন।
Media upload
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Photo Picker | Customer camera বা gallery থেকে photo upload করে (প্রতি submission-এ ৩০টি পর্যন্ত) |
| Document Picker | Customer document upload করে — PDF, DOC ইত্যাদি (প্রতি submission-এ ১০টি পর্যন্ত) |
Mutex: একটি single screen-এ হয় একটি Photo Picker অথবা একটি Document Picker থাকতে পারে, কিন্তু দুটোই নয়। আপনার flow-এ দু’ধরনের upload-ই প্রয়োজন হলে এগুলোকে আলাদা screen-এ রাখুন।
Layout
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| Navigation List | chevron সহ ২০টি পর্যন্ত tap-able row — একটি বিভাগ বাছুন, একটি product বাছুন, একটি destination screen বাছুন |
| Opt-In | একটি consent checkbox — terms of service, marketing opt-in, GDPR consent |
| Footer | flow-এর শেষ screen-এ submit affordance |
Logic (conditional rendering)
| Component | যার জন্য ব্যবহার করবেন |
|---|---|
| If | শুধু একটি শর্ত সত্য হলে কিছু component render করুন (then) — ঐচ্ছিকভাবে একটি বিকল্প সহ (else) |
| Switch | customer আগে বেছে নেওয়া একটি value-এর ভিত্তিতে ভিন্ন component render করুন (একাধিক cases + ঐচ্ছিক default) |
If ও Switch ৩ স্তর পর্যন্ত nesting সমর্থন করে। আপনি যদি এর চেয়ে গভীর nesting করছেন বলে দেখেন, তাহলে এর বদলে logic-কে screen-level routing দিয়ে একাধিক screen-এ ভাগ করুন।
Multi-screen flow ও routing
একটি flow-এ ১০টি screen পর্যন্ত থাকতে পারে। প্রতিটি screen একটি Footer দিয়ে শেষ হয় যা হয় flow submit করে অথবা পরবর্তী screen-এ যায়। customer কী বেছেছে তার ভিত্তিতে তাকে ভিন্ন একটি পরবর্তী screen-এ route করতে screen logic editor ব্যবহার করুন — উদাহরণস্বরূপ, যেসব customer “Refund” নির্বাচন করে তারা একটি refund-নির্দিষ্ট দ্বিতীয় screen-এ যায়; বাকি সবাই generic follow-up screen-এ যায়।
একটি single screen-এর ভেতরে component-level conditional rendering-এর জন্য, এর বদলে If / Switch ব্যবহার করুন।
Localisation
Flow প্রতি ভাষায় publish হয়। flow একবার translate করুন, তারপর WhatsApp-এর সম্পূর্ণ supported-language তালিকা থেকে যেসব ভাষায় তা ship করবেন বেছে নিন — Meta আপনাকে যে প্রতিটি ভাষায় একটি WhatsApp Flow publish করতে দেয়। যেখানে প্রাসঙ্গিক সেখানে picker region-distinct option দেখায়, তাই আপনি Português (Brasil)-কে Português (Portugal) থেকে আলাদা করে, বা 中文 (简体)-কে 中文 (繁體) থেকে আলাদা করে ship করতে পারেন। প্রতিটি customer তার WhatsApp ভাষার সাথে মেলে এমন সংস্করণ দেখে; কোনো customer-এর ভাষা publish না হয়ে থাকলে, fallback হিসেবে integration-এর default locale ব্যবহার করা হয়। (Customer যখন Portuguese-এর মতো একটি base ভাষায় লেখে এবং আপনি শুধু Brazilian Portuguese-এর মতো একটি regional variant publish করেছেন, তখনও তারা localized form-টি পায়।)
A/B testing
আপনি যদি একটি flow-এর দুটি সংস্করণ একে অপরের বিরুদ্ধে test করতে চান, তাহলে Variants tab-এ সেগুলোকে variant হিসেবে configure করুন। Customer-দের deterministic-ভাবে ভাগ করা হয় (একই customer সবসময় একই variant দেখে); Submissions view দেখায় প্রতিটি submission কোন variant থেকে এসেছে, এবং Field Heatmap আপনাকে drop-off ও completion rate পাশাপাশি তুলনা করতে দেয়।
AI generation
আপনার যদি একটি উচ্চতর tier-এর plan থাকে, composer AI form generation অফার করে: একটি one-line prompt লিখুন (“date-range ও photo upload সহ একটি hotel booking form”), অথবা একটি বিদ্যমান form-এর PDF / image upload করুন, এবং assistant আপনার জন্য flow-টি draft করে দেয়। Draft-টি সম্পূর্ণ editable — প্রতিটি field composer-এ round-trippable (কোনো অস্বচ্ছ AI snapshot নেই)।
Submission ও analytics
একবার একটি flow publish হলে, প্রতিটি submission সেই flow-এর Submissions view-তে আসে। প্রতিটি row দেখায়:
- কে submit করেছে, কখন, এবং কোন agent-এর মাধ্যমে
- form থেকে সম্পূর্ণ field value
- assistant submission-টিকে দেওয়া একটি AI score (০–১০০) — high-value lead উপরে উঠে আসে
- form খোলার ঠিক আগে কথোপকথনের chat turn-গুলো (conversation-context join — agent কেন এই submission চাইল তা দেখুন)
Aggregate analytics-এ রয়েছে একটি KPI strip (started / completed / drop-off rate), একটি Field-Level Heatmap যা দেখায় customer কোথায় ছেড়ে যায়, এবং একটি Narrative Diagnostic chat — একটি AI analyst যাকে আপনি জিজ্ঞাসা করতে পারেন “screen 2-এ মানুষ কেন drop off করছে?” এবং সে heatmap, submission ও conversation context-এর মধ্য দিয়ে উত্তরটি খুঁজে দেবে।
Notification ও lead funnel
একটি submission তখনই মূল্যবান যখন কেউ দ্রুত তাতে সাড়া দেয়। প্রতিটি flow-এর Distribute tab-এ একটি notification block রয়েছে যাতে একটি lead আসামাত্রই সঠিক ব্যক্তিরা তা জানতে পারে:
- Submission notification — যখন একটি form submit হয়, তখন একটি in-app notification আসে, সরাসরি সেই submission-এ deep-link করা। প্রতি flow-এ এটি toggle করুন।
- Reply-after-takeover notification — যখন আপনার team-এর একজন WhatsApp-এ একটি lead-কে reply করে এবং customer আবার লেখে, তখন আপনি একটি দ্বিতীয় notification পান — speed-to-lead loop-এর দ্বিতীয় ধাপ।
- Email recipient — দশটি পর্যন্ত email address যোগ করুন এবং প্রতিটি submission একটি deferred email-ও পাঠায় যা submission-এ deep-link করে, যাতে offline কর্মীরাও lead-টি ধরতে পারেন।
একজন বাচাল customer আপনাকে spam করবে না: একটি submission-এর ঠিক পরে message-এর একটি ঝাঁক একটি notification-এ মিলে যায়, এবং একজন মানুষ আসলে reply করার ও customer ফিরে আসার পরেই কেবল একটি নতুন notification fire হয়।
প্রতিটি flow-এর submission page-এ একটি funnel strip-ও রয়েছে — lead-গুলো কোথায় দাঁড়িয়ে আছে তার একটি read-only, এক নজরে দেখা view:
| Stage | অর্থ |
|---|---|
| Submitted | flow-এর প্রতিটি submission |
| Engaged by AI | form-এর পরে agent কথোপকথনে follow up করেছে |
| Human replied | আপনার team-এর কেউ হাতে reply করেছে |
| Resolved | কথোপকথনটি archive করা হয়েছে |
| Awaiting human reply | notify করা হয়েছে, কিন্তু এখনো কোনো মানুষ reply করেনি — আপনার at-risk lead |
Funnel হলো pipeline-কে এক নজরে পরিচালনা করতে সাহায্য করার একটি heuristic view, কোনো revenue-attribution model নয়।
Contextual acknowledgment
একজন customer যখন একটি flow শেষ করে, তখন আপনি form-এ সেট করা instant confirmation message দেখে (WhatsApp-এ, এটি নেটিভ completion screen)। তার কিছুক্ষণ পরে, agent একটি আলাদা message-ও পাঠায় যা তারা আসলে কী পূরণ করেছে তার উল্লেখ করে — “ঠিক আছে — আমি আপনাকে মঙ্গলবার দুপুর ২টায় বসিয়েছি। আর কিছু?” — যাতে customer একটি static “ধন্যবাদ”-এর দিকে তাকিয়ে না থেকে কথোপকথনটি স্বাভাবিকভাবে এগিয়ে যায়। Agent ইতিমধ্যেই submit করা value জানে, তাই acknowledgment-টি boilerplate নয়, নির্দিষ্ট। এই follow-up message WhatsApp, Telegram এবং Messenger-এ পাঠানো হয়।
এটি প্রতিটি flow-এর জন্য by default চালু থাকে। আপনি যদি বরং চান agent একটি submission-এর পরে চুপ থাকুক, তাহলে flow-এর Distribute tab-এ Acknowledge submissions বন্ধ করুন। আপনার team-এর কেউ যখন কথোপকথনটি গ্রহণ করে নেয়, তখনও acknowledgment স্বয়ংক্রিয়ভাবে চুপ থাকে — একটি মানুষের reply-এর উপর পা দেওয়া কোনো AI message আপনি পাবেন না।
একটি flow campaign link হিসেবে শেয়ার করা
Published flow কেবল agent শুরু করা কথোপকথনের ভেতরে থাকে না। flow-এর Distribute tab-এ Campaign asset card খুলুন এবং একটি shareable link তৈরি করুন — একটি standard WhatsApp click-to-chat link (এবং একটি download-যোগ্য QR code) যা আপনি একটি email, একটি Instagram bio, একটি “Book a demo” button-এ রাখতে বা একটি flyer-এ print করতে পারেন।
কেউ যখন link-টিতে click করে, WhatsApp আপনার number-এর সাথে একটি chat ও একটি prefilled message খোলে; তারা send-এ tap করে, এবং প্রথম reply হিসেবে ঠিক সেই form-টি খোলে — কোনো অনুমান নেই, মাঝখানে কোনো AI greeting নেই। যে “Book Demo”-তে click করেছে সে সরাসরি booking form পায়। তারপর agent বাকি কথোপকথনটি স্বাভাবিকভাবে সামলায়।
প্রতিটি link-এ একটি hit counter রয়েছে যাতে আপনি দেখতে পারেন কতজন মানুষ তার মাধ্যমে form launch করেছে, এবং আপনি যেকোনো সময় একটি link revoke করতে পারেন। পাঠানোর আগে কোনো link-এর text edit বা strip করা হলে, বা link-টি revoke করা হলে, message-টি কেবল একটি স্বাভাবিক AI কথোপকথনে চলে যায় — কিছুই ভেঙে যায় না।
Tier limit
| Tier | Published flow | প্রতি flow-এ locale | AI generation |
|---|---|---|---|
| Trial | ১ | ১ | — |
| Starter | ১ | ১ | — |
| Plus | সীমাহীন | সীমাহীন | ✅ |
| Enterprise | সীমাহীন | সীমাহীন | ✅ |
Agent Flows সমর্থন করে এমন প্রতিটি tier-এ সব ২৩টি component type available — কোনো per-component tier-gating নেই।