Welcome to AI_RA (AI Resume Automation) β a complete system that automates resume and cover letter generation using GPT, Google Sheets, LaTeX, and n8n.
You must create a Google Sheet with the following columns in exact order:
RowID | COMPANY | JOB TITLE | JOB DESCRIPTION | Link Of Application | GENERATED COVER LETTER LINK | GENERATED RESUME LINK | STATUS | APPLICATION STATUS | Mission and Values | Skills (Keywords Extracted) | Refined Keywords | General Cover Letter | Personalised Cover letter | Final Cover Letter | Summary | EducationSection | Skills | Experience | Project | Resume
This sheet will act as the source of truth and input for the automation pipeline.
- Go to your Google Sheet
- Click on Extensions > Apps Script
- Paste the code from the
script.gsfile (available in this repo) - Save and deploy the project
You need to add two triggers to the script:
-
πΉ Trigger 1: OnEdit of
JOB DESCRIPTION- Purpose: Sends updated row data to the n8n webhook to start automation
-
πΉ Trigger 2: OnEdit of Final Column (e.g.,
Resume)- Purpose: Triggers the function to compile the final LaTeX code from all returned automation data
To add these:
- Go to Apps Script β Triggers β Add Trigger
- Choose function, set event type to On Edit, and save
- Sign up for n8n cloud (15-day free trial)
You can self-host n8n using a Docker image that comes with pre-configured setup.
docker run -it --rm \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n- Access it via
http://localhost:5678
Use Ngrok to expose a public URL for webhook connection:
ngrok http 5678Replace the generated https://xxxx.ngrok.io in your Apps Script as the webhook URL.
- Import
n8n_workflow.jsonfrom this repo into your n8n instance - This workflow handles:
- Reading Google Sheet row
- Sending job description to OpenAI
- Extracting keywords
- Generating cover letter and LaTeX resume string
- Add Google authentication to access your Sheet securely from n8n.
- Add OpenAI or OpenRouter credentials.
OpenRouter.ai is a unified API gateway that lets you choose between many LLM providers. It allows:
- Model switching (e.g., GPT-3.5, Claude, Mixtral, etc.)
- Cost optimization
- Configurable sampling parameters like temperature per request
- Model: GPT-3.5 Turbo
- Provider: OpenRouter (via API key)
- Temperature: 0.7 (adjustable)
Once everything is setup:
- Edit a row with:
RowID,Company,Role, andJob Description
- Within 30 seconds, your:
- Tailored resume
- ATS-friendly cover letter (optional) will be generated!
Feel free to reach out to me β Iβm always happy to help if you get stuck!
β SaiChaitanya Muthyala