Skip to main content

Generate and track offer letters with Google Sheets, Docs, Drive and Gmail

Workflow preview

Workflow preview
100%
Generate and track offer letters with Google Sheets, Docs, Drive and Gmail preview
Open on n8n.io

1. Workflow Overview

How it works This workflow automates the full offer letter lifecycle, from generation to final candidate response tracking. When a new row with a Pending status is added to Google Sheets, it create...

Best for

  • HR automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.googlesheetstrigger, n8n-nodes-base.googledrive, n8n-nodes-base.googledocs, n8n-nodes-base.gmail, n8n-nodes-base.webhook, n8n-nodes-base.switch, n8n-nodes-base.googlesheets, n8n-nodes-base.if

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Avkash Kakdiya.

Original n8n.io source

1.1 Workflow description

Title
Generate and track offer letters with Google Sheets, Docs, Drive and Gmail
Workflow name
Generate and track offer letters with Google Sheets, Docs, Drive and Gmail

How it works

This workflow automates the full offer letter lifecycle, from generation to final candidate response tracking. When a new row with a Pending status is added to Google Sheets, it creates a personalized offer letter using a Google Docs template. The document is converted to PDF, stored in Google Drive, shared securely, and sent to the candidate via Gmail. Candidate responses are captured through webhooks, validated against deadlines, and used to update status and trigger follow-up communications.

First set: Generate and send offer letter

  • Monitor new candidates

  • Google Sheets Trigger – Watches for newly added rows in the offer sheet.

  • If – Ensures only rows with a Pending status are processed.

  • Generate offer letter

  • Google Drive – Copies the offer letter template for the candidate.

  • Google Docs – Replaces placeholders with candidate-specific data.

  • Google Drive – Converts the document to a PDF file.

  • Store and share document

  • Google Drive – Saves the PDF to a designated folder.

  • Google Drive – Assigns public read-only access to the file.

  • Send offer email

  • Gmail – Sends the offer email with Accept and Decline action links.

  • Google Sheets – Updates the sheet with offer link, date, and Sent status.

Second set: Capture response and finalize outcome

  • Capture candidate response

  • Webhook – Receives the candidate’s decision from email buttons.

  • Google Sheets – Fetches the corresponding candidate record.

  • If – Checks whether the response is already locked.

  • Code – Validates decision against the response deadline.

  • Finalize outcome

  • Switch – Routes Accepted, Rejected, or Timeout outcomes.

  • Google Sheets – Updates final status and locks further responses.

  • Gmail – Sends confirmation emails to the candidate and HR.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Google Sheets Trigger

Type / Role
n8n-nodes-base.googleSheetsTrigger - googleSheetsTrigger
Config choices
Version 1

Block 2 - Copy Template1

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 3 - Update a offer letter1

Type / Role
n8n-nodes-base.googleDocs - googleDocs
Config choices
Version 2

Block 4 - Document to PDF1

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 5 - Save PDF to drive1

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 6 - Assign Sharing Rights1

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 7 - Send a message1

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 8 - Webhook1

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2.1

Block 9 - Thank you to Candidate2

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 10 - Ack. Hr1

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 11 - Ack. Candidate1

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 12 - Switch1

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 13 - Thank you to Candidate3

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 14 - Update status in sheet1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 15 - Update Status to Accepted1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 16 - Update Status to Rejected1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 17 - Update Status Timeout1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 18 - Check Response is Locked?1

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 19 - If4

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 20 - Code in JavaScript3

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 21 - Get row(s) in sheet2

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 22 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Generate and track offer letters with Google Sheets, Docs, Drive and Gmail
Complexity advanced
Nodes 24
Categories HR
Author Avkash Kakdiya
Published 10 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13278/13278.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate and track offer letters with Google Sheets, Docs, Drive and Gmail do?

How it works This workflow automates the full offer letter lifecycle, from generation to final candidate response tracking. When a new row with a Pending status is added to Google Sheets, it create...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR use case.