ডকুমেন্টেশন

অ্যাপ ও ইন্টিগ্রেশন

আপনার টিম যে টুলগুলো এমনিতেই ব্যবহার করে — Stripe, Shopify, Mailchimp, MailerLite, Jira ও Tracio — সেগুলো যুক্ত করুন। ইনস্টল করা অ্যাপগুলো ইনবক্সের কথোপকথন-প্যানেলে, চ্যাটের ঠিক পাশে, গ্রাহকের লাইভ ডেটা কার্ড হিসেবে দেখায়।

পরিচিতি#

অ্যাপ মার্কেটপ্লেস থাকে Settings → Apps-এ। অ্যাপ ইনস্টল হয় একবারই, পুরো ওয়ার্কস্পেসের জন্য: একজন অ্যাডমিন ওয়ার্কস্পেসের নিজস্ব ক্রেডেনশিয়াল দিয়ে সার্ভিসটি যুক্ত করেন, আর ইনবক্স অ্যাক্সেসওয়ালা প্রতিটি সহকর্মী কথোপকথন-প্যানেলে সেই কার্ড দেখতে পান। এজেন্টরা নিজেরা কিছুই ইনস্টল করেন না — AI এজেন্টও কখনো কিছু ইনস্টল করে না।

ওয়ার্কস্পেস-স্তরের ইনস্টল

ওয়ার্কস্পেসপ্রতি এক সেট ক্রেডেনশিয়াল। অ্যাপ ইনস্টল, সম্পাদনা বা সরানো — সবার ওপর একসঙ্গে প্রভাব ফেলে।

ইনবক্সে কার্ড

ইনস্টল করা প্রতিটি অ্যাপ কথোপকথন-প্যানেলে একটি কার্ড আঁকে, যেখানে আপনি যাঁর সঙ্গে কথা বলছেন তাঁর লাইভ ডেটা থাকে।

ফাঁকা প্রতিশ্রুতি নেই

ক্যাটালগে যা আছে সবই আজই ইনস্টল করা যায় — কোনো "coming soon" অংশ নেই। কোন সার্ভিসটি অনুপস্থিত, তা জানানোর একটি রিকোয়েস্ট-টাইল আছে।

অ্যাপ পরিচালনার জন্য Install and configure apps অনুমতি লাগে (Owner ও Admin রোলে ডিফল্টে থাকে, কাস্টম রোলেও দেওয়া যায়)। এই অনুমতি ছাড়া সহকর্মীরাও কথোপকথনে অ্যাপ কার্ড দেখতে পান — শুধু কিছু ইনস্টল বা পুনরায় কনফিগার করতে পারেন না।

অ্যাপ ক্যাটালগ#

আজ 6টি অ্যাপ পাওয়া যায়:

অ্যাপশ্রেণিকথোপকথনে এজেন্টরা কী দেখেন
Stripeপেমেন্টআপনি যাঁর সঙ্গে কথা বলছেন তাঁর সাবস্ক্রিপশন ও সাম্প্রতিক পেমেন্ট
Shopifyকমার্সপেমেন্ট ও ফুলফিলমেন্ট স্ট্যাটাসসহ সাম্প্রতিক অর্ডার
Mailchimpমার্কেটিংআপনি যাঁর সঙ্গে কথা বলছেন তাঁর সাবস্ক্রিপশন স্ট্যাটাস, অডিয়েন্স ও ট্যাগ
MailerLiteমার্কেটিংআপনি যাঁর সঙ্গে কথা বলছেন তাঁর সাবস্ক্রিপশন স্ট্যাটাস, গ্রুপ ও সাইনআপের তারিখ
Jiraইস্যু ট্র্যাকিংএই কথোপকথনের সঙ্গে লিঙ্ক করা ইস্যু, আর এক ক্লিকে নতুন ইস্যু তোলা
Tracioনিরাপত্তামানুষ না বট: চ্যাট-উইজেট দর্শনার্থী সম্পর্কে Tracio-র রায়

নিজের ব্যাক-অফিসে শুধু একটি সরল লিঙ্ক দরকার? তার জন্য অ্যাকাউন্ট বা টোকেন কিছুই লাগে না, তাই সেটি অ্যাপ ক্যাটালগে নয়, থাকে Settings → General → Links to your systems-এ।

অ্যাপ ইনস্টল করা#

Settings → Apps খুলুন, একটি টাইল বাছুন এবং অ্যাপটি যে ক্রেডেনশিয়াল চায় তা পূরণ করুন। প্রতিটি ফিল্ড ভেন্ডরের ড্যাশবোর্ডের ঠিক সেই পেজে লিঙ্ক করে, যেখানে মানটি তৈরি বা খুঁজে পাওয়া যায়।

ধাপবিবরণ
1. প্রিভিউ দেখুনকিছু পেস্ট করার আগেই কনফিগারেশন পেজ ঠিক সেই কার্ডের নমুনা দেখায়, যা আপনার এজেন্টরা দেখবেন — বানানো ডেটা দিয়ে তৈরি, ফলে ক্রেডেনশিয়াল সংরক্ষণের আগেই আপনি জানেন ওয়ার্কস্পেসের সঙ্গে কী শেয়ার করছেন।
2. ক্রেডেনশিয়াল দিনAPI কী বা টোকেন পেস্ট করুন। মানগুলো নিজে থেকেই ট্রিম হয় — কপি-পেস্টের বাড়তি স্পেস বা নিউলাইন ইনস্টল ভাঙবে না।
3. সেভ ও টেস্টসেভ করলে কনফিগারেশন সংরক্ষিত হয়; কানেকশন টেস্ট করলে ভেন্ডরের কাছে সত্যিকারের কল যায় — সেটিই স্ট্যাটাস-চিপ সবুজ করে।

প্রতিটি অ্যাপ-টাইলে একটি স্ট্যাটাস-চিপ থাকে, যা জানায় ইনস্টলেশন কোন অবস্থায় আছে:

স্ট্যাটাসঅর্থ
Not testedক্রেডেনশিয়াল সংরক্ষিত, কিন্তু অ্যাপটি এখনো কোনো সত্যিকারের রিকোয়েস্টের উত্তর দেয়নি।
Connectedভেন্ডর সত্যিই উত্তর দিয়েছে — কানেকশন শুধু সেভ নয়, যাচাইও হয়েছে।
Needs attentionভেন্ডর সংরক্ষিত ক্রেডেনশিয়াল প্রত্যাখ্যান করেছে (বাতিল বা মেয়াদোত্তীর্ণ কী)। কোনো অ্যাডমিন অ্যাপটি সেভ বা পুনরায় টেস্ট না করা পর্যন্ত কার্ডগুলো ভেন্ডরকে আর কল করে না।
Errorঅন্য কিছু ব্যর্থ হয়েছে — টুলটিপ দেখুন।
Disabledকোনো অ্যাডমিন অ্যাপটি বন্ধ করেছেন। ক্রেডেনশিয়াল মুছে না গিয়েই কার্ডটি ইনবক্স থেকে উধাও হয়।

ক্রেডেনশিয়াল ও নিরাপত্তা#

অ্যাপের ক্রেডেনশিয়াল ওয়ার্কস্পেসের সম্পদ, আর কয়েকটি নিয়ম সেগুলো নিরাপদ রাখে:

  • সংরক্ষণে এনক্রিপ্টেড। গোপন ফিল্ডগুলো (API কী, টোকেন) স্টোরেজে প্রতি-কী এনক্রিপ্ট করা থাকে এবং সেভের পর আর কখনো ফেরত দেখানো হয় না।
  • ভেন্ডর অনুমতি দিলে ন্যূনতম অধিকার। Stripe যুক্ত করা উচিত এমন restricted কী দিয়ে, যা Customers, Subscriptions, Charges ও Invoices পড়তে পারে — আর Refunds-এ write অ্যাক্সেস কেবল তখনই, যদি এজেন্টদের কথোপকথন থেকে রিফান্ড করার কথা থাকে। full-access কী পেস্ট করলেও কাজ চলবে, তবে সেটিংস পেজ সেটি বদলে নিতে পরামর্শ দেবে।
  • গন্তব্য বদলালে গোপন মানটি আবার চাওয়া হয়। ক্রেডেনশিয়াল যে ফিল্ডের সঙ্গে বাঁধা — Shopify স্টোর ডোমেইন, Jira সাইট URL — তা সম্পাদনা করলে টোকেনটি আবার লিখতে হয়, ফলে সংরক্ষিত ক্রেডেনশিয়াল কখনোই এমন হোস্টে ঘুরিয়ে দেওয়া যায় না, যার জন্য সেটি ছিল না।
  • বাতিল করলে পুরো ওয়ার্কস্পেসে প্রভাব পড়ে। ওয়ার্কস্পেসপ্রতি প্রতিটি অ্যাপের একটিই ইনস্টলেশন: ভেন্ডরের দিকে কী রোটেট বা বাতিল করলে, অ্যাডমিন Settings → Apps-এ হালনাগাদ না করা পর্যন্ত প্রতিটি সহকর্মীর কার্ড কাজ বন্ধ করে দেয়।

ইনবক্সে অ্যাপ কার্ড#

ইনস্টল হয়ে গেলে প্রতিটি অ্যাপ ইনবক্সের কথোপকথন-ডিটেইল প্যানেলে একটি উইজেট হিসেবে হাজির হয়। কথোপকথন খুললেই ভেন্ডর থেকে একটি লাইভ কার্ড আনা হয়: Stripe-এ এই গ্রাহক কে, তাঁর সাম্প্রতিক Shopify অর্ডার, তাঁর নিউজলেটার স্ট্যাটাস, থ্রেডের সঙ্গে লিঙ্ক করা Jira ইস্যু, বা দর্শনার্থী সম্পর্কে Tracio-র রায়। বেশিরভাগ কার্ড ভেন্ডরের নিজস্ব ড্যাশবোর্ডের মিলে যাওয়া রেকর্ডেও লিঙ্ক করে — Tracio-র রায় পুরোপুরি প্যানেলেই থাকে।

দেখানোর কিছু না থাকলে কার্ড তা লুকায় না। গ্রাহক খুঁজে না পেলে — বা কথোপকথনে ব্যবহারযোগ্য কোনো পরিচয় না থাকলে — কার্ডটি ফাঁকা বাক্স আঁকার বদলে তা-ই বলে এবং কারণ ব্যাখ্যা করে। রেসপন্স অল্প সময়ের জন্য ক্যাশ হয় এবং অ্যাপপ্রতি রেট-বাজেটে বাঁধা থাকে, ফলে খোলা ইনবক্স ভেন্ডরের API-সীমা পুড়িয়ে ফেলে না।

কার্ড যাচাই করা পরিচয় মেনে চলে#

Stripe, Shopify, Mailchimp ও MailerLite গ্রাহককে খোঁজে ইমেইল ঠিকানা দিয়ে — এবং কেবল সেই ঠিকানা দিয়ে, যা সত্যিই যাচাই করা: উইজেটের সই করা পরিচয়ের (identity verification) আওতায় থাকা ঠিকানা, অথবা ইমেইল-চ্যানেল কথোপকথনের From ঠিকানা। দর্শনার্থী চ্যাটে শুধু টাইপ করে দেওয়া ঠিকানা লুকআপে একদমই ব্যবহৃত হয় না — নইলে যে-কেউ কোনো প্রকৃত গ্রাহকের ইমেইল লিখে তাঁর পেমেন্ট-ইতিহাস দেখে ফেলতে পারত। সেক্ষেত্রে কার্ডটি ব্যাখ্যা করে যে ঠিকানাটির পেছনে যাচাই করা পরিচয় নেই।

Jira ও Tracio ইমেইলের ওপর নির্ভর করে না — Jira কার্ড কথোপকথনের লিঙ্ক করা ইস্যুর, আর Tracio উইজেট-দর্শনার্থীর — তাই যাচাই করা ঠিকানা না থাকলেও এগুলো কাজ করে।

কথোপকথনের নিজের ঠিকানায় কিছু না মিললে Respondo কন্টাক্টের অন্য জানা ঠিকানাটিও চেষ্টা করে (যেমন কন্টাক্ট মার্জের পরে), এবং কোন ঠিকানা ব্যবহার করা হলো তা কার্ডে লেবেল করে দেয়।

কোন অ্যাপ কী দেখায়#

Stripe#

গ্রাহকের বিলিংয়ের একটি শুধু-পড়ার জানালা: নাম, ইমেইল, অ্যাকাউন্ট ব্যালান্স ও কপি করার মতো কাস্টমার ID, সঙ্গে সাবস্ক্রিপশন — স্ট্যাটাস ব্যাজ, প্ল্যান, মাসিক মূল্য ও শুরুর তারিখ — এবং ইনভয়েস নম্বরসহ সাম্প্রতিক পেমেন্ট। একমাত্র ঐচ্ছিক write হলো রিফান্ড: অ্যাডমিনকে অ্যাপের সেটিংসে Allow refunds from the conversation panel চালু করতে হয় (ডিফল্টে বন্ধ), অপারেটরের লাগে Run refunds and cancellations অনুমতি, আর প্রতিটি রিফান্ড REFUND টাইপ করে নিশ্চিত করতে হয় — পাঠানো রিফান্ড Stripe আর ফেরাতে পারে না।

Shopify#

শুধু-পড়ার সাম্প্রতিক অর্ডার — অর্ডার নম্বর, তারিখ, মোট, পেমেন্ট ও ফুলফিলমেন্ট স্ট্যাটাস — আপনার Shopify অ্যাডমিনে প্রতিটি অর্ডার ও কাস্টমার রেকর্ডে লিঙ্কসহ। যুক্ত হয় আপনার স্টোর ডোমেইন এবং read_customers read_orders স্কোপওয়ালা কাস্টম অ্যাপের Admin API টোকেন দিয়ে।

Mailchimp#

Mailchimp যেমন দেখে তেমন সাবস্ক্রাইবার: স্ট্যাটাস ব্যাজ, অডিয়েন্স, ট্যাগ, এনগেজমেন্ট ও সাম্প্রতিক ক্যাম্পেইন-কার্যকলাপ (পাঠানো, ওপেন, ক্লিক)। একটিই অ্যাকশন আছে: Unsubscribe — কথোপকথন না ছেড়েই "আমাকে আর ইমেইল কোরো না" অনুরোধ রক্ষা করতে। API দিয়ে এটি অপরিবর্তনীয় — Mailchimp-এ কেউ কেবল নিজে সাইনআপ ফর্মের মাধ্যমে আবার অপ্ট-ইন করতে পারেন — তাই এতে টাইপ করা নিশ্চিতকরণ লাগে। মনে রাখুন, Mailchimp API কী স্কোপ করা যায় না: যে কী যুক্ত করছেন, তা অ্যাকাউন্টের সবকিছু পড়তে ও লিখতে পারে।

MailerLite#

সাবস্ক্রিপশন স্ট্যাটাস, গ্রুপ, সাইনআপের তারিখ, এনগেজমেন্ট ও সাম্প্রতিক ক্যাম্পেইন-কার্যকলাপ। দুটি অ্যাকশন: Unsubscribe (ফেরানো যায় — MailerLite-এর API আবার সাবস্ক্রাইব করা সমর্থন করে) এবং Resubscribe — কারও নিজের অনুরোধে তাঁকে তালিকায় ফিরিয়ে আনতে।

Jira#

কথোপকথন ও Jira Cloud ইস্যুর মধ্যে দ্বিমুখী লিঙ্ক। কার্ডটি এই কথোপকথনের সঙ্গে লিঙ্ক করা ইস্যুগুলো তাদের বর্তমান স্ট্যাটাসসহ দেখায়, আর দেয় Create issue (আপনার বাছাই করা প্রজেক্টে ফাইল হয়, নিজে থেকেই লিঙ্ক হয়) এবং আগে থেকে থাকা ইস্যুর জন্য Link existing / Unlink। Jira-য় করা স্ট্যাটাস-পরিবর্তন ওয়েবহুক দিয়ে ফিরে আসে: অ্যাপের সেটিংস পেজ একটি গোপন ওয়েবহুক ঠিকানা দেখায়, যা আপনার Jira সাইটে পেস্ট করবেন, আর তারপর থেকে কার্ডটি ইস্যুর লাইভ স্ট্যাটাস প্রতিফলিত করে। ইস্যু তৈরি হয় আপনার যুক্ত করা Atlassian অ্যাকাউন্টের নামে, আর কার্ড ঠিক তা-ই দেখে, যা সেই অ্যাকাউন্ট দেখে।

প্যানেল থেকে চালানো প্রতিটি অ্যাকশন রোল-অনুমতিতে বাঁধা — Use app actions unsubscribe, resubscribe ও Jira ইস্যুর জন্য, আর Run refunds and cancellations রিফান্ডের জন্য। কোনো অ্যাপে ওয়ার্কস্পেস-স্তরের capability-টগলও থাকলে — আজ সেটি Stripe-এর Allow refunds from the conversation panel — টগলটিই ঠিক করে সক্ষমতাটি আদৌ আছে কি না, আর বন্ধ করলে ওয়ার্কস্পেসের মালিকসহ সবাই আটকে যান।

Tracio: মানুষ না বট#

চ্যাট-উইজেট দর্শনার্থী সম্পর্কে Tracio একটিই প্রশ্নের উত্তর দেয়: এ কি মানুষ, না বট? অ্যাপ ইনস্টল করলে আপনার Respondo চ্যাট-উইজেটের ভেতরে Tracio-র ডিটেকশন SDK সক্রিয় হয় — নতুন উইজেট-কথোপকথন নিজে থেকেই রায় পায়, যা কথোপকথন-প্যানেলের Tracio কার্ডে চিপ হিসেবে দেখা যায়।

চিপঅর্থ
HumanTracio-র সার্ভার-সাইড যাচাই এই দর্শনার্থীর কোনো বট-সংকেত পায়নি।
Bot · 93%বট শনাক্ত হয়েছে, Tracio-র আস্থাসহ। রায়ের পেছনের সংকেতগুলোও কার্ডে তালিকাভুক্ত থাকে।
UncheckedTracio-র সার্ভার-সাইড যাচাই এই মুহূর্তে অনুপলব্ধ — কার্ডটি ব্রাউজারের জানানো রায়ে ফিরে যায় এবং তা বলেও দেয়।
Forged IDব্রাউজার যে ভিজিটর ID পাঠিয়েছে তা Tracio-র অজানা — দাবিটি জাল বলে মনে হচ্ছে।

দুটি কী যুক্ত হয়: একটি পাবলিক কী, যা উইজেটে SDK সক্রিয় করে, আর একটি গোপন Data API কী, যা রায়ের সার্ভার-সাইড যাচাইয়ে ব্যবহৃত হয়। সার্ভার-সাইড যাচাই ছাড়া ব্রাউজারের "বট নই" দাবি একা বিশ্বাস করা যায় না — আর ব্রাউজারের দাবি সার্ভারের রায়ের সঙ্গে না মিললে কার্ড দুটোই দেখায়।

Tracio কাজ করে শুধু চ্যাট-উইজেট কথোপকথনে। ইমেইল, Telegram ও অন্য চ্যানেলে পরীক্ষা করার মতো কোনো দর্শনার্থী নেই, তাই সেখানকার Tracio কার্ড ব্যাখ্যা করে যে যাচাই করার কিছু নেই। রায় না থাকা মানেই সন্দেহ নয়: অ্যাড-ব্লকার প্রকৃত মানুষের ক্ষেত্রেও হরদম SDK কেটে দেয়, আর Tracio যুক্ত হওয়ার আগে শুরু হওয়া পুরোনো কথোপকথনেও কোনো রায় নেই।
Tracio SDK আপনার সাইটের দর্শনার্থীদের ফিঙ্গারপ্রিন্ট করে। সাইট-মালিক হিসেবে দর্শনার্থীর সম্মতি নেওয়া (আপনার CMP / কুকি-ব্যানারের মাধ্যমে) আপনার দায়িত্ব।

সীমাবদ্ধতা#

  • Stripe ও Shopify কার্ড শুধু-পড়ার — Stripe অ্যাপে একমাত্র write হলো ঐচ্ছিক, স্পষ্টভাবে চালু করা রিফান্ড অ্যাকশন।
  • ইমেইল-নির্ভর অ্যাপগুলোর (Stripe, Shopify, Mailchimp, MailerLite) যাচাই করা ইমেইল ঠিকানা লাগে। বেনামি উইজেট-দর্শনার্থী বা ঠিকানাহীন চ্যানেলের কথোপকথনে সৎভাবে "খোঁজার কিছু নেই" কার্ড দেখানো হয়।
  • Jira সমর্থন শুধু Jira Cloud-এর জন্য।
  • Mailchimp-এ resubscribe নেই: একবার আনসাবস্ক্রাইব হলে কেবল ব্যক্তি নিজেই সাইনআপ ফর্ম দিয়ে ফিরতে পারেন। এই ফ্লোটি জরুরি হলে MailerLite-এর resubscribe ব্যবহার করুন।
  • Tracio-র রায় থাকে কেবল SDK লোড হওয়া উইজেট-কথোপকথনে — ইমেইল বা মেসেঞ্জার চ্যানেলে কখনোই নয়।