Note: To learn more about the Barcode Generator API, visit PDF.co API Docs.
Automated QR Code Ticket Generation on Event Signup
What You'll Have When Done: A fully automated system that monitors your Google Sheets for new event signups, generates unique QR code tickets with personalized information, and updates your spreadsheet with the generated QR code.
Prerequisites
Before you begin, make sure you have:
- A PDF.co API Key (Get yours here)
- Google Sheets with OAuth2 credentials configured in n8n
- Google Drive OAuth2 credentials configured in n8n
- An n8n instance (cloud or self-hosted)
- A Google Sheet for event signups with the following columns:
- Timestamp
- Name
- Event Name
- Ticket ID
- QR Code (this will be auto-populated)
- A Google Drive folder for storing generated QR code tickets
- A PDF template for your tickets (uploaded to PDF.co Built-in File Storage)
Quick Start Options
Option A: I Want It Working Now
- Import this workflow template → Download JSON File
- Connect your Google accounts in n8n (Sheets, Drive)
- Add your PDF.co API key
- Set up your Google Sheet with the required columns
- Upload your ticket template to PDF.co and get the filetoken link
- Configure the folder for QR code storage
- Test with sample signup data
- Activate and let it run
Option B: I Want to Build It Step-by-Step
Follow the 6-step guide below to create the automation from scratch.
What This Automation Does (Overview)
- Monitors your Google Sheet for new event signups
- Generates a QR code using the unique Ticket ID
- Creates a personalized PDF ticket with attendee information and QR code
- Downloads the generated ticket from PDF.co
- Uploads the ticket to Google Drive for storage
- Updates the original spreadsheet with a link to the QR code
Step-by-Step Build Guide
Step 1: Monitor for New Event Signups
Node: Google Sheets Trigger
Settings:
- Trigger On:
Row Added
- Document from List: Select your event signup Google Sheet
- Sheet from List: Choose the appropriate sheet (usually Sheet1)
What This Does: Automatically detects when someone new signs up for your event by monitoring new rows added to your Google Sheet.
Success Looks Like: The trigger activates immediately when a new signup is added, capturing all the attendee information (Timestamp, Name, Email, Event Name, Ticket ID).
Step 2: Generate QR Code from Ticket ID
Node: PDF.co API → Barcode Generator
Settings:
- Value:
={{ $json['Ticket ID'] }}
(uses the Ticket ID from the signup) - Barcode Type: QR Code (default)
What This Does: Takes the unique Ticket ID from your signup form and converts it into a scannable QR code that can be used for event check-ins.
Success Looks Like: PDF.co processes the Ticket ID and returns a URL to the generated QR code image.
Step 3: Create Personalized PDF Ticket
Node: PDF.co API → Add Text/Images to PDF
Settings:
- PDF URL: Your uploaded PDF template filetoken link
- Text Annotations:
- Attendee Name:
={{ $('Google Sheets Trigger').item.json.Name }}
- Position: x: 52.14, y: 136.3
- Font: Verdana, Size: 16
- Event Name:
={{ $('Google Sheets Trigger').item.json['Event Name'] }}
- Position: x: 40.33, y: 43.19
- Font: Verdana, Size: 25
- Ticket ID:
={{ $('Google Sheets Trigger').item.json['Ticket ID'] }}
- Position: x: 81.88, y: 213.14
- Font: Verdana, Size: 12
- Attendee Name:
- Images:
- QR Code:
={{ $json.url }}
(from previous step)- Position: x: 465.18, y: 19.63
- Size: 126.28 x 157.06
- QR Code:
What This Does: Takes your PDF ticket template and overlays it with personalized information from the signup (name, event, ticket ID) plus the generated QR code.
Success Looks Like: PDF.co creates a customized ticket PDF with all attendee information and QR code properly positioned on your template. For more information, visit our API Docs.
Tip: Use the PDF Inspector tool to easily find and fine-tune the placement of text and images on your PDF template.
Step 4: Download the Generated Ticket
Node: HTTP Request
Settings:
- Method:
GET
- URL:
={{ $('PDFco Api1').item.json.url }}
(from the ticket generation step)
What This Does: Downloads the finalized ticket PDF from PDF.co's servers so it can be uploaded to your Google Drive storage.
Success Looks Like: The personalized ticket PDF is downloaded and ready for storage.
Step 5: Store Ticket in Google Drive
Node: Google Drive → Upload File
Settings:
- Input Data Field Name:
data
- Parent Drive From List:
My Drive
- Parent Folder From List: Select your "QR Code Storage" or designated ticket folder
What This Does: Saves the generated ticket to your Google Drive for organized storage and easy access.
Success Looks Like: The ticket PDF appears in your designated Google Drive folder with appropriate naming.
Step 6: Update Spreadsheet with QR Code Link
Node: Google Sheets → Update Row
Settings:
- Document From List: Same spreadsheet as Step 1
- Sheet From List: Same sheet as Step 1
- Mapping Column Mode:
Map Each Column Manually
- Column to Match On:
Ticket ID
- Columns to Update:
- Ticket ID:
={{ $('Google Sheets Trigger').item.json['Ticket ID'] }}
(matching column) - QR Code:
=IMAGE("{{ $json.webContentLink }}")
(Google Sheets IMAGE function)
- Ticket ID:
What This Does: Updates the original signup row with a visual QR code that displays directly in the spreadsheet for easy reference.
Success Looks Like: The QR Code column in your spreadsheet shows the actual QR code image for each attendee.
Congrats! You've created a fully automated event ticketing system that generates personalized QR code tickets for every signup. This system scales automatically and provides professional-looking tickets with zero manual work.
Built something cool with this workflow? Share it with us @pdfdotco
Related Tutorials



