🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

PDF to Google Sheets, Gmail confirmations included

Lisa Granqvist Partner Workflow Automation Expert

Copying itinerary details out of PDFs is the kind of work that looks “quick” until you’re fixing row mistakes, missing dates, and re-opening the same attachment three times.

Ops managers feel it when bookings pile up. Travel coordinators get stuck in the weeds. And a small agency owner usually ends up double-checking everything “just in case.” This PDF to Sheets automation turns each PDF upload into clean spreadsheet rows and a simple Gmail “done” confirmation.

Below you’ll see how the workflow runs, what results to expect, and what you need to plug it into your process without turning it into an IT project.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: PDF to Google Sheets, Gmail confirmations included

The Problem: PDF Itineraries Don’t Belong in Human Hands

PDF itineraries are dense, inconsistent, and weirdly formatted. One vendor puts flight numbers in a table, another buries check-in time in a paragraph, and someone inevitably sends a scanned file that looks fine to a human but behaves like an image. Then the manual part starts. You copy, paste, align columns, fix date formats, and hope nothing important got skipped. It’s not just time. It’s the mental load of “did I miss something?” and the cost of discovering an error after the confirmation already went out.

The friction compounds. Here’s where it breaks down in real teams.

  • Every PDF becomes a tiny one-off project, so even “simple” entries eat about 10 minutes each.
  • Row structure drifts over time, which makes reporting and filtering unreliable when you need it most.
  • People hesitate to delegate because mistakes are easy to make and hard to spot later.
  • There’s no clean “done” signal, so someone checks the sheet, then checks email, then checks again.

The Solution: Upload PDFs, Get Structured Rows + Confirmation Email

This workflow starts with a simple PDF upload through an n8n form trigger, then turns each file into structured itinerary data using an AI extraction step (GPT-4.1-Mini via OpenAI). Instead of asking someone to interpret formatting, it asks the model to return predictable fields, then maps those fields into your Google Sheet columns. It loops through multiple PDFs if you upload a batch, so you can process a day’s worth of itineraries in one go. Once the sheet append is successful, it generates a short confirmation message and sends it via Gmail. You get clean rows, a timestamp, and a clear “finished” email you can forward or archive.

The workflow begins when a PDF hits the upload form. It splits the incoming files, processes them one by one, extracts key details into a structured format, and appends the results to Google Sheets. Finally, Gmail sends a confirmation so you’re not guessing if it worked.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you receive 20 itinerary PDFs each week. Manually, even at a conservative 10 minutes per PDF, that’s about 3 hours of copy-paste, formatting, and double-checking. With this workflow, you upload the batch once (a minute or two), then let extraction and sheet updates run in the background. You still review the rows, but it’s a quick scan instead of rebuilding the data. Realistically, you get back about 2 hours a week, and the rows stay consistent.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing extracted itinerary rows
  • Gmail to send confirmation notifications
  • OpenAI API key (get it from platform.openai.com)

Skill level: Intermediate. You’ll connect credentials, edit a few fields, and align the AI output with your sheet columns.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

PDF upload triggers the workflow. An n8n form receives one PDF or a batch. No email forwarding rules required, although you can add that later if you want.

Files are split and processed one at a time. The workflow breaks the upload into individual items, then uses a batch loop so each PDF gets a clean extraction pass without mixing results.

OpenAI extracts the itinerary fields you care about. The Read PDF step pulls the text, then the AI information extractor returns structured data (think: dates, locations, booking references, traveler names) based on your prompt.

Google Sheets is updated and Gmail confirms completion. Each extracted record is appended as a new row with a timestamp, then an email is composed and sent so you have a clear “processed successfully” signal.

You can easily modify the extraction fields to match your sheet and your itinerary format preferences. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the workflow entry point so users can upload multiple PDF files for processing.

  1. Add and open Incoming PDF Form.
  2. Set Form Title to LOAD MULTIPLE FILES.
  3. Set Form Description to Select multiple pdf files to run this example..
  4. In Form Fields, ensure a file field labeled files accepts *.pdf and is required.

Step 2: Split and Batch the Incoming Files

Break the uploaded files into individual items and iterate through them in batches.

  1. Open Split PDF Items and set Field to Split Out to =files.
  2. Confirm Destination Field Name is set to =files and Include Binary is enabled.
  3. Open Batch Iterate Files and keep Reset set to false in Options.
  4. Verify the flow: Incoming PDF FormSplit PDF ItemsBatch Iterate Files.

Step 3: Set Up PDF Extraction with AI

Extract structured data from each PDF item using the information extractor, powered by the AI language model.

  1. Open Parse PDF Details and set Text to ={{ $json.files.filename }}.
  2. Confirm the extraction attributes include Agency Name, Email, Address, Phone, Date, tour, and departure date.
  3. In Parse PDF Details, keep the System Prompt Template as configured for accurate extraction.
  4. Ensure AI Chat Engine is connected as the language model for Parse PDF Details.

Credential Required: Connect your openAiApi credentials in AI Chat Engine (AI sub-nodes use the parent node’s credentials).

Step 4: Connect Google Sheets

Append or update the extracted fields in your Google Sheet.

  1. Open Append Sheet Records and set Operation to appendOrUpdate.
  2. Select the target spreadsheet by setting Document to [YOUR_ID] and Sheet to gid=0.
  3. Map the columns to expressions like Date={{ $json.output[' Date'] }} and Agency Name={{ $json.output['Agency Name'] }}.
  4. Confirm Matching Columns includes Agency Name for upsert behavior.

Credential Required: Connect your googleSheetsOAuth2Api credentials.

Step 5: Configure AI Email Composition and Gmail ارسال

Generate a confirmation email using AI and send it via Gmail after each sheet update.

  1. Open Compose Notification Email and keep JSON Output enabled.
  2. Review the message template content so it uses expressions like {{ $json['Agency Name'] }} and {{ $json.Email }}.
  3. Open Dispatch Gmail Notice and set Send To to [YOUR_EMAIL].
  4. Set Message to = {{ $('Compose Notification Email').item.json.message.content.Email }}.
  5. Set Subject to ={{ $json.message.content.Subject }} and Email Type to text.

Credential Required: Connect your openAiApi credentials in Compose Notification Email.

Credential Required: Connect your gmailOAuth2 credentials in Dispatch Gmail Notice.

⚠️ Common Pitfall: If the Gmail message is empty, verify the AI response fields in Compose Notification Email output the Subject and Email keys exactly as referenced.

Step 6: Test and Activate Your Workflow

Run a manual test to confirm the PDF extraction, sheet update, and email dispatch flow.

  1. Click Execute Workflow and upload multiple PDFs in Incoming PDF Form.
  2. Confirm each file is processed through Split PDF Items and Batch Iterate Files.
  3. Check Append Sheet Records to verify rows are appended or updated in your sheet.
  4. Verify a confirmation email is sent via Dispatch Gmail Notice with the AI-generated subject and message.
  5. When everything looks correct, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets and Gmail credentials can expire or need specific permissions. If things break, check n8n’s Credentials panel and your connected Google account access first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this PDF to Sheets automation?

About 30 minutes if your Google and OpenAI accounts are ready.

Do I need coding skills to automate PDF to Sheets extraction?

No. You will connect accounts and adjust a prompt and a few field mappings.

Is n8n free to use for this PDF to Sheets workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per PDF depending on length.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this PDF to Sheets workflow for different itinerary fields?

Yes, and you should. Update the extraction prompt in the “Parse PDF Details” AI extractor to match your exact fields (for example: traveler name, booking reference, flight number, check-in date, hotel address). Then adjust the “Append Sheet Records” mapping so each extracted value lands in the right column. If you want different confirmation wording, edit the email text in “Compose Notification Email.”

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired OAuth consent or the wrong Google account connected. Reconnect Google Sheets credentials in n8n, then confirm the target spreadsheet is shared with that account. Also check that the sheet tab name hasn’t changed, because appends can fail silently when a worksheet gets renamed. If you’re processing a big batch, Google can throttle requests, so lowering batch size can help too.

How many PDFs can this PDF to Sheets automation handle?

A lot, but it depends on your n8n plan and your server. On n8n Cloud, higher tiers give you more monthly executions, which matters if you process large batches every day. If you self-host, there’s no execution limit, but CPU and memory will decide how fast PDFs can be parsed and sent to OpenAI. Practically, most small teams run dozens to a few hundred PDFs a week without thinking about it.

Is this PDF to Sheets automation better than using Zapier or Make?

Often, yes. This workflow benefits from batching, branching, and “extract then map” logic, which n8n handles cleanly without turning it into a pile of paid steps. Self-hosting is also a big deal if your volume grows, because you’re not paying per tiny action. That said, Zapier or Make can feel simpler for a two-step flow, like “email attachment to spreadsheet,” especially if you don’t need AI extraction. The best choice depends on how strict your data structure needs to be and how many PDFs you process. If you want a second opinion, Talk to an automation expert and map it out in 15 minutes.

Once this is running, PDFs stop being a bottleneck and start being just another input. The workflow handles the repetitive cleanup so you can trust your sheet and move on.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal