// 30-min buildsby JoshMay 5, 20265 min read

Auto-Draft Proposals From a Google Doc Template in 30 Minutes

Fill out a short brief. Get a polished proposal draft generated from your template, ready to edit and send. Save 45 minutes per proposal. Ship it today.

Auto-Draft Proposals From a Google Doc Template in 30 Minutes

The build: fill out a 6-question brief form, get a Google Doc proposal generated from your template with personalized sections, ready to review and send.

Total time: 30 minutes.

What you'll need

  • -A Google Doc proposal template (your existing one is fine)
  • -Tally or Typeform for the brief
  • -n8n
  • -Google Docs API (via Google service account)
  • -AI API key

Step 1: Audit your template (5 min)

Open your existing proposal template in Google Docs. Identify the sections that change per proposal: - Client name - Problem statement - Approach - Deliverables - Timeline - Investment

Mark these in your template with placeholders like {{client_name}}, {{problem_statement}}, etc.

If your template doesn't have a clear structure, fix that first. AI can't generate good content from a chaotic template.

Step 2: Create the brief form (5 min)

In Tally, build a 6-question form: 1. Client name 2. What's their problem (in their words, paste from emails) 3. What's the scope (high-level) 4. What's the timeline (rough) 5. What's the budget range (rough) 6. Any constraints or unique context

Step 3: Webhook to n8n (2 min)

Point the Tally webhook at an n8n Webhook trigger.

Step 4: Generate each section with AI (10 min)

Add an AI node. Generate each variable section with a separate prompt for tone consistency.

Example for the problem statement:

``` Write the "Problem" section of a consulting proposal.

Client: {{ name }} Their problem (in their words): {{ problem_raw }} Industry context: {{ industry }}

Format: 2 paragraphs. - Paragraph 1: restate their problem in clear, professional language (their voice, sharpened) - Paragraph 2: the cost of NOT solving it (specific, not generic)

Length: 120-180 words total. Match the tone of these examples: {2-3 SAMPLES_FROM_YOUR_BEST_PROPOSALS}.

Banned phrases: "in today's fast-paced environment", "leverage", "synergize", "robust", "seamless", "paradigm". ```

Do similar for approach, deliverables, timeline, investment.

Step 5: Generate Google Doc (5 min)

Add a Google Docs node in n8n. Use the "Create from template" action.

Pass each AI-generated section as a variable replacement.

The output is a new Google Doc with all placeholders filled in.

Step 6: Notify (3 min)

Add a Slack notification (or email) with the link to the generated doc.

Format:

``` :memo: Draft proposal generated for *{{ name }}*

Review and edit: {{ doc_url }} ```

Common gotchas

  • -Google service account permissions: the service account needs edit access to the template doc. Create one in Google Cloud Console, share the template with the service account email.
  • -Placeholders are case-sensitive in some Google Docs replacement tools. Be consistent.
  • -Long AI outputs occasionally include markdown formatting (headers, bullets) that doesn't render in Google Docs. Add a "plain text only" instruction to each prompt.

What I do with this

A new client conversation usually wraps with "I'll send a proposal by tomorrow." Before this system, that meant 45 minutes of writing.

Now I fill the form on the train. Open the generated doc when I'm at my desk. Edit for 8-12 minutes. Send.

The AI does the structure and the boring parts. I keep editorial control over the parts that matter.

What to add next

  • -Multiple template versions (small engagement, large engagement, retainer)
  • -Auto-generated SOW alongside the proposal
  • -Calendly link insertion based on engagement type
  • -E-sign integration (HelloSign, DocuSign)

Don't over-engineer. The 6-question form to a draft doc is 80% of the value.

proposalsgoogle docsaiautomation30 min build
// go deeper

Want the full guide? Check out our deep-dive page for more context, FAQs, and resources.

read the full guide
// keep reading

Related posts

// ready to ship?

Let's build yours.

Reading is the easy part. We do the work. Tell us what's broken and we'll tell you straight up whether we can help.