Riset
Riset akun target sebelum kontak pertama
Baca situs perusahaan, liputan terbaru, dan apa yang mereka posting publik, lalu tulis brief akun dengan langkah terbaru, prioritas yang mungkin, topik percakapan, dan hal yang belum diketahui secara jujur.
Salin prompt
Ganti kolom dalam kurung siku lalu tempel ke Claude Code, Codex, atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum memakai kredit, dan menjalankan alur kerja.
Susun ringkasan akun [nama atau domain perusahaan] sebelum [pendekatan / panggilan penemuan / perpanjangan]. Penawaran kami: [produk atau layanan]. Pembeli yang kami pedulikan: [peran]. Rentang gerakan terbaru: [90 hari terakhir / 12 bulan terakhir]. Baca situs mereka, liputan publik, dan unggahan publik. Hasilkan ringkasan Markdown berisi: 1. Apa yang mereka lakukan, satu paragraf, dengan sumber. 2. Gerakan terbaru: peluncuran, pendanaan, perekrutan, kepemimpinan, kemitraan — dengan tanggal dan tautan. 3. Prioritas yang mungkin kuartal ini, jelas ditandai sebagai inferensi. 4. Pembuka percakapan: tiga pengamatan spesifik, masing-masing dengan sumber. 5. Hal yang belum diketahui: apa yang tidak bisa diverifikasi dari sumber publik. 6. Daftar sumber lengkap. Aturan: - Jangan mengarang nama kontak, email, telepon, jumlah karyawan, pendapatan, atau jumlah pendanaan. - Hanya sumber publik: tanpa data privat, tanpa halaman khusus login, tanpa direktori hasil scraping. - Jangan menulis ke CRM atau sistem lain. Ringkasan adalah berkas yang ditinjau manusia. - Tandai setiap inferensi sebagai inferensi; pertahankan fakta dengan tautan dan tanggal. - Jangan menyatakan niat pembeli sebagai fakta. - Sebelum memakai kredit, tampilkan panggilan API yang direncanakan dan tunggu persetujuan saya. - Jangan mengirim, menjadwalkan, menerbitkan, atau mengirim pesan ke siapa pun. - Tulis hasilnya ke ./account-brief.md dan ringkas di chat.
Salinan juga menyertakan langkah pemasangan dan aturan keamanan.
Yang Anda dapatkan
Contoh keluaran dari satu eksekusi. Bukan pembuatan langsung.
Ringkasan akun — [perusahaan], diperiksa 2026-10-30
Apa yang mereka lakukan
Membuat robot pengambilan gudang untuk operator logistik menengah. Sumber: https://example.com/about (diperiksa 2026-10-30).
Gerakan terbaru
- Membuka situs perakitan kedua — https://example.com/news/expansion (2026-10-24)
- Merekrut tim “operasi penerapan” — https://example.com/careers (diperiksa 2026-10-30)
- Unggahan akun mereka tentang integrasi mitra — @example_company (2026-10-21)
Prioritas mungkin (inferensi)
Penerapan lebih cepat di lebih banyak situs. Inferensi dari unggahan ekspansi dan peran penerapan baru — bukan rencana yang dinyatakan, juga tidak dikonfirmasi publik.
Pembuka percakapan
- Situs kedua masih baru: tanyakan bagaimana playbook penerapan berubah saat situs berbeda. Sumber: https://example.com/news/expansion
- Peran operasi penerapan khusus menunjukkan serah terima antara penjualan dan instalasi. Sumber: https://example.com/careers
Yang belum diketahui
- Siapa yang memimpin operasi penerapan saat ini: tidak tersedia dari sumber publik.
- Ukuran armada dan nilai kontrak: tidak tersedia.
Sumber
- https://example.com/about
- https://example.com/news/expansion
- https://example.com/careers
Panggilan persisnya
Untuk developer: alur kerja yang sama sebagai kode, sesuai urutan eksekusi.
Tampilkan panggilan API asli
Dapatkan gambaran perusahaan
Tanya Chat apa yang dilakukan perusahaan dan perubahan publik terbaru, simpan sumber yang dikutip.
account.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 company = "Example Robotics"; const domain = "example.com"; const buyerRole = "Head of Operations"; const overview = await felo<ChatData>("/v2/chat", { query: `What does ${company} do, who buys from it, and what changed in the last 90 days?`, }); const seedSources = overview.data.resources.slice(0, 5);Contoh keluaran
{ "answer": "The company builds …", "sources": [ { "link": "https://example.com/about", "title": "…", "snippet": "…" } ] }Baca situs, harga, dan karier
Dengan Web Fetch baca About, harga, dan karier untuk memahami produk, pelanggan, dan peran terbuka.
account.ts type ExtractData = { data: { content: string } }; const companyPages = [ { url: `https://${domain}/about`, title: "About" }, { url: `https://${domain}/pricing`, title: "Pricing" }, { url: `https://${domain}/careers`, title: "Careers" }, ]; const pages = await Promise.all( companyPages.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 }; }), );Contoh keluaran
{ "url": "https://example.com/careers", "checkedAt": "2026-10-30", "content": "# Careers\n\nOpen roles: deployment operations…" }Lihat sinyal publik 90 hari
Cari di X nama perusahaan dan produk, simpan post publik, akun, dan tanggal 90 hari terakhir.
account.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 posts = await felo<XData>("/v2/x/tweet/search", { query: `"${company}" (hiring OR launch OR partnership OR expansion)`, limit: 20, since_time: since, }); const recent = posts.data.tweets.slice(0, 5);Contoh keluaran
{ "data": { "tweets": [ { "content": "We just opened our second assembly site", "author": { "username": "example_company" }, "created_at": "2026-10-21T14:02:00Z", "metrics": { "retweet_count": 4, "favorite_count": 31 } } ] } }Tulis brief akun
Jelaskan gambaran, langkah terbaru, prioritas yang mungkin, topik percakapan, hal yang belum diketahui, dan sumber.
account.ts const today = new Date().toISOString().slice(0, 10); const accountBrief = [ `# Account brief — ${company}`, `Checked ${today}. Buyer role: ${buyerRole}.`, "", "## What they do", overview.data.answer, "", "## Recent moves", ...recent.map( (post) => `- ${post.created_at.slice(0, 10)}: ${post.content} (from @${post.author.username})`, ), ...pages.map((page) => `- ${page.title} page captured ${page.checkedAt}: ${page.url}`), "", "## Likely priorities (inference)", "<!-- One or two sentences from the moves above. Mark them as inference, never a stated plan. Delete this comment when filled. -->", "", "## Conversation starters", ...recent.slice(0, 3).map( (post) => `- Ask about: ${post.content.slice(0, 100)} (dated ${post.created_at.slice(0, 10)})`, ), "", "## Unknowns", "- Who owns the workflow we sell into: Not available from public sources.", "- Contract values and team size: Not available.", "", "## Sources", ...pages.map((page) => `- ${page.title}: ${page.url}`), ...seedSources.map((source) => `- ${source.title}: ${source.link}`), ].join("\n"); console.log(accountBrief);Contoh keluaran
# Account brief — Example Robotics
Simpan di LiveDoc
Simpan brief dan sumber di LiveDoc untuk dipakai lagi pada kontak berikutnya.
account.ts type LiveDocData = { data: { short_id: string } }; const accountDoc = await felo<LiveDocData>("/v2/livedocs", { name: `Account: ${company}`, description: `Briefs and sources checked ${today}`, }); await felo(`/v2/livedocs/${accountDoc.data.short_id}/resources/urls`, { urls: [ ...pages.map((page) => ({ url: page.url, title: page.title })), ...seedSources.map((source) => ({ url: source.link, title: source.title })), ], }); await felo(`/v2/livedocs/${accountDoc.data.short_id}/resources/doc`, { title: `Account brief ${today}`, content: accountBrief, }); console.log(accountDoc.data.short_id); // the next call reuses this LiveDocContoh keluaran
{ "short_id": "PvyKouzJirXjFdst4uKRK3" }
Termasuk
- Gambaran perusahaan bersumber dari Chat
- Situs, harga, dan karier dalam Markdown
- Post publik bertanggal di X
- Brief akun terstruktur
- LiveDoc berisi bukti
Yang tidak dilakukan
- Tidak memberikan email, telepon, atau data pribadi
- Tidak membaca data privat atau halaman hanya login
- Tidak menulis ke CRM dan tidak mengirim pesan
- Jumlah karyawan, pendapatan, dan pendanaan hanya dengan sumber eksplisit
- Prioritas dan niat ditandai inferensi
Pertanyaan
Apakah memberi email kontak?
Tidak. Alur hanya riset publik dan tidak memberikan email, telepon, atau data pribadi.
Dari mana datanya?
Chat mengembalikan gambaran bersumber, Web Fetch membaca situs, harga, dan karier, X Search menambah post publik. Setiap item menyimpan tautan dan tanggal.
Bisa riset perusahaan non-teknologi?
Bisa. Saat informasi publik tipis, brief menandai hal yang belum diketahui alih-alih mengarang.
Apakah menulis ke CRM?
Tidak. Hanya membuat brief Markdown; integrasi CRM urusan Anda.
Apakah prioritas itu fakta?
Tidak. Brief menandai “prioritas yang mungkin” sebagai inferensi dan menunjukkan dasarnya; keputusan akhir ada pada penjual.
Berapa biaya satu eksekusi?
Chat, ekstraksi, dan X Search ditagih sesuai pemakaian; tarif saat ini di halaman harga dan prompt meminta persetujuan sebelum mengeluarkan biaya.
Alur kerja terkait
Ubah pertanyaan pasar menjadi brief go-to-market
Ajukan pertanyaan pasar yang tepat, baca halaman kategori dan harga di balik jawaban, kumpulkan cara pembeli menggambarkan masalah di X, dan simpan brief GTM dengan klaim bersumber serta pertanyaan terbuka.
Buka alur kerjaRisetBuat analisis pesaing yang bisa dipakai tim penjualan
Kumpulkan halaman pesaing, liputan di sekitarnya, dan apa yang pembeli katakan di X, lalu susun analisis dengan sumber, tanggal, dan status di setiap klaim.
Buka alur kerjaKontenUbah brief produk menjadi landing page
Riset audiens, simpan brief di LiveDoc, buat tugas Landing Page dari konteks itu, dan tanyakan sampai halaman yang dihosting siap.
Buka alur kerjaSesuaikan
Resep yang sama, disesuaikan dengan cara Anda benar-benar mengirim.
Hanya satu segmen
Batasi ke industri atau wilayah agar brief lebih konkret.
Tambahkan peluncuran terbaru
Sertakan halaman peluncuran sebagai sumber tambahan untuk topik terkini.
Bersama analisis pesaing
Bandingkan prioritas di brief dengan positioning dari analisis untuk menemukan sudut.
Lanjut
Halaman referensi di balik resep ini dan langkah berikutnya.