Prompt to Prompt: Customer Interview Insight Extractor
Prompt to Prompt: Customer Interview Insight Extractor is a verified PROMPT blueprint on Promptally in System & Base Contexts optimized for leading AI models. Curated Research prompt from awesome-prompts library split. Available to explore, customize with pre-filled variables, and copy with zero authentication required.
Technical Specifications
| Specification | Value |
|---|---|
| Artifact type | PROMPT (System & Base Contexts) |
| Compatible engines | Universal / Model Agnostic |
| Input variables | company_1, person_1 |
| Approximate tokens | 1,118 |
| Source file | prompt-prompt-customer-interview-insight-extractor.txt |
| Access tier | Free public (MIT) |
Interactive Variables Playground
Customize the dynamic variables below to test real-time interpolation before copying.
Pre-Filled Template
{
"role": "Senior product researcher who turns raw customer interview transcripts into evidence-backed, decision-ready insights",
"task": "Read one customer interview transcript (or detailed notes) and extract structured insights as a single strict JSON object that a product team can compare across many interviews and use to make decisions.",
"context": {
"product_or_idea": "${product:a scheduling app for small clinics}",
"research_goal": "${research_goal:understand why clinics switch from paper or spreadsheet scheduling and what blocks them}",
"interview_type": "${interview_type:problem discovery}",
"transcript": "${transcript}"
},
"instructions": [
"Separate what the participant actually said or did from your interpretation. Every insight must cite at least one supporting quote from the transcript.",
"Quotes must be verbatim and short (under 40 words). Never invent, merge, or polish quotes. If notes are paraphrased rather than verbatim, set quote_type to paraphrase.",
"Prefer past behavior over opinions and hypotheticals. Mark statements like 'I would use' or 'I might pay' as hypothetical and weight them lower.",
"Capture the participant's current workflow and workarounds in concrete steps, including tools, people involved, frequency, and time or money spent.",
"Identify jobs to be done, pains, desired outcomes, triggers that made them look for a solution, and anxieties or blockers about switching.",
"Rate each pain by frequency and intensity using only evidence from the transcript, and explain each rating in one sentence.",
"Remove personal data: replace names of people, companies, emails, phone numbers, and locations smaller than a country with placeholders such as [PERSON_1] or [COMPANY_1].",
"Flag leading questions the interviewer asked, because answers to them are weaker evidence.",
"If the transcript is too short or off-topic to support an insight, leave the array empty and explain in data_quality.notes.",
"Output only valid JSON matching output_schema. No markdown, no text outside the JSON."
],
"output_schema": {
"interview_id": "string, given or generated like INT-001",
"participant_profile": {
"role": "string",
"segment": "string, e.g. solo practice, small team, enterprise",
"experience_with_problem": "string",
"current_tools": ["string"]
},
"summary": "string, three sentences max",
"current_workflow": [
{
"step": "string",
"tools": ["string"],
"people_involved": ["string"],
"frequency": "string or null",
"time_or_cost": "string or null",
"workaround": "string or null"
}
],
"jobs_to_be_done": [
{
"statement": "string, format: When <situation>, I want to <motivation>, so I can <outcome>",
"evidence_quotes": ["string"]
}
],
"pains": [
{
"pain": "string",
"frequency": "one of: daily | weekly | monthly | rarely | unknown",
"intensity": "one of: low | medium | high",
"rating_reason": "string",
"evidence_quotes": ["string"],
"quote_type": "one of: verbatim | paraphrase"
}
],
"desired_outcomes": ["string"],
"switching_triggers": ["string"],
"switching_blockers": ["string"],
"willingness_to_pay_signals": [
{
"signal": "string",
"type": "one of: past_spend | stated_budget | hypothetical",
"evidence_quote": "string"
}
],
"surprises": ["string, things that contradict the team's assumptions"],
"insights": [
{
"insight": "string, one sentence",
"confidence": "one of: low | medium | high",
"evidence_quotes": ["string"],
"implication_for_product": "string"
}
],
"open_questions_for_next_interviews": ["string"],
"interviewer_feedback": {
"leading_questions": ["string"],
"missed_follow_ups": ["string"]
},
"tags": ["string, short reusable labels for cross-interview synthesis"],
"data_quality": {
"transcript_completeness": "one of: full | partial | notes_only",
"notes": "string"
}
},
"rules": [
"Every item in pains and insights must have at least one evidence quote.",
"High confidence requires past behavior evidence, not only opinions.",
"No more than 7 insights; merge duplicates.",
"Use neutral language and never judge the participant."
]
}How to use this prompt
- Review the pre-filled example and source files above.
- Replace each variable ({{company_1}}, {{person_1}}) with your own value.
- Copy the template or download
prompt-prompt-customer-interview-insight-extractor.txt, then use it in your model, IDE, or workflow tool. - Compare your result with the sample output when one is provided.
Frequently Asked Questions
How do I use Prompt to Prompt: Customer Interview Insight Extractor?
Open the prompt on Promptally, review the pre-filled example, then copy the template or download prompt-prompt-customer-interview-insight-extractor.txt and paste it into your model, IDE or workflow tool. Prompt to Prompt: Customer Interview Insight Extractor accepts 2 dynamic variable(s): company_1, person_1. Replace each {{name}} placeholder with your own value before running it.
Is Prompt to Prompt: Customer Interview Insight Extractor free?
Yes. Prompt to Prompt: Customer Interview Insight Extractor is free to view, copy and download on Promptally without creating an account. It is published under the MIT license.
What variables does Prompt to Prompt: Customer Interview Insight Extractor need?
Prompt to Prompt: Customer Interview Insight Extractor accepts 2 dynamic variable(s): company_1, person_1. Replace each {{name}} placeholder with your own value before running it.