Back to Alchemy
Alchemy RecipeIntermediateworkflow

Grant proposal generation from research outline and academic papers

28 March 2026

Introduction Writing a competitive grant proposal requires synthesising findings from dozens of academic papers, identifying research gaps, and articulating why your work matters.

Most researchers do this manually: they read papers one by one, take notes in scattered documents, then spend weeks drafting proposals from memory and half-organised references. The result is inefficient, error-prone, and leaves money on the table because key evidence gets buried or forgotten. The time investment is substantial. A single grant proposal might demand 40 to 80 hours of literature review and writing. When researchers juggle multiple proposals across funding cycles, this becomes unsustainable. The cognitive load of remembering which paper said what, then reconstructing that logic in proposal prose, introduces inconsistency and gaps. This workflow automates that process. By combining PDF dialogue tools, academic paper explainers, and AI copywriting, you can extract structured findings from your research collection, generate proposal drafts with proper citations, and iterate on them in hours rather than weeks. The orchestration layer ensures data flows from one tool to the next without manual copying and pasting.

The Automated Workflow The automation runs on a trigger: you upload a folder of research papers and your proposal outline.

The system then extracts key findings, maps them to your outline sections, and generates draft text for each section. You review and refine; the AI handles synthesis and initial drafting. Choosing your orchestration tool For this workflow, n8n is the better choice over Zapier or Make. Reason: this process requires conditional branching (different handling for different paper types), structured data transformation (mapping findings to outline sections), and looping (processing multiple papers sequentially). n8n handles these patterns more flexibly and costs less at scale. Make would work, but n8n's node library is stronger for PDF and text processing tasks. The workflow steps 1. User uploads research papers (PDF) and a proposal outline (text or markdown) to a Google Drive folder.

  1. n8n watches that folder via Google Drive trigger.

  2. Chat With PDF by Copilot.us extracts structured summaries from each paper.

  3. Explainpaper processes complex sections to clarify methods or results.

  4. Copy.ai generates proposal text for each outline section, citing the papers.

  5. Final draft is saved to Google Drive and emailed to the user. Wiring it together in n8n Start with a Google Drive folder trigger. Create a dedicated folder called "Grant Proposals – Input" and watch for new PDF files:

Trigger: Google Drive
Action: Watch folder for new files
Folder ID: [your input folder ID]
File type: PDF only

When a PDF arrives, pass it to Chat With PDF via their API. You'll need an API key from Copilot.us (or authenticate via their webhook). The request sends the PDF file and a prompt asking for structured extraction:

POST https://api.copilot.us/v1/chat
Headers: Authorization: Bearer YOUR_COPILOT_API_KEY Content-Type: application/json Body:
{ "document_id": "{{pdf_file_id}}", "message": "Extract the following in JSON format: title, authors, year, research_question, methods, key_findings (array), limitations (array). Be concise; each finding in one sentence."
}

In n8n, this becomes an HTTP request node. Map the PDF file ID from the Google Drive trigger into the request. Parse the JSON response and store it in a variable called paper_summary. Next, add a conditional branch. If the paper's findings contain methodological complexity (keywords like "statistical model", "algorithm", "protocol"), route it to Explainpaper for clarification. Otherwise, skip this step:

Condition:
IF paper_summary.methods contains ("statistical" OR "algorithm" OR "protocol")
THEN send to Explainpaper
ELSE proceed to Copy.ai

Explainpaper doesn't yet have a public API, so use their web interface via a webhook integration or Zapier bridge. Alternatively, if Explainpaper integration is unavailable, skip this step and trust Chat With PDF's extraction. Document this in your workflow comments. Now, the core step: generating proposal text. You'll need your proposal outline. Store it as a workflow variable or fetch it from a Google Doc. Loop through each section of your outline and call Copy.ai for each one:

For each outline_section: POST https://api.copy.ai/v1/generate Headers: Authorization: Bearer YOUR_COPYAI_API_KEY Content-Type: application/json Body: { "prompt": "Write a grant proposal section titled '{{outline_section.title}}'. Context: {{outline_section.description}}. Supporting evidence from research: {{JSON.stringify(paper_summaries)}}. Tone: formal, academic. Length: 150-250 words. Include 2-3 citations in the format (Author, Year).", "model": "advanced", "temperature": 0.7 }

In n8n, use a Loop node to iterate over your outline sections. For each iteration, call Copy.ai and append the response to a growing document:

Node Type: Loop
Loop over: outline.sections Inside loop: Node: HTTP Request (Copy.ai) [as above] Node: Set Variable Variable: proposal_draft Append: {{http_response.text}} Separator: "\n\n"

After the loop completes, you have a full proposal draft. Format it nicely and save it to Google Drive:

Node Type: Google Drive
Action: Create file
Parent folder: [your output folder]
File name: "Grant Proposal Draft – {{outline.title}} – {{TODAY()}}.docx"
File content: {{proposal_draft}}

Finally, send an email notification:

Node Type: Email
To: {{user_email}}
Subject: Your grant proposal draft is ready
Body: "Draft saved to: [link to Google Drive file]. Review and iterate in Copy.ai or your editor. Next steps: fact-check citations, add institution-specific details, verify budget alignment."

Error handling Add a catch node after each API call. If Chat With PDF fails (e.g. corrupted PDF), log the error and skip that file:

Error handler node:
IF error occurs
THEN send alert email with error details
AND continue to next paper

If Copy.ai is rate-limited (typically 50 requests per minute on free tier), add a delay node between iterations:

Node: Wait
Duration: 1.5 seconds
Placement: After each Copy.ai call

This prevents hitting rate limits during the loop.

The Manual Alternative If you prefer more control over the synthesis process, run each step manually and store outputs in a shared doc: 1.

Open each PDF in Chat With PDF directly via their web interface. Copy the extracted summary into a Google Doc.

  1. For complex sections, paste the text into Explainpaper and read explanations directly.

  2. In Copy.ai, paste all summaries into the prompt along with your outline. Generate one section at a time, edit inline, then move to the next.

  3. Compile sections into a final document. This takes longer (6 to 12 hours) but gives you real-time quality control and the ability to ask follow-up questions within each tool's chat interface. It's useful when your research is novel or when you need to contextualise findings against previous work in ways the AI might miss.

Pro Tips Citation accuracy The AI will generate citations in the format (Author, Year).

Always verify these match your actual papers. Add a final review step where you cross-check each citation against your source documents. Copy.ai sometimes hallucinates citations; catching these before submission is critical. Handling large paper collections If you have 30+ papers, don't process them all at once. Batch them into groups of 10, run the workflow for each batch, then ask Copy.ai to synthesise across batches. This keeps individual API responses manageable and reduces confusion from too many sources at once.

Cost optimisation

Use Claude Haiku 4.5 or GPT-4.1 mini for the initial summary extraction; these are cheaper and fast enough for structured extraction. Reserve Claude Opus 4.6 or GPT-4o for the final proposal generation, where output quality matters more. In n8n, you can select different models at different steps. Rate limit strategy Chat With PDF and Copy.ai both throttle free-tier users. Upgrade to their paid tiers only if you're running this workflow weekly or more. Otherwise, add 2-second delays between API calls and batch your papers to run the workflow once per week rather than multiple times per day. Iterative refinement The first draft is rough. Once the workflow completes, prompt Copy.ai again with the full draft and ask it to improve flow, reduce jargon, and strengthen the argument. This second pass catches gaps the initial generation missed and is much faster than manual rewriting.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
Chat With PDF by Copilot.usFree / Pro£0–£10Free tier sufficient for <500 PDFs/month. Pro includes faster processing and higher limits.
ExplainpaperFree / Premium£0–£20Free tier works for basic explanations. Premium offers batch processing and API access.
Copy.aiFree / Team£0–£50Free tier limited to 10,000 words/month. Team plan includes API access and higher limits.
n8n (self-hosted or cloud)Free / Cloud Pro£0–£30/monthSelf-hosted is free but requires your own server. Cloud Pro handles 50k+ executions/month.
Google Drive APIIncluded with workspace£0–£6/user/monthIncluded in Google Workspace. No separate charge for API calls.
Total,£0–£116/monthBudget £50–£80 for active researcher. Highest cost is Copy.ai; consider usage before upgrading.