skills/sales-listenlabs/SKILL.md
Listen Labs (listenlabs.ai) platform help — AI-moderated qualitative research that interviews REAL people (voice/video/audio/text) at scale, with a full public REST API v2 (create study, launch, self-recruit link, pull responses/transcripts), an official OAuth MCP server for Claude/Cursor/ChatGPT, Emotional Intelligence (Ekman) analysis, Quality Guard fraud detection, and a 30M+ panel or bring-your-own participants. Use when setting up a Listen Labs study or discussion guide, launching a study from code, pulling interview responses into a CRM or warehouse (poll updatedSince — no webhooks), wiring the MCP server into Claude Code, choosing panel vs self-recruit participants, authenticating the API (x-api-key), reading its enterprise/demo-first pricing, or migrating off the deprecated unversioned response endpoints. Do NOT use for comparing AI-interview/research tools or the validate-before-building method (use /sales-idea-validation), or analyzing existing NPS/CSAT/VoC feedback (use /sales-customer-feedback).
npx skillsauth add sales-skills/sales sales-listenlabsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Listen Labs (listenlabs.ai) runs AI-moderated qualitative research on REAL people — a voice, video, audio, or text interviewer that asks personalized, adaptive follow-ups and runs stimulus/concept tests at scale, synthesizing themes, personas, Emotional Intelligence, and executive reports. Recruit from a 30M+ global panel or bring your own participants via a self-recruit link.
Its edge in the real-human AI-moderated-interview cluster (User Intuition, Strella, Voicepanel, Outset, Conveo) is twofold: (1) it interviews real people, not synthetic personas; and (2) it ships both a full public REST API v2 (create study → launch → self-recruit link → pull responses/transcripts) and an official OAuth MCP server — the most complete API+MCP surface after User Intuition. The catch: it's sold demo-first / annual contract (enterprise-priced), and there are NO webhooks — data-out is poll-only.
The one caveat to say every time: a real interview is far stronger than a synthetic "yes", but a stated "I'd pay for this" is still not a purchase — keep the why (objections, language, reasoning) and take the willingness-to-pay go/no-go from a real behavior test (pre-sale, smoke test).
If references/learnings.md exists, read it first for accumulated platform knowledge.
Ask only what you can't infer:
updatedSince)studyGoal + the right
audience yields depth; a vague one yields shallow filler.Skip-ahead: if the user wants to compare AI-interview/research tools across the market, or the
validate-before-building method, that's a /sales-idea-validation question — route in Step 2.
| If the user's question is about… | Route to |
|---|---|
| Comparing AI-interview/research/synthetic tools, or the validate-before-building method | /sales-idea-validation {question} |
| Running a real behavior demand test (smoke-test page, waitlist, pre-sale) after interviews | /sales-idea-validation or /sales-funnel {question} |
| Analyzing existing NPS/CSAT/VoC/review feedback (post-launch, not new interviews) | /sales-customer-feedback {question} |
| A peer that needs HMAC webhooks / self-serve REST pipeline | /sales-userintuition {question} |
When routing, give the exact command: "This is a {domain} question — run: /sales-idea-validation {original question}"
Otherwise, answer Listen-Labs-specific questions using Step 3.
Read references/platform-guide.md for the full reference — the capability/automation-surface table
(what's API-accessible, MCP-accessible, or UI-only), best-effort enterprise pricing and plan gates, the
Study → Study Guide → Response → Transcript data model (JSON shapes), integrations, and quick-start recipes.
For raw endpoints, auth, the study-guide OpenAPI schema, the response/transcript shapes, the MCP setup, and
an end-to-end poll script, read references/listenlabs-api-reference.md.
Answer using only the relevant section — don't dump the full reference.
/sales-idea-validation.GET /api/public/v1/responses/{linkId} with updatedSince (ISO 8601) and keep an updatedAt
cursor; set includeInProgress=false for completed-only; drill into a transcript with
GET /responses/{linkId}/{responseId}. Never tell the user to "register a webhook" — Listen Labs doesn't
have them (unlike User Intuition / Great Question).POST /api/public/v1/studies/create (validates the guide,
returns a draft id + linkId) → GET /api/public/v1/wallets (pick one; omit walletId only if the org
has exactly one) → POST /api/public/v1/studies/{studyId}/launch (returns selfRecruitLink). Auth is the
x-api-key header, org-scoped, created from the account Developer section.code, not error. Validation failures return a stable code (invalid_request_body with
an issues[] array, or invalid_study_guide for a cross-field rule); the human-readable error text may
change. Retry 409 concurrent_modification / 409 study_busy after a short delay.https://listenlabs.ai/mcp (OAuth on first use; access
token ~1h auto-refreshed, refresh ~30d; role-scoped, "acts as you"). It creates/edits/launches studies,
searches studies/themes, and fetches AI analysis reports as markdown — but you still need an active org./api/public/responses/... paths are removed
2026-08-01 — always use /api/public/v1/responses/....If you discover a gotcha or tip not in references/learnings.md, append it there with today's date.
Best-effort from research (2026-07) — pricing, panel size, the API/MCP surface, and native integrations move; verify at listenlabs.ai and docs.listenlabs.ai.
updatedSince. Unlike User Intuition/Great Question, Listen Labs has no push
channel; reconcile new/updated interviews by polling GET /responses/{linkId}?updatedSince=<ISO8601>./api/public/v1/responses/..., not the old
/api/public/responses/... paths.multiple_choice items with a status on every option; externalIds must be unique; conditionals
must reference an earlier item's externalId. A broken rule → 400 invalid_study_guide.walletId at launch only when the org has exactly one;
otherwise 400 wallet_required. 400 insufficient_credits = the wallet can't fund the launch.qualityScore per response, but the Ekman emotion analysis and fraud-prevention tuning live in the UI./sales-idea-validation — The tool-agnostic validate-before-building method + the full research/persona/interview tool landscape (use this to actually decide build-or-not; an interview "yes" is not demand)/sales-userintuition — User Intuition platform help (the peer with the deepest developer surface — a self-serve REST API, HMAC-signed completed-interview webhooks, a CLI, and an MCP server; recommend it over Listen Labs when you need a webhook-native pipeline or self-serve access without an enterprise contract)/sales-strella — Strella platform help (the deterministic-scripted-flow real-human peer — UI-only, no API/webhooks/MCP; pick it when scripted repeatability matters more than a programmatic pipeline)/sales-voicepanel — Voicepanel platform help (the broadest-format, MCP-first real-human peer — voice/video/chat/phone + screen-share usability tasks; an MCP server but no REST API or webhooks, access onboarded in waves)/sales-great-question — Great Question platform help (the all-in-one research-ops suite — recruit + run any method + repository, with a REST API + HMAC webhooks + MCP all at once)/sales-customer-feedback — Analyze existing NPS/CSAT/VoC/review feedback post-launch (vs Listen Labs, which runs new interviews with real people)/sales-funnel — Build the smoke-test / fake-door landing page that turns an interview hypothesis into a real demand test/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeUser says: "I ran 30 Listen Labs interviews and most said they'd use and pay for it. Green light?"
Skill does: Credits the signal as real (actual humans, genuine reasoning — better than a synthetic
tool), then draws the line: a stated "I'd pay" in an interview is not a purchase. Tells the user to
mine the transcripts for objections, hesitation, and pricing language (the real value — and to read the
Emotional Intelligence signal for where enthusiasm was hollow) and take the go/no-go from a real behavior
test — a pre-sale or a "buy" click — routed via /sales-idea-validation. Flags pricing as best-effort.
Result: The founder keeps the qualitative depth and runs a pre-sale before committing weeks of build.
User says: "When an interview finishes, I want the transcript and summary in HubSpot. How do I set up the webhook?"
Skill does: Corrects the premise — Listen Labs has no webhooks — and gives the poll pattern instead:
poll GET /api/public/v1/responses/{linkId} with updatedSince (ISO 8601) and includeInProgress=false,
keep an updatedAt cursor, and for each progress: "complete" row fetch
GET /responses/{linkId}/{responseId} for the full transcript, mapping bulletSummary/tags/qualityScore
onto the contact. Auth is the x-api-key header. Points to references/listenlabs-api-reference.md for the
Python poll loop.
Result: Completed transcripts land on the HubSpot contact via a resilient poll, not a webhook that doesn't exist.
User says: "How do I create and launch a study from the API and get a link to send my own users?"
Skill does: Describes the three requests — POST /api/public/v1/studies/create with a study guide
(screener block first, interview block; validated up front → draft id + linkId), GET /wallets to pick
one (omit walletId only if the org has exactly one), then POST /studies/{studyId}/launch → selfRecruitLink.
Notes branch on code not error for validation failures, and that a self-recruit link with your own
users avoids panel per-session cost. Points to the OpenAPI study-guide schema in the API reference.
Result: The user fields a study programmatically and distributes the self-recruit link to their own audience.
Symptom: You set up a listener expecting Listen Labs to POST completed interviews, and nothing arrives.
Cause: Listen Labs has no webhooks. There is no push channel at all (this differs from User
Intuition and Great Question, which do sign completed-interview webhooks).
Solution: Poll GET /api/public/v1/responses/{linkId} with updatedSince (ISO 8601) on an interval
matched to fielding speed (interviews trickle in over hours), keep an updatedAt cursor, set
includeInProgress=false for completed-only, and drill into GET /responses/{linkId}/{responseId} for the
transcript. See the Python loop in references/listenlabs-api-reference.md. If you need a webhook-native
pipeline, route to /sales-userintuition.
Symptom: POST /api/public/v1/studies/create fails with a 400.
Cause: Either the body failed schema validation (code: invalid_request_body, with an issues[] array
naming the field), or the study guide broke a cross-field rule (code: invalid_study_guide) — most often the
screening block isn't first / has a non-multiple_choice item / an option is missing status, a duplicate
externalId, or a conditional referencing an item that isn't earlier.
Solution: Branch on code, not the error text. Read issues[].path for field errors; for
invalid_study_guide, put the screening block first with only multiple_choice items (every option carries
approve/reject/neutral), make externalIds unique, and ensure conditionals reference an earlier item.
Symptom: POST /studies/{studyId}/launch returns 400 wallet_required or 400 insufficient_credits.
Cause: Your org has multiple wallets and you omitted walletId (it auto-selects only when there's
exactly one), or the chosen wallet's projectCreditBalance/recruitmentCreditBalance can't fund the launch.
Solution: Call GET /api/public/v1/wallets, pick a walletId with enough balance (remember usage
includes active holds), and pass it in the launch body. Top up recruitment/project credits before launching a
panel study; a self-recruit link with your own participants avoids panel recruitment cost.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).