Quick overview
This workflow takes a job-posting URL or pasted job description, validates it with an OpenRouter model, generates an evidence-based tailored resume using Notion data, and saves the result as a Google Doc and matching PDF in Google Drive before confirming completion back in the n8n form.
How it works
- Receives a submission from an n8n Form that includes a job-posting URL and/or pasted job-posting text.
- If only a URL is provided, scrapes the job listing with Firecrawl, then normalizes and cleans the content into a single job description payload.
- Uses an OpenRouter chat model to validate that the content is a complete, genuine job posting and returns a clear form error message if validation fails or content is missing.
- When validation succeeds, uses OpenRouter plus Notion databases (experience, skills, credentials, and optionally projects) to generate an ATS-friendly tailored resume in Markdown.
- Creates a company-named folder in Google Drive, uploads the resume as an editable Google Doc, and applies Google Docs margin settings via the Google Docs API.
- Exports the Google Doc to PDF, uploads the PDF to the same Google Drive folder, and returns a success message in the form.
Setup
- Add an OpenRouter API credential and select the model you want to use for both job-post validation and resume generation.
- Add a Notion API credential, grant it access to your Notion data sources, and fill in the four Notion database data source IDs in the “EDIT ME - Template Setup” node.
- Add a Firecrawl API credential as an HTTP Header Auth credential and connect it to the job-scraping request.
- Add a Google Drive OAuth2 credential with permission to create files and folders, and set the target Google Drive parent folder ID (or keep
root) in “EDIT ME - Template Setup.”
- Update the contact details in “EDIT ME - Candidate Profile” so the resume header uses your real name and links.
Requirements
- Notion Database Pages
- Notion API Key
- Firecrawl API Key
- Openrouter API Key
- Google Drive OAuth2 Credentials