Felo API PlatformFelo API Platform

Výzkum

Proměňte otázku trhu v go-to-market brief

Položte trhu přesnou otázku, přečtěte stránky kategorií a cen za odpovědí, shromážděte, jak kupující popisují problém na X, a uložte GTM brief s tvrzeními ze zdrojů a otevřenými otázkami.

Čas30 minutÚroveňStředníAktualizováno2026-10-30
Pro kohoZakladatelé a operátořiProduct marketingObchodní lídři

Zkopírovat prompt

Nahraďte pole v hranatých závorkách a vložte do Claude Code, Codex nebo AI s přístupem k terminálu. Nainstaluje skill Felo, zeptá se před utracením kreditů a spustí workflow.

Připrav go-to-market rešeršní briefing pro [produkt] vstupující do [segment nebo ICP] v [region], v jazyce [jazyk].

Model: [self-serve / prodejní / partnerský]. Rozhodnutí, které podporuje: [launch / ceny / repositioning]. Období: [posledních 90 dní / posledních 12 měsíců].

Vytvoř Markdown briefing s:
1. Definicí segmentu: kdo jsou, co dnes používají a co zdroje říkají o velikosti — cituj zdroj nebo napiš „Data nejsou k dispozici“.
2. Jazykem kupujících: jak popisují problém, s odkazy a daty.
3. Alternativami: z čeho přecházejí, včetně tabulek a nedělání ničeho.
4. Námitkami a důkazy, které kupující vyžadují.
5. Otevřenými otázkami, na které veřejné zdroje neodpovídají.
6. Úplným seznamem zdrojů.

Pravidla:
- Každé tržní tvrzení potřebuje odkaz a datum. Nikdy neodhaduj velikost trhu, růst ani rozpočet pocitově.
- Odděluj nezávislé zdroje, stránky dodavatelů a vlastní závěry.
- X používej pro jazyk a námitky, ne jako důkaz velikosti trhu.
- Přveď období a region na konkrétní hodnoty.
- Než utratíš kredity, ukaž plánovaná volání API a počkej na mé schválení.
- Nic nezveřejňuj, neposílej, neplánuj a nezapisuj do CRM.
- Výsledek zapiš do ./gtm-brief.md a shrň ho v chatu.

Kopie obsahuje i instalační kroky a bezpečnostní pravidla.

Co dostanete

Ukázkový výstup jednoho běhu. Ne živé generování.

Ukázkový GTM briefing (výňatek)

GTM briefing — [segment] v [regionu]

Definice segmentu

Malé operační týmy, které plánují v tabulkách. Velikost: data nejsou k dispozici ve zkontrolovaných veřejných zdrojích — bez zdroje číslo do briefingu nepište.

Jazyk kupujících

  • „pořád to děláme v tabulce” — post na X, 2026-10-18
  • „nastavení je ta obtížná část” — post na X, 2026-10-02

Označeno jako jazyk, ne důkaz rozšířenosti.

Alternativy, které kupující zmiňují

Tabulky, stávající sada a nic nedělat. Zdroj: https://example.com/thread (2026-10-18).

Námitky a požadované důkazy

Bezpečnostní revize a migrační cesta. Kupující žádají jmenovitou referenci; veřejně žádnou nemáme, takže otázka zůstává otevřená.

Otevřené otázky

  • Jaká část segmentu už má vlastní rozpočtovou položku?
  • Mění se námitka podle velikosti firmy?

Zdroje

  • https://example.com/category-page
  • https://example.com/pricing-page
  • https://example.com/thread

Přesná volání

Pro vývojáře: stejný workflow jako kód, v pořadí provádění.

Zobrazit skutečná API volání
  1. Uchopte otázku trhu

    Chat vrací odpověď a použité stránky, takže začněte otázkou dost úzkou: kdo kupuje, co dnes používají, jaké námitky se objevují. Držte zdroje jako odkazy-stopu; odpověď je stopa, odkazy jsou důkaz a uzavírají seznam zdrojů.

    gtm.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 ChatData = {
      data: {
        answer: string;
        resources: { link: string; title: string; snippet: string }[];
      };
    };
    
    const product = "scheduling tool"; // replace with your product
    const segment = "operations teams at 50-200 person companies";
    const region = "DACH";
    
    const market = await felo<ChatData>("/v2/chat", {
      query: `Who buys ${product} for ${segment} in ${region}, what do they use today, and what objections come up?`,
    });
    
    const seedSources = market.data.resources.slice(0, 5);

    Ukázkový výstup

    {
      "answer": "Buyers in this segment usually start from spreadsheets and …",
      "sources": [
        { "link": "https://example.com/category-page", "title": "…", "snippet": "…" }
      ]
    }
  2. Přečtěte stránky kategorií

    Stáhněte stránky, které rámují trh: přehled kategorie, srovnání a ceny. Extrahujte je jako Markdown s režimem čtení a zapište datum stažení, protože kvalita čtení trhu závisí na stránkách za ním.

    gtm.ts
    type ExtractData = { data: { content: string } };
    
    const marketPages = [
      { url: "https://example.com/category", title: "Category overview" },
      { url: "https://example.com/comparison", title: "Comparison page" },
      { url: "https://example.com/pricing", title: "Pricing page" },
    ];
    
    const pages = await Promise.all(
      marketPages.map(async (page) => {
        const res = await felo<ExtractData>("/v2/web/extract", {
          url: page.url,
          output_format: "markdown",
          with_readability: true,
          with_cache: true,
        });
        const checkedAt = new Date().toISOString().slice(0, 10);
        return { ...page, checkedAt, content: res.data.content };
      }),
    );

    Ukázkový výstup

    {
      "url": "https://example.com/category",
      "checkedAt": "2026-10-30",
      "content": "# Category overview\n\nExtracted page text…"
    }
  3. Shromážděte, jak kupující popisují problém

    Hledejte na X slova, která kupující používají při setkání s problémem, ne název produktu. Uložte účty a data; brief používá posty pro jazyk a námitky, nikdy jako míru velikosti trhu nebo četnosti.

    gtm.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
          metrics: { retweet_count: number; favorite_count: number };
        }[];
      };
    };
    
    const since = Math.floor((Date.now() - 90 * 24 * 60 * 60 * 1000) / 1000);
    
    const language = await felo<XData>("/v2/x/tweet/search", {
      query: `(spreadsheet OR "scheduling tool") (alternative OR "looking for")`,
      limit: 25,
      since_time: since,
    });
    
    const quotes = language.data.tweets.slice(0, 5);

    Ukázkový výstup

    { "data": { "tweets": [
      {
        "content": "we are still doing this in a spreadsheet",
        "author": { "username": "example_ops" },
        "created_at": "2026-10-18T11:05:00Z",
        "metrics": { "retweet_count": 1, "favorite_count": 18 }
      }
    ] } }
  4. Napište brief kolem rozhodnutí

    Spojte definici segmentu, jazyk kupujících, alternativy, námitky a otevřené otázky do jednoho Markdownu. Každé tvrzení drží zdroj a datum, velikost trhu se objevuje jen se zdrojem a co veřejné zdroje neodpovídají, jde do otevřených otázek místo inference.

    gtm.ts
    const today = new Date().toISOString().slice(0, 10);
    
    const sourceLine = (title: string, url: string, date: string) =>
      `- ${title}: ${url} (checked ${date})`;
    
    const brief = [
      `# GTM brief — ${segment} in ${region}`,
      "",
      "## Segment definition",
      "See the category page for how the segment is described. Market size: Not available from public sources reviewed.",
      "",
      "## Buyer language",
      ...quotes.map((post) => `- @${post.author.username}, ${post.created_at.slice(0, 10)}: ${post.content}`),
      "",
      "## Alternatives buyers mention",
      "Spreadsheets, an incumbent suite, and doing nothing. Treated as language until a source ranks them.",
      "",
      "## Objections and proof required",
      "Migration path and a named reference. Marked open: whether the objection changes by company size.",
      "",
      "## Open questions",
      "- How much of the segment already has a dedicated budget line?",
      "- Which objection blocks a pilot most often?",
      "",
      "## Sources",
      ...pages.map((page) => sourceLine(page.title, page.url, page.checkedAt)),
      ...seedSources.map((source) => `- ${source.title}: ${source.link}`),
    ].join("\n");
    
    console.log(brief);

    Ukázkový výstup

    # GTM brief — operations teams at 50-200 person companies in DACH
  5. Uchovejte důkazy pro další trh

    Vytvořte jeden LiveDoc na segment a region, přidejte stažené stránky jako URL zdroje a brief jako dokument. Další trh startuje ze stejných zdrojů bez nového stahování kategorií a opětovné přidání URL se deduplikuje.

    gtm.ts
    type LiveDocData = { data: { short_id: string } };
    
    const briefDoc = await felo<LiveDocData>("/v2/livedocs", {
      name: `GTM: ${segment} — ${region}`,
      description: `Market evidence checked ${today}`,
    });
    
    await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/urls`, {
      urls: pages.map((page) => ({ url: page.url, title: page.title })),
    });
    
    await felo(`/v2/livedocs/${briefDoc.data.short_id}/resources/doc`, {
      title: `GTM brief ${today}`,
      content: brief,
    });
    
    console.log(briefDoc.data.short_id); // reuse for the next region

    Ukázkový výstup

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

Co obsahuje

  • Čtení trhu se zdroji z Chat API a stránkami za ním
  • Stránky kategorií, srovnání a cen jako Markdown
  • Jazyk a námitky kupujících z X s účty a daty
  • Brief kolem rozhodnutí o launchi, ne tématu
  • LiveDoc, aby další region nebo launch znovu použil důkazy

Co nedělá

  • Jen veřejné zdroje; bez placených reportů, panelů a rozhovorů se zákazníky
  • Nikdy neodhaduje velikost ani růst trhu — bez dat píše „Nedostupné“
  • Posty X jsou jazyk a signál, ne reprezentativní vzorek kupujících
  • Nevybírá za vás segment ani cenu
  • Nepublikuje brief ani nezapisuje do CRM

Otázky

Potřebuji placený report trhu?

Ne. Workflow čte veřejné zdroje a označuje mezery. Pokud report máte, přidejte ho jako dokument v LiveDoc a citujte jako jiný zdroj.

Lze zkoumat trh v jiném jazyce?

Ano. Nastavte region a jazyk. Citace zůstávají v originále s překladem vedle, aby místní recenzent zkontroloval formulaci.

Dostanu velikost trhu?

Jen když ji zdroj uvádí, s odkazem a datem. Jinak brief píše „Nedostupné“ místo vymýšlení čísla nebo extrapolace z jednoho postu.

Mluví se zákazníky?

Ne. Čte veřejné zdroje. Přidejte poznámky z rozhovorů jako dokument a označte jako interní; brief nikdy nepředstavuje privátní poznámky jako veřejné důkazy.

Čím se liší od výzkumného briefu?

Výzkumný brief odpovídá na jednu otázku. Tento workflow skládá důkazy kolem rozhodnutí go-to-market — segment, jazyk kupujících, alternativy, námitky a požadované důkazy — aby vstoupil do plánu launchu.

Kolik stojí jeden brief?

Každé volání chatu, extrakce a hledání X spotřebuje kredity podle užití; aktuální sazby na stránce cen. Prompt žádá schválení před útratou.

Související workflowy

Přizpůsobte

Stejný recept, upravený podle toho, jak skutečně dodáváte.

Spouštějte podle regionu

Zachovejte strukturu sekcí a změňte jen region a jazyk. Jeden LiveDoc na region a stejné otázky, aby briefy byly srovnatelné.

Přidejte poznámky z rozhovorů

Vložte poznámky z hovorů se zákazníky jako dokument a označte jako interní. Brief je může citovat vedle veřejných důkazů, ale nikdy nepředstavuje privátní poznámku jako veřejný zdroj.

Nakrmte launch deck

Předejte sekci námitek a důkazů workflow decku a držte seznam zdrojů. Brief zůstává vrstvou důkazů; deck je prezentace, ne druhý zdroj pravdy.

Referenční stránky za tímto receptem a další kroky.