ডকুমেন্টেশন

প্রশ্নোত্তর

ব্যবহারকারীদের কি কিছু ইনস্টল করতে হয়?

না। ব্যবহারকারীরা কেবল একটি script ট্যাগ নিজেদের HTML-এ বসিয়ে দেন — কোনো npm প্যাকেজ নেই, বিল্ড স্টেপ নেই, নির্ভরতাও নেই। বাড়তি ফিচারগুলো একই অরিজিন থেকে নিজে থেকেই লোড হয়।

এটি কি আমার CSS-এর সঙ্গে সংঘর্ষ বাধাবে?

না। উইজেট Shadow DOM-এর ভেতরে রেন্ডার হয়, ফলে এর স্টাইল আপনার পেজ থেকে সম্পূর্ণ আলাদা থাকে।

এটি কি সিঙ্গল-পেজ অ্যাপ (React, Vue, Next.js) সমর্থন করে?

হ্যাঁ। স্ক্রিপ্ট একবারই লোড হয় এবং রুট বদলালেও টিকে থাকে। React/Next.js-এর ক্ষেত্রে স্ক্রিপ্টটি আপনার রুট layout-এ রাখুন।

Next.js App Routertsx
// app/layout.tsx (App Router)
import Script from 'next/script';
import { ReactNode } from 'react';

export default function RootLayout({ children }: { children: ReactNode }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script id="respondo-init" strategy="afterInteractive">
          {`
            window.Respondo = window.Respondo || {};
            Respondo.init = Respondo.init || function(c) { window.RespondoAIConfig = c; };
            Respondo.q = Respondo.q || [];
            Respondo.identify = Respondo.identify || function(d) { Respondo.q.push(['identify', d]); };
            Respondo.init({
              agentId: 'YOUR_AGENT_ID',
              channelId: 'YOUR_CHANNEL_ID'
            });
          `}
        </Script>
        <Script src="https://api.respondo.ai/widget/widget.js" strategy="afterInteractive" />
      </body>
    </html>
  );
}

কথোপকথন সমাধান হয়ে গেলে কী হয়?

সমাধানের পরে নতুন বার্তা এলে আগেরটির সঙ্গে যুক্ত একটি ফলো-আপ কথোপকথন স্বয়ংক্রিয়ভাবে খোলে (আপনার ইনবক্সে "Continued from #N" হিসেবে দেখা যায়)। ভাষা ও আগের ট্রান্সক্রিপ্টের মতো প্রেক্ষাপট বজায় থাকে, আর দর্শনার্থী একটানা একটি চ্যাটই দেখেন। সমাধান হওয়া কথোপকথনটি কোনো সহকর্মী সামলে থাকলে ফলো-আপটি AI-এর বদলে আপনার টিমের কাছেই ফেরত যায়; নইলে AI সেটি তুলে নেয়।

উইজেট কীভাবে লোড হয়?

উইজেট অ্যাসিনক্রোনাসভাবে (async) লোড হয়, তাই এটি কখনোই পেজ রেন্ডারিং আটকায় না। মূল বান্ডলটি ~180KB (gzip করলে ~50KB); ঐচ্ছিক ফিচারগুলো (ক্যাম্পেইন, প্রোডাক্ট ট্যুর) উইজেট মাউন্ট হওয়ার পরে আলাদা লেজি চাংক হিসেবে লোড হয়, তাই পেজের প্রাথমিক রেন্ডার কখনোই আটকায় না।

এস্কেলেশন কীভাবে কাজ করে?

ব্যবহারকারীরা "Talk to human" বোতামে ক্লিক করতে পারেন, মানুষের সঙ্গে কথা বলতে চেয়ে বাক্য লিখতে পারেন, অথবা আপনার জ্ঞানভাণ্ডার থেকে উত্তর দিতে না পারলে AI নিজে থেকেই হস্তান্তর করে। এস্কেলেট হওয়ার পরে AI আর উত্তর দেয় না এবং পরবর্তী সব বার্তা আপনার সহায়তা টিমের কাছে পাঠানো হয়। বিস্তারিত জানতে এস্কেলেশন ও হস্তান্তর অংশটি দেখুন।

এস্কেলেশনের পরে ব্যবহারকারীরা কি AI-এর সঙ্গে কথা চালিয়ে যেতে পারেন?

হ্যাঁ। উইজেট একটি "Continue with AI" বোতাম দেখায়, যা দিয়ে ব্যবহারকারী এস্কেলেশন বাতিল করে AI-এর সঙ্গে কথোপকথনে ফিরতে পারেন।

নলেজ বেস ও ওয়েবসাইট ক্রল#

আমার ওয়েবসাইটের ক্রল কেন ব্লক করা হয়েছে?

"ব্লক" মানে সাইটটি — বা এর সুরক্ষা স্তর (Cloudflare, কোনো WAF, কোনো অ্যান্টি-বট প্লাগইন) — আমাদের ক্রলারকে প্রত্যাখ্যান করেছে: শুরুর পেজ বা robots.txt প্রতিটি চেষ্টায় অ্যাক্সেস ত্রুটি বা "আপনার ব্রাউজার যাচাই করা হচ্ছে" চ্যালেঞ্জ দিয়েছে, অথবা robots.txt স্পষ্টভাবে আমাদের ক্রলারকে নিষেধ করছে। আগে ইমপোর্ট করা পেজগুলো অক্ষত থাকে, এবং সাইট আমাদের ঢুকতে না দেওয়া পর্যন্ত রি-সিঙ্ক একইভাবে ব্যর্থ হবে। সাইটের মালিককে বলুন সুরক্ষা সেটিংসে User-Agent RespondoAI-Crawler (সম্পূর্ণ স্ট্রিং: Mozilla/5.0 (compatible; RespondoAI-Crawler/1.0; +https://respondo.ai/bot)) অনুমোদন করতে — Cloudflare-এ এটি Security → WAF → Custom rules-এ — এবং কারণ robots.txt হলে User-agent: RespondoAI-Crawler-এর জন্য একটি allow নিয়ম যোগ করতে। Respondo ক্রলারের কোনো নির্দিষ্ট IP ঠিকানা প্রকাশ করে না — User-Agent অনুযায়ী অনুমোদন দিন; সোর্সে দেখানো ত্রুটিতে কোনো IP উল্লেখ থাকলে সেটিও অনুমোদন করুন। সাইট পরিবর্তন করা সম্ভব না হলে একই বিষয়বস্তু ফাইল বা পেস্ট করা টেক্সট হিসেবে যোগ করুন।

ক্রল শেষ হয়েছে কিন্তু মাত্র কয়েকটি পেজ পাওয়া গেছে

আমরা সাইটের sitemap (robots.txt-এর Sitemap: লাইন বা /sitemap.xml-এর মতো সাধারণ অবস্থান) থেকে এবং শুরুর URL থেকে লিঙ্ক অনুসরণ করে পেজ খুঁজি — সর্বোচ্চ ১০ ধাপ লিঙ্ক গভীরতা এবং প্রতি সোর্সে সর্বোচ্চ ৫,০০০ পেজ। শুধু একই সাইটের এবং শুরুর URL-এর পাথের অধীন পেজগুলোই ইমপোর্ট হয়: https://example.com/help থেকে শুরু করা ক্রল /blog বাদ দেয়, তাই রুট থেকে শুরু করুন বা অন্তর্ভুক্ত পাথ যোগ করুন। যেসব পেজের দিকে কোনো লিঙ্ক বা sitemap নির্দেশ করে না, যেগুলো robots.txt নিষেধ করে, এবং যেগুলো লগইনের পেছনে, সেগুলো পাওয়া যায় না। প্রায় একই রকম পেজ (প্রিন্ট সংস্করণ, ট্র্যাকিং প্যারামিটারযুক্ত রূপ) একটিতে একীভূত হয়। যেসব পেজের বিষয়বস্তু পুরোপুরি JavaScript দিয়ে আঁকা হয়, সেগুলো শনাক্ত করে ব্রাউজার-ভিত্তিক বিকল্প পদ্ধতিতে রেন্ডার করা হয়, তাই কম পেজ সংখ্যা সাধারণত পরিধি বা sitemap-এর সমস্যা বোঝায়, রেন্ডারিংয়ের নয়।

ক্রলকে সাইটের একটি অংশে সীমাবদ্ধ করব কীভাবে?

ওয়েবসাইট যোগ করার ডায়ালগে Advanced খুলুন এবং Only crawl paths starting with (শুধু এই দিয়ে শুরু হওয়া পাথ ক্রল করুন) এবং/অথবা Skip paths starting with (এই দিয়ে শুরু হওয়া পাথ বাদ দিন) পূরণ করুন — প্রতি লাইনে একটি পাথ, প্রতি ফিল্ডে সর্বোচ্চ ৫০টি। মিল পুরো পাথ সেগমেন্ট অনুযায়ী হয়: /docs মেলে /docs এবং /docs/getting-started-এর সাথে, কিন্তু /docs-archive-এর সাথে নয়; শেষের স্ল্যাশ উপেক্ষা করা হয়, এবং আপনি সম্পূর্ণ URL পেস্ট করতে পারেন — শুধু এর পাথ ব্যবহৃত হয়। বাদ দেওয়ার নিয়ম অন্তর্ভুক্তির নিয়মের ওপর প্রাধান্য পায়। একই নিয়ম sitemap এবং ওই সোর্সের পরবর্তী প্রতিটি রি-সিঙ্কে প্রযোজ্য।

Respondo কত ঘন ঘন আমার ওয়েবসাইট আবার ক্রল করে?

প্রতিটি ওয়েবসাইট সোর্সের পেজ প্যানেলে একটি Auto-refresh সময়সূচি থাকে: Off (বন্ধ), Daily (প্রতি ২৪ ঘণ্টায়) বা Weekly (প্রতি ৭ দিনে)। নির্ধারিত ক্রল ইনক্রিমেন্টাল: যেসব পেজের sitemap-এ lastmod আগের ক্রলের চেয়ে পুরোনো সেগুলো বাদ যায়, অপরিবর্তিত পেজ আবার ইনডেক্স হয় না, পরিবর্তিত পেজ আবার ইনডেক্স হয় এবং হারিয়ে যাওয়া পেজ সরানো হয়। সঙ্গে সঙ্গে রিফ্রেশ করতে সোর্স মেনুতে Re-sync বা Knowledge পেজে Re-sync all ব্যবহার করুন।

"এবার আমরা সাইটটি পড়তে পারিনি" — কী হয়েছে?

এটি সাধারণ ব্যর্থতা: সাইট সময়মতো সাড়া দেয়নি, ডোমেইন রিজলভ হয়নি, সার্ভার ত্রুটি ফেরত দিয়েছে, শুরুর পেজে পাঠযোগ্য টেক্সট ছিল না, বা ঠিকানা পাওয়া যায়নি। বিস্তারিত সোর্সে দেখানো হয়। যাচাই করুন যে URL ব্রাউজারের প্রাইভেট উইন্ডোতে খোলে, ডোমেইনে কোনো টাইপো নেই এবং শুরুর পেজটি লগইন স্ক্রিন নয় বরং প্রকৃত কনটেন্ট পেজ। সোশ্যাল নেটওয়ার্ক ও মেসেজিং প্ল্যাটফর্ম (Facebook, Instagram, LinkedIn, X, YouTube ও অনুরূপ) একেবারেই ইমপোর্ট করা যায় না — ক্রল শুরুর আগেই সেগুলো প্রত্যাখ্যাত হয়। আপনার বিদ্যমান পেজ থেকে যায়; সময়সূচিযুক্ত সোর্স পরের রানে আবার চেষ্টা করে, নইলে সাইট আবার পৌঁছানো গেলে রি-সিঙ্ক করুন।

"আমাদের সার্চ ইনডেক্স পূর্ণ" এবং "আমরা এই সোর্স ইনডেক্স করতে পারিনি" মানে কী?

দুটোই বিষয়বস্তু সফলভাবে পড়ার পরে দেখা যায়। ইনডেক্স পূর্ণ মানে এই সোর্স যে সার্চ ইনডেক্সে কপি হয়, Respondo-র দিকে তাতে জায়গা নেই — এটি Respondo-র সীমা, আপনার বিষয়বস্তুর সমস্যা নয়। পেজগুলো সংরক্ষিত আছে, আগে ইনডেক্স হওয়া সবকিছু উত্তর দিতে থাকে, আমাদের টিম স্বয়ংক্রিয়ভাবে জানতে পারে এবং জায়গা হলেই সোর্স ইনডেক্স করা হবে; তার আগে রি-সিঙ্ক একইভাবে ব্যর্থ হবে। আমরা এই সোর্স ইনডেক্স করতে পারিনি মানে এবার সার্চ ইনডেক্স তৈরি ব্যর্থ হয়েছে — আমাদের দিকের সাময়িক ত্রুটি; বিদ্যমান ডেটা অক্ষত এবং কাজটি স্বয়ংক্রিয়ভাবে আবার চেষ্টা করা হয়। কোনো বার্তা থেকে গেলে ত্রুটির ওপর "Copilot-কে জিজ্ঞাসা" ব্যবহার করুন।

দীর্ঘ পেজের উত্তর কি শুধু তার শুরু থেকে দেওয়া হয়?

না। ক্রল করা প্রতিটি পেজ প্রায় ১,৬০০ অক্ষরের পরস্পর ওভারল্যাপ করা অংশে ভাগ করা হয়, প্রতিটি অংশ পেজের শিরোনামসহ আলাদাভাবে ইনডেক্স হয়, তাই উত্তর দীর্ঘ নিবন্ধের যেকোনো অংশ থেকে আসতে পারে। উদ্ধৃতিতে এখনও প্রতি পেজে একটি লিঙ্ক দেখানো হয়। এই পরিবর্তনের আগে ইমপোর্ট করা পেজগুলো পরবর্তী রি-সিঙ্কে আবার ভাগ করা হয়।

ক্রল ত্রুটির জন্য সাহায্য পাব কীভাবে?

Knowledge পেজে প্রতিটি ক্রল বা ইনডেক্সিং ত্রুটির সাথে একটি Copilot-কে জিজ্ঞাসা বোতাম থাকে। এটি ত্রুটি সংযুক্ত করে Copilot খোলে, এবং Copilot আপনার ক্ষেত্রে সুনির্দিষ্ট ধাপসহ Respondo-র নিজস্ব সহায়তা ডকুমেন্টেশন থেকে উত্তর দেয়। এই সাহায্য বিনামূল্যে — এটি আপনার AI অনুরোধে গণনা হয় না। ধাপগুলোতে সমাধান না হলে সেটা বলুন — "এতে কাজ হয়নি" বললেই যথেষ্ট। তখন Copilot একটি কার্ড প্রস্তাব করে যা সমস্যাটি Respondo টিমের কাছে পাঠায়: কার্ডে ঠিক কী কী পাঠানো হবে তা তালিকাভুক্ত থাকে, আপনি নিশ্চিত না করা পর্যন্ত কিছুই যায় না, এবং তাদের উত্তর একই Copilot থ্রেডে আসে। এখান থেকে হস্তান্তর সম্ভব না হলে Copilot চুপ না থেকে সরাসরি তা জানিয়ে দেয়।

যেসব বার্তা গ্রাহকের কাছে পৌঁছায় না#

একটি উত্তরে "Not delivered" দেখাচ্ছে — এর মানে কী, আর প্রথমে কী করব?

ইনবক্সের প্রতিটি বহির্গামী বার্তার সাথে একটি ডেলিভারি নির্দেশক থাকে: Queued (সারিতে — পরপর লেখা উত্তরগুলো একত্র হয়ে কয়েক মিনিটের মধ্যে একটি ইমেল হিসেবে বেরোয়), Sending…, Sent, Delivered, অথবা লাল রঙের একটি ব্যর্থতা। ব্যর্থতা তিন রকমের: Not delivered — চ্যানেল বার্তাটি নেয়নি; Bounced এবং পাশে বাউন্সের উপ-ধরন — প্রাপকের মেইল সার্ভার ইমেলটি প্রত্যাখ্যান করেছে; এবং Marked as spam — প্রাপক এটি রিপোর্ট করেছেন। লেবেলের ওপর কার্সর রাখুন বা ক্লিক করুন: টুলটিপে প্রোভাইডারের নিজের ভাষ্য থাকে, বাউন্সের ক্ষেত্রে কাঁচা SMTP ডায়াগনস্টিকসহ। পাশে সর্বোচ্চ দুটি অ্যাকশন থাকে — Retry / Send again, যা সত্যিই আবার পাঠায়, এবং Ask Copilot, যা ত্রুটি সংযুক্ত করে Copilot খোলে। যদি আবার পাঠানোর বোতামই না থাকে, তার মানে ঠিকানাটি ব্লক করা এবং আবার পাঠালে একইভাবে ব্যর্থ হবে। কোনো Sent বা Delivered-এর পাশে N files not delivered থাকলে বুঝবেন টেক্সট পৌঁছেছে কিন্তু কোনো সংযুক্তি পৌঁছায়নি — ওই চ্যানেল ফাইলটি বহন করতে পারেনি।

আমার ইমেল কেন গ্রাহকের কাছে পৌঁছায়নি?

চারটি আলাদা কারণ, আর লেবেলই সেগুলো আলাদা করে দেয়। স্থায়ী বাউন্স মানে ঠিকানাটি নেই বা মেইল নেয় না — আবার পাঠানোর বোতাম থাকে না, এবং ঠিকানাটি সাপ্রেশন তালিকায় চলে যায়। সাময়িক বাউন্স মানে মেইলবক্স পূর্ণ বা গ্রহণকারী সার্ভারে ক্ষণস্থায়ী কোনো সমস্যা; Send again দেওয়া হয় এবং সাধারণত পরে কাজ করে। যে বাউন্সের ডায়াগনস্টিকে SPF, DKIM, DMARC বা 5.7.515 উল্লেখ থাকে সেটি ভিন্ন: প্রাপকের মেইল সিস্টেম বার্তাটি প্রত্যাখ্যান করেছে কারণ আপনার পাঠানোর ডোমেইন প্রমাণীকরণ যাচাইয়ে উতরায়নি। ডোমেইন ঠিক না হওয়া পর্যন্ত নতুন উত্তরও ঠিক একইভাবে বাউন্স করবে, তাই ইতিমধ্যে অন্য চ্যানেলে উত্তর দিন এবং Settings → Channels-এ ইমেল চ্যানেলের DNS রেকর্ড ঠিক করুন। সবশেষে, Marked as spam মানে প্রাপক "স্প্যাম রিপোর্ট" চেপেছেন: ঠিকানাটি সাপ্রেস হয় এবং আমরা সেখানে পাঠানো বন্ধ করি। ক্যাম্পেইন রিপোর্টে এর বাইরেও দেখা যেতে পারে The email provider rejected this message — ইমেল বেরোনোর আগেই চূড়ান্ত প্রত্যাখ্যান, সাধারণত অযাচাইকৃত পাঠানোর ডোমেইন বা ভুল গড়নের ঠিকানার কারণে — এবং The email provider rejected our credentials, যা ওয়ার্কস্পেস সেটআপের সমস্যা, ওই একটি কন্টাক্ট সংক্রান্ত কিছু নয়।

সাপ্রেশন তালিকা কী, আর কোনো ঠিকানা সেখান থেকে কীভাবে বেরোয়?

এটি আপনার ওয়ার্কস্পেসের নিজস্ব একটি তালিকা, যেখানে সেসব ইমেল ঠিকানা থাকে যেগুলোতে Respondo পাঠাতে অস্বীকার করে। কোনো বার্তা হার্ড-বাউন্স করলে (চূড়ান্ত প্রত্যাখ্যান), কেউ আপনার কোনো ইমেলকে স্প্যাম হিসেবে রিপোর্ট করলে, অথবা ম্যানুয়ালি ব্লক করা হলে ঠিকানাটি এই তালিকায় ওঠে। সফট বাউন্স কখনও কোনো ঠিকানা সাপ্রেস করে না। ব্লক সক্রিয় থাকা অবস্থায় সেখানে ক্যাম্পেইন ডেলিভারি This address is blocked after an earlier bounce or complaint বার্তাসহ বাদ যায়, এবং ইনবক্স থেকে দেওয়া উত্তর বেরোনোর আগেই আটকে যায়। সবসময় কেবল বার্তার প্রকৃত প্রাপককেই সাপ্রেস করা হয় — কোনো বাউন্স নোটিফিকেশন যেকোনো ঠিকানা ব্লক করতে পারে না। ড্যাশবোর্ডে এই তালিকার কোনো স্ক্রিন নেই: ওনার বা অ্যাডমিন এটি পড়তে পারেন GET https://api.respondo.ai/api/v1/integrations/email/suppressions দিয়ে এবং একটি এন্ট্রি তুলে নিতে পারেন DELETE https://api.respondo.ai/api/v1/integrations/email/suppressions/<email> দিয়ে, অথবা Respondo সাপোর্টকে বলতে পারেন। হার্ড বাউন্স তখনই ছাড়ুন যখন আপনি নিশ্চিত যে মেইলবক্সটি সত্যিই ঠিক হয়েছে — মৃত ঠিকানায় আবার পাঠালে আপনার ডোমেইনের সুনাম ক্ষতিগ্রস্ত হয়।

WhatsApp আমার উত্তর নিচ্ছে না — ২৪ ঘণ্টার উইন্ডো

WhatsApp কোনো ব্যবসাকে গ্রাহকের শেষ বার্তার পর কেবল ২৪ ঘণ্টার মধ্যেই মুক্ত-গড়নের বার্তা পাঠাতে দেয়; এর পরে যা কিছু, Meta তা 131047 ত্রুটি দিয়ে ফিরিয়ে দেয়। Respondo প্রতিটি ব্যক্তির জন্য এই উইন্ডো হিসাব রাখে, এবং যখন জানে উইন্ডো শেষ, তখন উত্তরটি পাঠানোর আগেই থামিয়ে দেয়। যখন Respondo-র কাছে উইন্ডোর কোনো রেকর্ডই নেই — ইমপোর্ট করা কন্টাক্ট, বা এমন নম্বর যেটি কখনও আপনাকে লেখেনি — তখন সে আটকায় না: বার্তা Meta-র কাছে যায় এবং Meta সিদ্ধান্ত নেয়। এগোনোর ঠিক দুটি পথ আছে। গ্রাহক আবার লেখা পর্যন্ত অপেক্ষা করুন — তাঁর বার্তা উইন্ডোটি আরও ২৪ ঘণ্টার জন্য খুলে দেয় এবং তখন আপনার উত্তর চলে যায় — অথবা Meta-অনুমোদিত একটি template (টেমপ্লেট) পাঠান। কথোপকথনের কম্পোজার থেকে টেমপ্লেট পাঠানো যায় না। সেগুলো Outbound → WhatsApp templates-এ পরিচালনা করুন: Sync আপনার নম্বরে ইতিমধ্যে নিবন্ধিত টেমপ্লেটগুলো টেনে আনে, New template একটি টেমপ্লেট Meta-র কাছে জমা দেয়, যার পর্যালোচনায় এক দিন বা তারও বেশি লাগে। এরপর অনুমোদিত টেমপ্লেটটি ওই কন্টাক্টকে লক্ষ্য করে একটি আউটবাউন্ড ক্যাম্পেইনের মাধ্যমে পাঠান। টেমপ্লেট উইন্ডোর ভেতরে ও বাইরে — দুই ধরনের মানুষের কাছেই সমানভাবে পৌঁছায়, তবে কেবল যতক্ষণ এর স্ট্যাটাস approved থাকে।

"That channel is disconnected" / "That channel is not connected"

Disconnected মানে ইন্টিগ্রেশনটি আছে কিন্তু আর সক্রিয় নয় — এর অ্যাক্সেস টোকেন বাতিল বা মেয়াদোত্তীর্ণ হয়েছে, অথবা কেউ এটি সংযোগবিচ্ছিন্ন করেছেন। Not connected মানে কন্টাক্টের এন্ডপয়েন্টের পেছনে কোনো ইন্টিগ্রেশনই নেই। দুটোই ঠিক হয় Settings → Channels-এ, যেখানে সংযোগবিচ্ছিন্ন চ্যানেলগুলো নিজস্ব শিরোনামের নিচে দলবদ্ধ থাকে এবং প্রতিটি কার্ডে একটি Reconnect বোতাম থাকে; আবার সংযুক্ত করুন, তারপর বার্তাটি আবার পাঠান। পাশের দুটি ক্ষেত্র দেখতে একরকম হলেও এক নয়: যে ইমেল চ্যানেলের পাঠানোর ডোমেইন যাচাই করা নেই সেটি Live করা যায় না এবং DKIM ও SPF নিশ্চিত না হওয়া পর্যন্ত কিছুই পাঠায় না, আর কেবল-গ্রহণকারী চ্যানেল নকশাগতভাবেই বহির্গামী বার্তা নেয় না, তাই সেখানে Retry কখনও সফল হবে না।

"No channel to reach this person on" / "No email address on this contact"

দুটোই ইনবক্সে নয়, ক্যাম্পেইনের ডেলিভারি রিপোর্টে দেখা যায়। প্রথমটির মানে ক্যাম্পেইন যেসব চ্যানেলে পাঠায় তার সাথে কন্টাক্টের কোনো এন্ডপয়েন্টই মেলেনি; তাঁর একমাত্র এন্ডপয়েন্ট যদি কেবল-গ্রহণকারী চ্যানেলে থাকে, সেটি আলাদাভাবে ইচ্ছাকৃত বাদ দেওয়া হিসেবে জানানো হয়। দ্বিতীয়টির মানে ক্যাম্পেইনটি ইমেল পাঠায় কিন্তু কন্টাক্টের কোনো ঠিকানা নথিভুক্ত নেই। Telegram-এর নিজস্ব রূপ আছে: ব্যক্তি যদি কখনও আপনার বটে না লিখে থাকেন তবে লেখার মতো কোনো চ্যাটই নেই, কারণ Bot API কোনো বটকে আগে বার্তা পাঠাতে দেয় না — প্রথম বার্তাটি তাঁকেই পাঠাতে হবে। কন্টাক্টে অনুপস্থিত ঠিকানা যোগ করে, ক্যাম্পেইনের লক্ষ্য চ্যানেলের পরিধি বাড়িয়ে, অথবা এটিকে ইমেলে ফিরে যেতে দিয়ে এগুলো ঠিক করুন।

কন্টাক্ট আনসাবস্ক্রাইব করেছেন — আমি কী পাঠাতে পারি?

They had already unsubscribed মানে কন্টাক্টের একটি গ্লোবাল অপ্ট-আউট আছে — আপনার কোনো ইমেলের আনসাবস্ক্রাইব লিঙ্ক থেকে সেট হয়েছে, ইমপোর্টের সাথে এসেছে, বা কোনো সহকর্মী সেটি বদলেছেন। ক্যাম্পেইন ও সিরিজ এমন কন্টাক্টদের প্রতিটি চ্যানেলেই বাদ দেয়, শুধু ইমেলে নয়, এবং ডেলিভারিটি ব্যর্থতা নয় বরং বাদ দেওয়া হিসেবে লিপিবদ্ধ হয়। কথোপকথনের ভেতরে কোনো সহকর্মীর এক-এ-এক উত্তর এতে ইচ্ছাকৃতভাবেই আটকায় না: অপ্ট-আউট গণবার্তা সম্পর্কিত, আর যিনি আপনাকে লিখেছেন তাঁকে উত্তর দেওয়া একটি মানবিক সিদ্ধান্ত। অবস্থাটি কন্টাক্টে Outbound: Subscribed / Unsubscribed হিসেবে দেখানো হয়, কন্টাক্ট তালিকা এটি দিয়ে ফিল্টার করা যায়, এবং কন্টাক্টের Re-subscribe বোতাম এটি ফিরিয়ে দেয় — কেবল তখনই সেটি ব্যবহার করুন যখন ব্যক্তি নিজে অনুরোধ করেছেন।

আপনারা কতবার আবার চেষ্টা করেন, আর Retry চাপা কি নিরাপদ?

ইনবক্স থেকে দেওয়া উত্তর এমন একটি সারিতে যায় যা সর্বোচ্চ পাঁচবার চেষ্টা করে, প্রতিটির মাঝে আনুমানিক ৩, ১০, ৩০ ও ৩০ মিনিট অপেক্ষা করে। কেবল ক্ষণস্থায়ী ব্যর্থতাতেই আবার চেষ্টা হয় — টাইমআউট, প্রত্যাখ্যাত সংযোগ, রেট লিমিট, প্রোভাইডারের নিজের সার্ভার ত্রুটি। চূড়ান্ত প্রত্যাখ্যান (অজানা ঠিকানা, অযাচাইকৃত পাঠানোর ডোমেইন, প্রত্যাখ্যাত ক্রেডেনশিয়াল) সঙ্গে সঙ্গে ব্যর্থ চিহ্নিত হয়, কারণ পুনরাবৃত্তিতে একই উত্তরই আসবে। ক্যাম্পেইন ডেলিভারি নিজস্ব সারিতে চলে, সর্বোচ্চ ছয়বার চেষ্টা এবং আরও কম অপেক্ষা নিয়ে — ৫ সেকেন্ড, ৩০ সেকেন্ড, ২ মিনিট, ১০ মিনিট; সেগুলো ফুরিয়ে গেলে ডেলিভারিটি চিরকাল "queued"-এ পড়ে না থেকে Delivery kept failing and was stopped after several attempts বার্তাসহ বন্ধ হয়। হাতে Retry চাপা নিরাপদ। এটি কেবল সত্যিকারের ব্যর্থ অবস্থায় থাকা বার্তার ওপরই কাজ করে, আর ইমেলের ক্ষেত্রে প্রথমে প্রোভাইডারকে জিজ্ঞাসা করে মূল বার্তাটির কী হয়েছিল: সেই ইমেল যদি সত্যিই বেরিয়ে গিয়ে থাকে, দ্বিতীয় কপি না পাঠিয়ে সারিটি ডেলিভার্ড-এ বদলে যায়, আর প্রকৃত পুনঃপ্রেরণ নতুন একটি আইডেমপোটেন্সি কি নিয়ে বেরোয়। যেখানে দ্বিতীয় কপি ভুল হতো — হার্ড বাউন্স, স্প্যাম অভিযোগ, এখনও চলমান কোনো প্রেরণ — সেখানে বোতামটি থাকে না বা কারণ জানিয়ে চেষ্টা প্রত্যাখ্যান করা হয়।

কারণ এখনও স্পষ্ট নয় — সাহায্য পাব কীভাবে?

প্রতিটি ব্যর্থ বার্তার পাশে একটি Ask Copilot বোতাম থাকে। এটি ত্রুটি, চ্যানেল ও কথোপকথন সংযুক্ত করে Copilot খোলে, এবং Copilot ঠিক সেই ব্যর্থতার জন্য ধাপসহ Respondo-র নিজস্ব সহায়তা ডকুমেন্টেশন থেকে উত্তর দেয়। এই সাহায্য বিনামূল্যে — এটি আপনার AI অনুরোধে গণনা হয় না। ধাপগুলোতে সমাধান না হলে সেটা বলুন — "এতে কাজ হয়নি" বললেই যথেষ্ট। তখন Copilot একটি কার্ড প্রস্তাব করে যা সমস্যাটি Respondo টিমের কাছে পাঠায়: কার্ডে ঠিক কী কী পাঠানো হবে তা তালিকাভুক্ত থাকে, আপনি নিশ্চিত না করা পর্যন্ত কিছুই যায় না, এবং তাদের উত্তর একই Copilot থ্রেডে আসে। এখান থেকে হস্তান্তর সম্ভব না হলে Copilot চুপ না থেকে সরাসরি তা জানিয়ে দেয়।