Cas de test PRD
Ceci est unDocument Extraction, Multimodal AIworkflow d'automatisation du domainecontenant 9 nœuds.Utilise principalement des nœuds comme Set, Form, FormTrigger, ApiTemplateIo, ChainLlm. Générer des documents de requirements produits et scénarios de test avec GPT/Claude et exporter en PDF
- •Aucun prérequis spécial, prêt à l'emploi après importation
Nœuds utilisés (9)
{
"id": "Dg9akaNziOBwgNu0",
"meta": {
"instanceId": "70273a2379644db63ce659827cfd8abac2d0b189210eafa02dd5376e3a62cd1d",
"templateCredsSetupCompleted": true
},
"name": "PRD_Testcase",
"tags": [],
"nodes": [
{
"id": "7aa1d0eb-a145-4713-b12c-72d757924ef1",
"name": "Modèle de chat OpenRouter",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
0,
64
],
"parameters": {
"model": "openai/gpt-4",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "brVP9oNL9perdfeq",
"name": "learnby-openrouther"
}
},
"typeVersion": 1
},
{
"id": "450b4fb9-26b5-4622-94ca-ca41761137b6",
"name": "Modèle de chat OpenRouter1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
448,
48
],
"parameters": {
"model": "anthropic/claude-3.7-sonnet",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "brVP9oNL9perdfeq",
"name": "learnby-openrouther"
}
},
"typeVersion": 1
},
{
"id": "bc40e4ea-8bdd-4a60-88c9-aa4167640f08",
"name": "Note autocollante",
"type": "n8n-nodes-base.stickyNote",
"position": [
-816,
-368
],
"parameters": {
"width": 480,
"height": 944,
"content": "### 📒 Generate **Product Requirements Document (PRD)** and **test scenarios** form input to PDF with OpenRouter and APITemplate.io\n\nThis workflow generates a **Product Requirements Document (PRD)** and **test scenarios** from structured form inputs. It uses **OpenRouter LLMs (GPT/Claude)** for natural language generation and **APITemplate.io** for PDF export. \n\n## Who’s it for\nThis template is designed for **product managers, business analysts, QA teams, and startup founders** who need to quickly create **Product Requirement Documents (PRDs)** and **test cases** from structured inputs. \n\n## How it works\n1. A **Form Trigger** collects key product details (name, overview, audience, goals, requirements). \n2. The **LLM Chain (OpenRouter GPT/Claude)** generates a professional, structured **PRD in Markdown format**. \n3. A second **LLM Chain** creates **test scenarios and Gherkin-style test cases** based on the PRD. \n4. Data is cleaned and merged using a **Set node**. \n5. The workflow sends the formatted document to **APITemplate.io** to generate a polished **PDF**. \n6. Finally, the workflow returns the PDF via a **Form Completion node** for easy download. \n \n\n## ⚡ Requirements\n- OpenRouter API Key (or any LLM)\n- APITemplate.io account \n\n## 🎯 Use cases\n- Rapid PRD drafting for startups. \n- QA teams generating **test scenarios** automatically. \n- Standardized documentation workflows. \n\n👉 Customize by editing prompts, PDF templates, or extending with integrations (Slack, Notion, Confluence). \n"
},
"typeVersion": 1
},
{
"id": "4c5c5daa-2ec9-451e-a827-b1d4cb21aecf",
"name": "Chaîne LLM PRD",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
0,
-192
],
"parameters": {
"text": "=Product Name - {{ $json['Product Name'] || 'Not Available'}}\nProduct Overview - {{ $json['Product Overview'] || 'Not Available' }}\nTarget Audience - {{ $json['Target Audience'] || 'Not Available' }}\nGoal & Objective - {{ $json['Goals & Objectives'] || 'Not Available' }}\nFunctional Requirements - {{ $json['Functional Requirements'] || 'Not Available' }}\nDate: {{ $json.submittedAt.split(\"T\")[0] }}\nCreated By - {{ $json['Created By'] || 'Not Available' }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are an expert product manager and technical writer. \nYour task is to generate a clear, structured **Product Requirements Document (PRD)** in **Markdown format**. \nThe PRD should be professional, concise, and easy to share with engineers, designers, and stakeholders. \n\nUse Information provided by User prompt to Understand the requirement and try to go deep in filing all section.\n\n### Formatting Rules\n- Use proper Markdown headers (`#`, `##`, `###`) for sections. \n- Use bullet points or numbered lists where appropriate. \n- Keep language clear and action-oriented. \n- Do not include explanations of what a PRD is.\n\n### PRD Template\n# Product Requirements Document (PRD)\n\n## 1. Overview\n- **Project Name:** \n- **Document Owner:** (leave blank if not provided)\n- **Last Updated:** (user created date provided by user)\n\n## 2. Problem Statement\n\n## 3. Goals\n\n## 4. Non-Goals\n- (list if provided, else mark as “N/A”)\n\n## 5. Target Audience / Users\n - Pain Points Solved:\n\n## 6. Key Features / Requirements\n -Primary Users:\n -Secondary Users:\n - (expand if needed)\n\n## 7. Key Features\n(expand if missing)\n\n## 8. Functional Requirements\n(expand if missing)\n\n## 8. Technical Constraints\n(expand if missing)\n\n## 9. Success Metrics\n- (expand if missing)\n\n## 10. Risks & Assumptions\n\n---\n"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "b6f3b365-d277-4917-bb39-6c44a3c9d29b",
"name": "Chaîne LLM de cas de test",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
448,
-192
],
"parameters": {
"text": "={{ $json.text }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "Using the user input PRD document create Test scenario and test case in gherkin language. "
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "dba5e475-96b8-4505-96bb-ec736af91aa9",
"name": "Obtenir l'entrée utilisateur",
"type": "n8n-nodes-base.formTrigger",
"position": [
-288,
-192
],
"webhookId": "0a0d6c63-a806-4bb8-a9b6-f29c184a59b7",
"parameters": {
"options": {
"appendAttribution": false
},
"formTitle": "Technical Document Requirement",
"formFields": {
"values": [
{
"fieldLabel": "Product Name",
"placeholder": "Fitness Guru"
},
{
"fieldType": "textarea",
"fieldLabel": "Product Overview",
"placeholder": "An app that helps gym-goers track workouts, find classes, and stay motivated",
"requiredField": true
},
{
"fieldLabel": "Target Audience",
"placeholder": "gym members, personal trainers, gym owners"
},
{
"fieldLabel": "Goals & Objectives",
"placeholder": "Increase gym member engagement, streamline trainer-client interaction"
},
{
"fieldLabel": "Functional Requirements",
"placeholder": "Workout logging → select exercise → enter sets/reps → save → progress updates on dashboard."
}
]
},
"responseMode": "lastNode"
},
"typeVersion": 2.2
},
{
"id": "df78c5c0-2394-4fc4-b04b-da34bd07b7db",
"name": "Fusionner PRD et cas de test",
"type": "n8n-nodes-base.set",
"position": [
832,
-192
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "afee93c8-7b59-40b8-975a-55e4a3c9d35a",
"name": "text",
"type": "string",
"value": "={{ $('PRD LLM Chain').item.json.text }}\n{{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2352e0ea-0f51-4b62-9dd1-b7af7a2a1628",
"name": "Créer un document en PDF",
"type": "n8n-nodes-base.apiTemplateIo",
"position": [
1040,
-192
],
"parameters": {
"options": {
"fileName": "PRD_abc.pdf"
},
"download": true,
"resource": "pdf",
"propertiesUi": {
"propertyValues": [
{
"key": "markdown",
"value": "={{ $json.text }}"
}
]
},
"pdfTemplateId": "=e1277b23d41c334e"
},
"credentials": {
"apiTemplateIoApi": {
"id": "wve3UL6j52R45XJI",
"name": "learnbyalok_APITemplate.io account"
}
},
"typeVersion": 1
},
{
"id": "c1b7dcee-035e-46f3-8cfc-985cc7920839",
"name": "Permettre le téléchargement par l'utilisateur",
"type": "n8n-nodes-base.form",
"position": [
1280,
-192
],
"webhookId": "a3e6b03b-d6a8-4390-9884-bfe08fb8cebd",
"parameters": {
"options": {},
"operation": "completion",
"respondWith": "returnBinary",
"completionTitle": "PRD Document is ready",
"completionMessage": "Process completed file will be downloaded! ",
"inputDataFieldName": "=data"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "a11c8289-d0f2-430d-995b-004ea59f10d9",
"connections": {
"4c5c5daa-2ec9-451e-a827-b1d4cb21aecf": {
"main": [
[
{
"node": "b6f3b365-d277-4917-bb39-6c44a3c9d29b",
"type": "main",
"index": 0
}
]
]
},
"dba5e475-96b8-4505-96bb-ec736af91aa9": {
"main": [
[
{
"node": "4c5c5daa-2ec9-451e-a827-b1d4cb21aecf",
"type": "main",
"index": 0
}
]
]
},
"c1b7dcee-035e-46f3-8cfc-985cc7920839": {
"main": [
[]
]
},
"b6f3b365-d277-4917-bb39-6c44a3c9d29b": {
"main": [
[
{
"node": "df78c5c0-2394-4fc4-b04b-da34bd07b7db",
"type": "main",
"index": 0
}
]
]
},
"7aa1d0eb-a145-4713-b12c-72d757924ef1": {
"ai_languageModel": [
[
{
"node": "4c5c5daa-2ec9-451e-a827-b1d4cb21aecf",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2352e0ea-0f51-4b62-9dd1-b7af7a2a1628": {
"main": [
[
{
"node": "c1b7dcee-035e-46f3-8cfc-985cc7920839",
"type": "main",
"index": 0
}
]
]
},
"450b4fb9-26b5-4622-94ca-ca41761137b6": {
"ai_languageModel": [
[
{
"node": "b6f3b365-d277-4917-bb39-6c44a3c9d29b",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"df78c5c0-2394-4fc4-b04b-da34bd07b7db": {
"main": [
[
{
"node": "2352e0ea-0f51-4b62-9dd1-b7af7a2a1628",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Extraction de documents, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Alok Kumar
@alokkumarI am a Principal Software Engineer based in Ireland with a deep passion for AI and emerging technologies. With extensive experience in designing and implementing scalable software solutions, I focus on leveraging artificial intelligence to solve real-world problems. I enjoy exploring innovative applications of AI, from intelligent automation to data-driven insights, and I’m dedicated to building systems that are both efficient and impactful.
Partager ce workflow