Recherche
Transformez une question de marché en brief go-to-market
Posez une question précise au marché, lisez les pages catégorie et tarifs derrière la réponse, collectez comment les acheteurs décrivent le problème sur X, puis enregistrez un brief GTM avec affirmations sourcées et questions ouvertes.
Copier le prompt
Remplacez les champs entre crochets, puis collez dans Claude Code, Codex ou toute IA avec accès au terminal. Elle installe le skill Felo, demande avant de dépenser des crédits et exécute le workflow.
Rédige un brief de recherche go-to-market pour [produit] qui entre sur [segment ou ICP] en [région], en [langue]. Motion : [self-serve / sales-led / partenaire]. Décision éclairée : [lancement / prix / repositionnement]. Période : [90 derniers jours / 12 derniers mois]. Produis un brief Markdown avec : 1. Définition du segment : qui ils sont, ce qu’ils utilisent aujourd’hui, ce que les sources disent de la taille — cite une source ou écris « Non disponible ». 2. Le langage des acheteurs : comment ils décrivent le problème, avec liens et dates. 3. Les alternatives : ce qu’ils quittent, y compris les tableurs et le statu quo. 4. Les objections et les preuves que les acheteurs réclament. 5. Les questions ouvertes auxquelles les sources publiques ne répondent pas. 6. Une liste complète des sources. Règles : - Chaque affirmation de marché exige un lien et une date. N’estime jamais la taille, la croissance ou le budget au ressenti. - Sépare les sources indépendantes, les pages fournisseur et tes déductions. - Utilise X pour le langage et les objections, pas comme preuve de taille de marché. - Transforme la période et la région en valeurs explicites. - Avant de consommer des crédits, montre les appels API prévus et attends mon accord. - Ne publie, n’envoie, ne planifie rien et n’alimente aucun CRM. - Écris le résultat dans ./gtm-brief.md et résume-le dans le chat.
La copie inclut aussi les étapes d'installation et les règles de sécurité.
Ce que vous obtenez
Exemple de sortie d'une exécution. Pas de génération en direct.
Brief GTM — [segment] en [région]
Définition du segment
Petites équipes opérationnelles qui gèrent leur planning dans des tableurs. Taille : non disponible dans les sources publiques consultées — pas de chiffre dans le brief sans source.
Langage des acheteurs
- « on fait encore ça dans un tableur » — publication X, 2026-10-18
- « la configuration est la partie difficile » — publication X, 2026-10-02
Étiqueté comme langage, pas comme preuve de prévalence.
Alternatives citées par les acheteurs
Tableurs, une suite existante et ne rien faire. Source : https://example.com/thread (2026-10-18).
Objections et preuves exigées
Revue de sécurité et chemin de migration. Les acheteurs demandent une référence nommée ; nous n’en avons pas publiquement, donc cela reste une question ouverte.
Questions ouvertes
- Quelle part du segment a déjà une ligne budgétaire dédiée ?
- L’objection change-t-elle avec la taille de l’entreprise ?
Sources
- https://example.com/category-page
- https://example.com/pricing-page
- https://example.com/thread
Les appels exacts
Pour les développeurs : le même workflow en code, dans l'ordre d'exécution.
Afficher les appels API
Cadrez la question de marché
Chat renvoie une réponse et les pages utilisées : commencez par une question assez étroite pour être répondue : qui achète, qu’utilisent-ils aujourd’hui, quelles objections émergent. Gardez les ressources comme liens-pistes ; la réponse est une piste, les liens sont les preuves et ferment la liste des sources.
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);Exemple de sortie
{ "answer": "Buyers in this segment usually start from spreadsheets and …", "sources": [ { "link": "https://example.com/category-page", "title": "…", "snippet": "…" } ] }Lisez les pages catégorie elles-mêmes
Récupérez les pages qui cadrent le marché : vue catégorie, page comparative et page tarifs. Extrayez-les en Markdown avec lisibilité et datez chaque récupération, car la qualité d’une lecture de marché dépend des pages derrière.
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 }; }), );Exemple de sortie
{ "url": "https://example.com/category", "checkedAt": "2026-10-30", "content": "# Category overview\n\nExtracted page text…" }Collectez comment les acheteurs décrivent le problème
Cherchez sur X les mots que les acheteurs utilisent face au problème, pas le nom de votre produit. Gardez comptes et dates ; le brief utilise ces posts pour le langage et les objections, jamais comme mesure de taille de marché ou de fréquence d’une objection.
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);Exemple de sortie
{ "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 } } ] } }Écrivez le brief autour de la décision
Réunissez définition du segment, langage acheteur, alternatives, objections et questions ouvertes dans un Markdown. Chaque affirmation garde source et date, la taille de marché n’est écrite qu’avec une source, et ce que les sources publiques ne répondent pas va dans les questions ouvertes au lieu d’être inféré.
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);Exemple de sortie
# GTM brief — operations teams at 50-200 person companies in DACH
Gardez les preuves pour le prochain marché
Créez un LiveDoc par segment et région, ajoutez les pages récupérées comme ressources URL et le brief comme document. Le prochain marché part des mêmes sources sans récupérer à nouveau les pages catégorie, et réajouter une URL est dédupliqué}.
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 regionExemple de sortie
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Ce qui est inclus
- Lecture de marché sourcée du Chat API et les pages derrière
- Pages catégorie, comparaison et tarifs extraites en Markdown
- Langage et objections acheteurs de X, avec comptes et dates
- Brief structuré autour d’une décision de lancement, pas d’un sujet
- LiveDoc pour réutiliser les preuves à la prochaine région
Ce qu'elle ne fait pas
- Sources publiques uniquement ; pas de rapports payants, panels ou entretiens clients
- N’estime jamais la taille ou la croissance du marché — sans données, écrit « Non disponible »
- Les posts X sont langage et signal, pas un échantillon représentatif d’acheteurs
- Il ne choisit pas le segment ni le prix à votre place
- Il ne publie pas le brief et n’écrit pas dans le CRM
Questions
Ai-je besoin d’un rapport de marché payant ?
Non. Le workflow lit des sources publiques et signale les lacunes. Si vous avez déjà un rapport, ajoutez-le comme document dans le LiveDoc et citez-le comme les autres sources.
Puis-je étudier un marché dans une autre langue ?
Oui. Définissez la région et la langue. Les citations restent dans la langue d’origine avec une traduction à côté, pour qu’un relecteur local vérifie la formulation.
Obtiens-je une taille de marché ?
Seulement si une source l’indique, avec lien et date. Sinon le brief écrit « Non disponible » au lieu d’inventer un chiffre ou d’extrapoler d’un post.
Peut-il parler aux clients ?
Non. Il lit des sources publiques. Ajoutez les notes d’entretien comme document et marquez-les internes ; le brief ne présente jamais des notes privées comme preuves publiques.
Quelle différence avec le brief de recherche ?
Le brief de recherche répond à une question. Ce workflow organise les preuves autour d’une décision go-to-market — segment, langage acheteur, alternatives, objections et preuves demandées — pour alimenter un plan de lancement.
Combien coûte un brief ?
Chaque appel chat, extraction et recherche X consomme des crédits à l’usage ; les tarifs actuels sont sur la page des prix. Le prompt demande votre accord avant dépense.
Workflows liés
Transformez une question en brief de recherche sourcé
Interrogez le web, récupérez les pages derrière la réponse en Markdown, ajoutez ce que disent les praticiens sur X, puis conservez les preuves dans un LiveDoc que vous pourrez interroger plus tard.
Ouvrir le workflowRechercheConstruisez une analyse concurrentielle utilisable par votre équipe commerciale
Rassemblez les pages du concurrent, la couverture autour de lui et ce que disent les acheteurs sur X, puis composez une analyse où chaque affirmation porte une source, une date et un statut.
Ouvrir le workflowBureauTransformez une page de recherche en présentation
Extrayez la page, enregistrez-la comme contexte LiveDoc, laissez l’API PPT Task construire le deck et interrogez jusqu’au lien final.
Ouvrir le workflowAdaptez-la
La même recette, adaptée à votre façon de livrer.
Exécutez par région
Gardez la structure des sections et ne changez que région et langue. Un LiveDoc par région et les mêmes questions, pour que les briefs se comparent au lieu de devenir trois documents sans lien.
Ajoutez vos notes d’entretien
Collez les notes d’appels clients comme ressource document et marquez-les internes. Le brief peut les citer à côté des preuves publiques, mais ne présente jamais une note privée comme source publique.
Alimentez le deck de lancement
Transmettez la section objections et preuves au workflow deck en gardant la liste des sources. Le brief reste la couche de preuves ; le deck en est une présentation, pas une seconde source de vérité.
Aller plus loin
Les pages de référence derrière cette recette et la suite.