Felo API PlatformFelo API Platform

سپورٹ

اپنی دستاویزات سے سپورٹ سوالات کے جواب دیں

LiveDoc بنائیں، ہیلپ سینٹر اور اندرونی runbook لوڈ کریں، ٹکٹ کا جواب دینے والے اقتباسات نکالیں اور ماڈل کو صرف انہی ثبوتوں سے جواب دینے دیں۔

وقت20 منٹسطحبنیادیاپ ڈیٹ2026-10-29
کिसके لیےسپورٹ ٹیمیںکسٹمر کامیابیHelpdesk بنانے والے

پرامپٹ کاپی کریں

مربع بریکٹ کے فیلڈز بدلیں اور Claude Code، Codex یا ٹرمینل رسائی والے AI میں چسپاں کریں۔ یہ Felo اسکل نصب کرتا ہے، کریڈٹ سے پہلے پوچھتا ہے اور ورک فلو چلاتا ہے۔

اس سپورٹ سوال کا جواب صرف ہماری دستاویزات سے دیں: [گاہک کا سوال]۔

نالج بیس: [ہیلپ سینٹر URL یا LiveDoc short_id]۔ ایسکلیشن راستہ: [ذمہ دار شخص یا قطار]۔
دستیاب گاہک سیاق: [پلان، علاقہ، مصنوعات] (پاس ورڈ یا ادائیگی ڈیٹا کبھی نہ مانگیں)۔

تیار کریں:
1. دو سے چار جملوں میں براہ راست جواب۔
2. سہارا دینے والے دستاویز اقتباسات، وسیلے کے عنوان کے ساتھ۔
3. گاہک کے لیے اگلا قدم۔
4. اندرونی نوٹ: استعمال شدہ وسائل اور مطابقت کے اسکور۔

قواعد:
- صرف حاصل شدہ اقتباسات سے جواب دیں۔ نتیجہ نہ ہو یا مطابقت کم ہو تو ایسکلیٹ کریں؛ کبھی اندازہ نہ لگائیں۔
- پالیسی، واپسی، قیمت یا اکاؤنٹ کارروائی نہ گھڑیں۔
- گاہک کا نجی ڈیٹا، اسناد یا ادائیگی کی معلومات شامل نہ کریں۔
- انجیشن یا ریٹریول پر کریڈٹ خرچ کرنے سے پہلے پوچھیں۔
- جواب گاہک کو نہ بھیجیں؛ جائزے کے لیے مجھے واپس دیں۔

کاپی میں تنصیب کے مراحل اور حفاظتی اصول بھی شامل ہیں۔

آپ کو کیا ملتا ہے

ایک رن کی مثال آؤٹ پٹ۔ لائیو جنریشن نہیں۔

نمونہ جواب (اقتباس)

جواب: آپ کا پلان ہر مہینے کی 1 تاریخ کو تجدید ہوتا ہے۔ کارڈ ناکام ہو تو تین دن دوبارہ کوشش ہوتی ہے، پھر نشست روک دی جاتی ہے۔

ذرائع: «بلنگ کے عمومی سوالات» - https://example.com/help/billing

اگر یہ احاطہ نہ کرے: انوائس ID کے ساتھ بلنگ قطار میں بھیجیں۔

درست کالز

ڈویلپرز کے لیے: وہی ورک فلو کوڈ کے طور پر، چلانے کی ترتیب میں۔

اصل API کالز دکھائیں
  1. نالج بیس بنائیں

    LiveDoc API سے بنیاد بنائیں اور short_id رکھیں۔

    support.ts
    const BASE = "https://openapi.felo.ai";
    const headers = {
      Authorization: `Bearer ${process.env.FELO_API_KEY}`,
      "Content-Type": "application/json",
    };
    
    async function felo<T>(path: string, body?: unknown): Promise<T> {
      const res = await fetch(`${BASE}${path}`, {
        method: body ? "POST" : "GET",
        headers,
        body: body ? JSON.stringify(body) : undefined,
      });
      if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
      return res.json() as Promise<T>;
    }
    
    type LiveDocData = { data: { short_id: string } };
    
    const kb = await felo<LiveDocData>("/v2/livedocs", {
      name: "Support knowledge base",
      description: "Help center, policy pages, and internal runbooks",
    });
    
    const kbId = kb.data.short_id; // save this in your config

    مثال آؤٹ پٹ

    {
      "short_id": "PvyKouzJirXjFdst4uKRK3",
      "name": "Support knowledge base",
      "description": "Help center, policy pages, and internal runbooks"
    }
  2. عوامی ہیلپ سینٹر لوڈ کریں

    ہیلپ سینٹر URL LiveDoc وسیلہ کے طور پر شامل کریں۔

    support.ts
    type UrlResult = {
      data: {
        url: string;
        status: string;
        fail_reason: string | null;
        resource_id: string | null;
      }[];
    };
    
    const added = await felo<UrlResult>(
      `/v2/livedocs/${kbId}/resources/urls`,
      {
        urls: [
          "https://example.com/help/getting-started",
          { url: "https://example.com/help/billing", title: "Billing FAQ" },
        ],
      },
    );
    
    const failed = added.data.filter((item) => item.status === "failed");

    مثال آؤٹ پٹ

    [
      { "url": "https://example.com/help/getting-started", "status": "success", "resource_id": "res_003" },
      { "url": "https://example.com/help/billing", "status": "existed", "resource_id": "res_004" }
    ]
  3. اندرونی دستاویزات شامل کریں

    اندرونی runbook دستاویز کے طور پر شامل کریں۔

    support.ts
    type ResourceData = { data: { id: string } };
    
    const runbook = `# Refund policy
    
    Refunds are available within 30 days of purchase. Requests after 30 days
    need a manual review by the billing team.
    `;
    
    const policy = await felo<ResourceData>(
      `/v2/livedocs/${kbId}/resources/doc`,
      { title: "Refund policy", content: runbook },
    );
    
    console.log(policy.data.id); // use this for updates
  4. سوال کے ثبوت نکالیں

    سیمنٹک تلاش سب سے متعلقہ اقتباسات اور اسکور واپس کرتی ہے۔

    support.ts
    type Hit = { id: string; title: string; content: string; score: number };
    
    async function findEvidence(question: string) {
      const res = await felo<{ data: Hit[] }>(
        `/v2/livedocs/${kbId}/resources/retrieve`,
        { query: question },
      );
      return res.data.filter((hit) => hit.score >= 0.7).slice(0, 4);
    }
    
    const question = "Can I get a refund after 45 days?";
    const hits = await findEvidence(question);

    مثال آؤٹ پٹ

    [
      {
        "id": "res_005",
        "title": "Refund policy",
        "content": "Refunds are available within 30 days of purchase…",
        "score": 0.92
      }
    ]
  5. صرف ثبوت سے جواب دیں

    ماڈل کو صرف لیے گئے اقتباسات استعمال کرنے دیں اور نتیجہ نہ ہونے پر ایسکلیٹ کریں۔

    support.ts
    type Completion = {
      choices: { message: { content: string | null } }[];
      usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number };
    };
    
    const context = hits
      .map((hit) => `### ${hit.title}\n${hit.content}`)
      .join("\n\n");
    
    const completion = await felo<Completion>("/api/v1/chat/completions", {
      model: "anthropic/claude-haiku-5.5",
      messages: [
        {
          role: "system",
          content:
            "Answer only from the context. If the context does not cover the question, say so and hand the ticket to a human.",
        },
        {
          role: "user",
          content: `Context:\n${context}\n\nQuestion: ${question}`,
        },
      ],
    });
    
    console.log(completion.choices[0].message.content);
    console.log(completion.usage.total_tokens);

    مثال آؤٹ پٹ

    "No. The Refund policy says refunds are available within 30 days of purchase, so a request at 45 days needs a manual review by the billing team."

کیا شامل ہے

  • ہیلپ سینٹر اور اندرونی runbook والا LiveDoc
  • اقتباسات اور عنوانات کے ساتھ سیمنٹک تلاش
  • قابل نقل ذرائع والا جواب
  • کوریج نہ ہونے پر واضح ایسکلیشن

کیا نہیں کرتا

  • صرف آپ کی دستاویزات سے جواب دیتا ہے اور کھلی ویب نہیں گھومتا
  • اکاؤنٹ کارروائیاں، ریفنڈ یا پلان تبدیلی نہیں کرتا
  • نالج بیس میں نجی گاہک ڈیٹا یا اسناد نہیں
  • پرانی دستاویزات پرانے جواب دیتی ہیں؛ اپ ڈیٹ رکھیں
  • صرف جواب کا مسودہ، گاہک کو نہیں بھیجتا

سوالات

جواب کہاں سے؟

صرف آپ کے LiveDoc سے: ہیلپ سینٹر صفحات اور runbook۔ تلاش اقتباسات واپس کرتی ہے اور ایجنٹ انہی سے لکھتا ہے۔

اگر دستاویزات نہ ڈھکیں؟

ایسکلیشن۔ کوئی نتیجہ یا کم متعلقہ ہونا «ڈھکا نہیں» سمجھا جاتا ہے، اندازے کی اجازت نہیں۔

نالج بیس تازہ کیسے رکھیں؟

پالیسی بدلنے پر URL دوبارہ شامل کریں اور دستاویزات اپ ڈیٹ کریں؛ ورک فلو میں اپ ڈیٹ اور آڈٹ کمانڈز ہیں۔

ٹکٹ قطار میں استعمال ہو سکتا ہے؟

ہاں مسودہ مرحلے کے طور پر۔ گاہک کو بھیجنے سے پہلے انسانی منظوری رکھیں۔

اکاؤنٹ مخصوص سوالات سنبھالتا ہے؟

صرف دستاویزات سے نہیں۔ اکاؤنٹ ڈیٹا آپ کے سسٹم میں ہے؛ صرف ضروری محفوظ سیاق دیں، کبھی اسناد نہیں۔

ایک رن کی لاگت کتنی ہے؟

انجیشن اور تلاش استعمال کے مطابق بل ہوتے ہیں؛ موجودہ نرخ قیمت صفحے پر اور پرامپٹ خرچ سے پہلے منظوری مانگتا ہے۔

متعلقہ ورک فلو

اسے اپنا بنائیں

وہی ترکیب، آپ کے اصل انداز کے مطابق۔

صرف ایک پروڈکٹ لائن

ایک پروڈکٹ تک محدود کریں تاکہ بنیاد صاف رہے۔

ٹکٹ درجہ بندی شامل کریں

پہلے سوال کی قسم درجہ بند کریں پھر درست دستاویزات تلاش کریں۔

وقتاً فوقتاً آڈٹ

ہر ماہ ٹوٹے لنکس اور پرانی پالیسیاں جانچیں۔

اس ترکیب کے پیچھے کے ریفرنس صفحات اور اگلے مراحل۔