You've spent three weeks refinishing a 40-slide pitch deck. Your financial analyst spent another week pulling data from spreadsheets and building charts. Your copywriter laboured over narrative arcs and value proposition statements. Then your investor asks for three revised versions by Friday. This cycle repeats across thousands of startups because building pitch decks still feels custom, even when the underlying data is structured and repeatable. Financial statements follow standard formats. Market research reports sit in PDFs. Your unique story exists somewhere in emails, pitch notes, and your own head. But extracting that data, synthesising it into compelling narratives, and designing visual presentations remains a largely manual process. The good news: you can automate most of it. By connecting a PDF reader, a content generation engine, and a web design tool through a workflow orchestrator, you can transform raw financial documents and market research into a fully drafted deck in hours rather than weeks. You'll still need to customise and review, but the heavy lifting of data extraction and narrative generation becomes automatic.
The Automated Workflow
Start with n8n as your orchestration layer. n8n runs on your own infrastructure or can be cloud-hosted, giving you flexibility for handling sensitive financial data. The workflow follows this sequence: receive a trigger (a new set of financial statements plus market research PDFs), extract structured data from those PDFs, generate narrative copy for each slide section, collect that copy into a design brief, and finally create a working Dora AI website that functions as your interactive pitch deck.
Step 1: Triggering the workflow
Create a simple webhook trigger in n8n. When your financial analyst uploads documents to a shared folder (or you trigger it manually), the workflow starts.
POST /webhook/pitch-deck-generator
Content-Type: application/json { "financial_statement_url": "https://your-storage.com/q4-2025-financials.pdf", "market_research_url": "https://your-storage.com/market-analysis.pdf", "company_name": "Acme AI Solutions", "target_sector": "Enterprise SaaS"
}
Step 2: Extracting data from PDFs
Use the Chat With PDF by Copilot.us API to send structured questions to your PDFs. Rather than asking vague questions, pose specific queries that extract the data you need for your deck.
POST https://api.copilot.us/v1/chat
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json { "file_url": "https://your-storage.com/q4-2025-financials.pdf", "questions": [ "What is the total revenue for the last three years?", "What is the year-over-year growth rate?", "What are the top three cost categories?", "What is the current monthly burn rate?", "What is the runway in months given current cash position?" ]
}
Chat With PDF will return structured responses. Store these in n8n's internal database node so you can reference them later. Repeat the same process for your market research PDF, asking questions about: - Total addressable market (TAM)
- Competitive landscape and key rivals
- Market growth rate and projections
- Key customer problem
- Regulatory or macro trends
Step 3: Generating narrative copy
Now feed this extracted data into Copy.ai's API. Copy.ai specialises in generating on-brand copy at scale. Create a prompt template that includes your extracted financial data and market context.
POST https://api.copy.ai/v1/generate
Authorization: Bearer YOUR_COPY_AI_KEY
Content-Type: application/json { "template": "pitch_deck_section", "variables": { "company_name": "Acme AI Solutions", "revenue_2023": "£1.2M", "revenue_2024": "£3.8M", "growth_rate": "217%", "tam": "£18.5B", "monthly_burn": "£85K", "runway_months": "28", "key_competitors": "Competitor A, Competitor B", "main_pain_point": "Manual invoice processing costs enterprises 3% of revenue" }, "tone": "confident, data-driven", "length": "medium"
}
Configure Copy.ai to generate separate sections for: - The opening "problem" slide
- Your solution statement
- Market opportunity slide
- Competitive differentiation
- Financial highlights
- Use of funds / milestone roadmap
- The closing "call to action" Store each generated section as a separate variable in your n8n workflow.
Step 4: Building the design brief
Collect all your narrative copy and financial data into a structured design brief. This becomes the input for Dora AI.
POST https://api.dora.ai/v1/project/create
Authorization: Bearer YOUR_DORA_KEY
Content-Type: application/json { "project_name": "Acme AI Solutions - Pitch Deck 2026", "style_preference": "modern, minimal, tech-forward", "content_sections": [ { "slide_number": 1, "title": "The Problem", "body_text": "[Generated copy from Copy.ai]", "visual_brief": "Show a frustrated CFO managing invoices manually" }, { "slide_number": 2, "title": "Our Solution", "body_text": "[Generated copy from Copy.ai]", "visual_brief": "Show invoice processing workflow being automated" }, { "slide_number": 3, "title": "Market Opportunity", "body_text": "[Generated copy from Copy.ai]", "visual_brief": "Include market size stat: £18.5B TAM" }, { "slide_number": 4, "title": "Traction", "body_text": "217% year-over-year growth. £3.8M ARR.", "visual_brief": "Include revenue graph" }, { "slide_number": 5, "title": "Why Us", "body_text": "[Generated copy from Copy.ai]", "visual_brief": "Product screenshot or team photo" }, { "slide_number": 6, "title": "Funding Ask", "body_text": "[Generated copy from Copy.ai - use of funds]", "visual_brief": "Budget breakdown visualization" } ]
}
Dora AI will generate a working website based on this brief. The output is a live URL you can share immediately, rather than a static PDF.
Step 5: Post-generation tasks
Once Dora generates the site, your n8n workflow should: - Save the public URL to a database or spreadsheet
- Send a Slack message to your founder with the link
- Store generated copy and extracted data in a version control folder (useful for tracking changes and iterating)
POST https://hooks.slack.com/services/YOUR/WEBHOOK/URL
Content-Type: application/json { "text": "Your pitch deck is ready", "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "Pitch deck generated for Acme AI Solutions.\nView it here: https://dora-generated-deck.com/acme-2026\n\nGenerated financials extracted from latest statements. Review and customise before sharing with investors." } } ]
}
The Manual Alternative
If you prefer more direct control over each step, you can run each tool separately without orchestration. Download your financial PDFs and upload them directly to Chat With PDF. Ask specific questions manually and copy the responses into a document. Then paste that document into Copy.ai's web interface and generate copy sections one at a time. Finally, hand-craft a design brief and feed it to Dora AI's interactive designer. This takes longer (closer to the original three weeks), but it gives you granular approval gates at each step. Some founders prefer this because they can tweak Copy.ai's output before it feeds into design, rather than discovering issues in the final website. A middle ground: run the extraction and copy generation automatically via n8n, but review the copy before sending it to Dora. You can pause the workflow, manually edit the generated text in n8n's editor, then resume.
Pro Tips
Handle PDF extraction failures gracefully.
Not all PDFs are machine-readable.
If Chat With PDF can't parse a document, your workflow should catch that error, send you a notification, and ask you to re-upload the file in a different format (usually a clean export from Excel or your accounting software rather than a scanned image). In n8n, use a "Try/Catch" node to handle this.
Rate-limit Copy.ai calls.
Copy.ai applies rate limits on the free plan. If you're generating seven long-form sections at once, you might hit the limit. Use n8n's built-in delay node to space out API calls by 2-3 seconds per request. This adds minimal time to your overall workflow but prevents throttling errors.
Store intermediate outputs.
Every time Chat With PDF responds or Copy.ai generates text, save that output to a database (even a Google Sheet via n8n's Google Sheets node). This gives you a full audit trail and lets you reuse generated content across multiple deck versions without regenerating it.
Customise Dora's colour palette.
Dora AI accepts style parameters. Pass your brand colours (hex codes) in the project creation request so the generated deck matches your identity without manual redesign.
Test with dummy data first.
Before running this on your real financial statements, test the entire workflow with fake numbers. Verify that the data flows correctly from PDF extraction through to the final website. This catches API misconfigurations or missing fields before you're under deadline pressure.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| Chat With PDF by Copilot.us | Pay-as-you-go | £10–50 | Charged per PDF interaction. Budget for 20–30 questions per deck. |
| Copy.ai | Starter or Professional | £36–120 | Starter (£36) covers ~100 generations monthly. Professional (£120) for unlimited. |
| Dora AI | Creator or Team | £50–200 | Creator (£50) for personal projects. Team (£200+) for shared workflows. |
| n8n | Self-hosted (free) or Cloud Pro | £0–50 | Self-hosted: free but requires your own server. Cloud Pro: £50/month for reliability. |
| Slack (notifications) | Free or Pro | £0–6 | Free tier adequate for this workflow. |
| Total | , | £96–426 | Varies by volume and tool tier. Single deck generation ≈ £20–40 in API costs. |