# Collect Job Applications in Google Sheets with an n8n Form and a Careers-Page Webhook

> Send every job applicant to one Google Sheet with n8n: a hosted application form for job boards and a webhook for your careers page. Free, hands-on lesson.

Source: https://learn.ynteractive.com/content/n8n-job-application-form-webhook-google-sheets · Updated 2026-10-14 · Free from Stepthrough (https://learn.ynteractive.com)

## Practice it step by step

[Start the free practice](https://learn.ynteractive.com/modules/recruiting-applicant-intake)

[Take the full module: why it matters, practice and a quick check →](https://learn.ynteractive.com/courses/ai-for-recruiting-and-hr/9)

You do every step yourself in a practice copy of n8n. It checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, about 12 minutes, and nothing touches your real accounts. [Open full screen](https://learn.ynteractive.com/modules/recruiting-applicant-intake)

Free · Live now · [AI Automation for Recruiting & HR](https://learn.ynteractive.com/content/industry/recruiting-and-hr) · [n8n](https://learn.ynteractive.com/content/tool/n8n) · Google Sheets · ~12 min · 51 steps · Advanced

Updated October 14, 2026. Built against the tool’s current screens and checked step by step. [How we check this lesson](https://learn.ynteractive.com/content/about#how-we-check)

When applications arrive in two places, a form you post on job boards and the application form on your own careers page, someone ends up checking both and applicants slip through. In this free, interactive lesson you build one [n8n](https://learn.ynteractive.com/content/tool/n8n) workflow that catches both: an n8n Form Trigger that n8n hosts for you, and a [Webhook](https://learn.ynteractive.com/content/lovable-n8n-web-app-ai-backend) the careers page sends each application to. You test each with its [Test URL](https://learn.ynteractive.com/content/glossary/webhook-test-url-vs-production-url), append every applicant to one Google Sheet, and publish so the Production URLs run on their own. You practice on a copy of n8n, so nothing goes online.

## At a glance

| Question | Answer |
| --- | --- |
| What you build | Stop losing applicants between job boards and your careers page. An n8n form plus a careers-page webhook put every application in one Google Sheet. |
| Tools | n8n |
| Time | About 12 minutes, 51 steps in 6 parts |
| Level | Advanced |
| Cost | Free |
| Ways to learn it | [Practice it step by step](https://learn.ynteractive.com/modules/recruiting-applicant-intake) |

### The 6 parts, in short

1. Build the form: Add the first step, On form submission, Give it a title, Add a question, and 5 more steps.
2. Test the form: Execute step, Fill in the test form, Add an email, Submit, and 2 more steps.
3. Save to Google Sheets: Add the next step, Search for Google Sheets, Google Sheets, Append row in sheet, and 8 more steps.
4. Add a webhook: Open the nodes panel, Add another trigger, On webhook call, HTTP Method, and 2 more steps.
5. Test the webhook: Listen for test event, Copy the Test URL, Go to the website editor, Paste the Test URL, and 3 more steps.
6. Save website entries too: Add the next step, Search for Google Sheets, Google Sheets, Append row in sheet, and 7 more steps.

**Start here first:** [Webhooks and Forms in n8n: Capture Data from Anywhere](https://learn.ynteractive.com/content/n8n-webhook-and-form-trigger-tutorial). This Recruiting & HR version follows the same build with its own example business, Northstar Staffing Partners.

**Part of:** [AI for Recruiting & HR](https://learn.ynteractive.com/content/paths/ai-for-recruiting-and-hr) (step 12 of 12)

**Part of:** [Webhooks & Website Forms](https://learn.ynteractive.com/content/paths/webhooks-website-forms) (step 6 of 7). Next up: [Speed-to-Lead Agent: Answer Every Web Lead in 60 Seconds](https://learn.ynteractive.com/content/speed-to-lead-agent-n8n)

## The example: a staffing agency with two ways to apply

Northstar Staffing Partners is a made-up staffing agency. It shares an application form on job boards and social media, and its own website has a careers page with an application form built in its site editor. In the lesson, a practice applicant, Aisha Grant, fills in the n8n form, and the careers page sends a test application from Luis Moreno for an [Accounts Payable](https://learn.ynteractive.com/content/glossary/accounts-payable) Specialist opening. Both end up as rows in a Google Sheet called Northstar Applicants, with Name and Email columns.

## Who this lesson is for

This is for recruiters, recruiting coordinators and HR teams at small companies and agencies who want one list of applicants without paying for another tool, and for anyone learning n8n forms and [webhooks](https://learn.ynteractive.com/content/glossary/webhook). It takes about twelve minutes and needs no account.

It is the fifth module in the AI Automation for Recruiting & HR block, and a recruiting version of the n8n Automation Toolkit module "Webhooks and forms in n8n", which uses the same steps for a landscaping company's quote requests.

## What you do, step by step

- In a new workflow, add the On form submission trigger. Give the form the title Apply for a role and two form elements: Name (Text Input) and Email (Element Type Email, so the form checks the address).
- Click Execute step: the test form opens on its Test URL. Fill it in like an applicant, submit, and check the output: Name, Email, submittedAt and formMode.
- Add Google Sheets with the Append row in sheet action, choose the Northstar Applicants document and Sheet1, and drag Name and Email from the input onto the matching columns. Execute the step to add the row.
- Add another trigger, On webhook call. Set HTTP Method to POST and change the Path to job-application. Click Listen for test event, copy the Test URL, paste it into the careers page's form settings and send a test submission. The fields arrive inside body.
- Click the + on the right of the Webhook, add another Append row in sheet (it connects itself), pick the same sheet, and map body.name and body.email. Last, in your own n8n, click Publish to turn on the Production URLs.

## Test URLs versus Production URLs

Both triggers have two addresses. The Test URL (form-test or webhook-test) only works while you are listening in the editor, and shows each entry right there. The Production URL (form or webhook) works around the clock once the workflow is published. After publishing, share the form's Production URL on job boards, and swap the careers page's webhook address to the Production URL. Forgetting that swap is the most common reason applications stop arriving.

## Applicant data is personal data

Ask only for what the first screen needs. Don't collect things like date of birth, Social Security numbers or photos in an application form, share the sheet only with the recruiters who need it, and follow your company's data-retention policy for applicants and the privacy rules where you hire. A useful next step is an alert: add a [Gmail](https://learn.ynteractive.com/content/tool/gmail) or Slack node after the sheet step so a recruiter hears about each new applicant right away.

## Try it yourself, free

Reading the steps is a start. Doing them is how it sticks. The interactive module walks you through every click in a practice copy of n8n, checks each step, and never touches your real accounts.

[Start “Collect Job Applications in Google Sheets with an n8n Form and a Careers-Page Webhook”](https://learn.ynteractive.com/modules/recruiting-applicant-intake)

## Step by step: Collect Job Applications in Google Sheets with an n8n Form and a Careers-Page Webhook

All 51 steps of the interactive module, in order. In the module you watch each one, then do it yourself in a practice copy that checks your work.

### 1. Build the form

1. **Add the first step.** This is a new, empty workflow. Click **Add first step…**
   Northstar Staffing Partners gets applications in two places: a form it shares on job boards, and the careers page on its own website. Let's send every applicant to one Google Sheet. In a new workflow, click Add first step.
2. **On form submission.** In **What triggers this workflow?**, pick **On form submission**.
   Pick On form submission. n8n builds and hosts the form for you, so you need no other form tool.
3. **Give it a title.** The **Form Title** is required and shows as the heading of the form. Type **Apply for a role**.
   The form needs a title. It becomes the heading applicants see.
4. **Add a question.** Each question on the form is a form element. Click **Add Form Element**.
   Now the questions. Every question is a form element.
5. **Label it.** New elements start as a **Text Input**, which suits a name. In **Label**, type **Name**.
   New elements start as a Text Input, which is right for a name. In Label, type Name.
6. **Add another.** Add a second element for the email address: click **Add Form Element** again.
   Add a second element, for the email address.
7. **Label it Email.** In the new element's **Label**, type **Email**.
   Label this one Email.
8. **Element Type.** Open its **Element Type** drop-down.
9. **Choose Email.** Choose **Email**.
   The form will then check that people type a real email address before they can submit.

### 2. Test the form

10. **Execute step.** At the top, **Form URLs** shows the **Test URL** and the **Production URL**. Test first: on the left, click **Execute step**.
    At the top are two addresses. The Test URL is for trying things out. The Production URL is the one you share, once the workflow is published. On the left, click Execute step.
11. **Fill in the test form.** The test form opened in a new tab. Fill it in like an applicant: type **Aisha Grant** as the name.
    The test form opened in a new tab. Fill it in like an applicant would.
12. **Add an email.** Type an email, for example **aisha.grant@example.com**.
    And an email address.
13. **Submit.** Click **Submit**.
14. **Back to n8n.** The form says **Form Submitted**. Switch back to the **n8n** tab.
    Form Submitted. Switch back to the n8n tab.
15. **Look at the output.** The **OUTPUT** shows one item: **Name**, **Email**, **submittedAt** and **formMode**. Close the node with the **×**.
    There's the submission: the name, the email, and when it came in. Close this window.

### 3. Save to Google Sheets

16. **Add the next step.** Click the **+** on the right of **On form submission**.
    Now save each submission to a sheet.
17. **Search for Google Sheets.** In **Search nodes...**, type **sheets**.
    Search for sheets.
18. **Google Sheets.** Click **Google Sheets**.
19. **Append row in sheet.** Under **Sheet Within Document Actions**, click **Append row in sheet**.
    It adds a new row for every submission.
20. **Choose the spreadsheet.** If you connected Google Sheets before, **Google Sheets account** is already picked (if not, create the credential and sign in with Google). Open the **Document** list.
    Your Google Sheets account is already picked, if you connected it before. If not, create it here and sign in with Google.
21. **Pick the sheet.** Pick **Northstar Applicants**.
    Pick Northstar Applicants. It has a Name column and an Email column.
22. **Choose the tab.** Open the **Sheet** list.
23. **Sheet1.** Choose **Sheet1**.
    n8n reads its columns and lists them under Values to Send.
24. **Map the name.** Drag **Name** from the **INPUT** on the left onto the **Name** field under **Values to Send**. (Here, click it.)
    Now map the answers.
25. **Map the email.** Drag **Email** onto the **Email** field.
26. **Test the step.** Click **Execute step**.
    n8n adds Aisha's details as a new row in the sheet.
27. **Close the node.** The row went in. Close the node with the **×**.
    The row is in. The form is done. Close this window.

### 4. Add a webhook

28. **Open the nodes panel.** Northstar's website has its own application form on the careers page. Click the **+** at the top right of the canvas.
    Now the website. Northstar's careers page has its own application form, and it can send each application to n8n through a webhook.
29. **Add another trigger.** A workflow can have more than one trigger. At the bottom, click **Add another trigger**.
30. **On webhook call.** Choose **On webhook call**.
31. **HTTP Method.** A webhook is a web address that waits for data. Open **HTTP Method**.
    A webhook is a web address that waits for data to arrive. First, open HTTP Method.
32. **POST.** Choose **POST**.
    That's how website forms send their data. GET is mostly for asking for data.
33. **Path.** The **Path** is the end of the address, and n8n started it with a random ID. Replace it with **job-application**.
    The Path is the end of the address. n8n started it with a random ID. Replace it with job-application, so you can recognize it later.

### 5. Test the webhook

34. **Listen for test event.** Under **Webhook URLs**, the **Test URL** has **webhook-test** in it; the **Production URL** just **webhook**. Click **Listen for test event**.
    Look at the Webhook URLs. The Test URL has webhook-test in it. The Production URL just says webhook.
35. **Copy the Test URL.** n8n is waiting for one POST request to the Test URL. Click the URL to copy it.
    n8n is now waiting for one request to the Test URL.
36. **Go to the website editor.** Switch to the **Northstar website** tab.
    Switch to the tab with Northstar's website editor.
37. **Paste the Test URL.** The application form can send each entry to a webhook. Paste the **Test URL** into **Webhook URL**.
    This application form can send each entry to a webhook.
38. **Send a test.** Click **Send test submission**.
    The website posts a sample entry to n8n.
39. **Back to n8n.** n8n answered **Workflow was started**. Switch back to the **n8n** tab.
    The website got a reply: Workflow was started. Now go back to the n8n tab.
40. **Look at the request.** The **OUTPUT** shows the request. The form fields are inside **body**: name, email and message. Close the node.
    Here's the request. The website's fields are inside body: name, email and message. Close this window.

### 6. Save website entries too

41. **Add the next step.** Website entries should land in the same sheet. Click the **+** on the right of **Webhook**.
    Website entries should land in the same sheet.
42. **Search for Google Sheets.** In **Search nodes...**, type **sheets**.
    Search for sheets again.
43. **Google Sheets.** Click **Google Sheets**.
44. **Append row in sheet.** Click **Append row in sheet**. n8n names this one **Append row in sheet1** and connects it to the Webhook.
    n8n calls this one Append row in sheet 1, and it is already connected to the Webhook.
45. **Choose the spreadsheet.** Open the **Document** list.
    Same sheet as before.
46. **Pick the sheet.** Pick **Northstar Applicants**.
47. **Choose the tab.** Open the **Sheet** list.
48. **Sheet1.** Choose **Sheet1**. **Name** and **Email** appear under **Values to Send**.
    Name and Email appear under Values to Send.
49. **Map name.** On the left, the website's fields are inside **body**. Drag **name** onto **Name**.
    On the left, the website's data is inside body.
50. **Map email.** Drag **email** onto **Email**.
51. **Close the node.** Close the node with the **×**.
    Close this window.

## Frequently asked questions

**Can n8n collect job applications without another form tool?**

Yes. The On form submission trigger builds and hosts the form for you. Share its Production URL once the workflow is published, and every submission runs the workflow.

**How do I send my careers page's form to n8n?**

Add an On webhook call trigger set to POST, copy its URL, and paste it into your website's form settings. Test with the Test URL first, then switch to the Production URL after publishing.

**Why are the webhook's fields inside body?**

A website sends the form's fields in the request body, so n8n shows them under body. Map body.name and body.email in the Google Sheets step.

**What should an application form ask?**

Only what a first screen needs, such as name, email and the role. Leave out date of birth, Social Security numbers and photos, and follow the privacy rules where you hire.

**Is this lesson free?**

Yes. Stepthrough is completely free and the practice copy needs no n8n or Google account. Building it for real needs an n8n account and a Google Sheet with Name and Email columns.

[Start this module free](https://learn.ynteractive.com/modules/recruiting-applicant-intake)

- Previous in AI Automation for Recruiting & HR: [Write a Fair, Job-Related Job Posting with ChatGPT's Interview Prompt](https://learn.ynteractive.com/content/write-fair-job-posting-chatgpt-interview-prompt)
- Next in AI Automation for Recruiting & HR: [Keep Top Candidates Warm with Honest Status Replies using ChatGPT](https://learn.ynteractive.com/content/chatgpt-candidate-status-update-email-recruiting)

## More in AI Automation for Recruiting & HR

- [Score Every Candidate Fairly After the Interview using ChatGPT](https://learn.ynteractive.com/content/chatgpt-interview-debrief-scorecard): Turn the transcript of an interview panel's debrief into a scorecard against the role's must-haves, the decisions, action items with owners and dates, and a follow-up…
- [An AI Resume Screener, with a Fairness Step (Recruiting & HR)](https://learn.ynteractive.com/content/ai-resume-screener-n8n-fairness): Have n8n read each applicant’s PDF resume, score it against the job’s must-haves with the evidence quoted, and rank it in Google Sheets, while a person makes every…

[All 5 modules in AI Automation for Recruiting & HR](https://learn.ynteractive.com/content/industry/recruiting-and-hr)

## More n8n tutorials

- [n8n AI Agent Tutorial: Save Social Media Ideas to Google Sheets](https://learn.ynteractive.com/content/n8n-ai-agent-tutorial-google-sheets): Build an AI agent for BrightPath Marketing that generates social media post ideas and saves them to Google Sheets — chat trigger, AI Agent, system prompt, model…
- [Lovable + n8n: Build a Web App with an AI Backend](https://learn.ynteractive.com/content/lovable-n8n-web-app-ai-backend): Build a contact form in Lovable and connect it to an n8n workflow — webhook trigger, AI Agent, Google Sheets, Gmail, and a Respond node that ties it all together.
- [AI Receipt Extractor: Receipts to Google Sheets with n8n](https://learn.ynteractive.com/content/ai-receipt-extractor-n8n-google-sheets): Drop a photo of a receipt into an n8n chat. An AI agent reads it, pulls out the date, vendor and amount, picks a category, and adds a row to Google Sheets.
- [n8n AI Email Responder: Draft Gmail Replies Automatically](https://learn.ynteractive.com/content/ai-email-responder-gmail-drafts-n8n): Build an n8n agent that watches your Gmail, reads each new customer email, and writes a reply as a draft in the same thread, ready for you to check and send.
- [Daily Job Alerts: Email Each Tech Their Jobs from Google Sheets with n8n](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail): Every morning at 7, n8n reads a plumbing company's jobs sheet, skips anything not assigned yet, and emails each job to the tech it's assigned to — customer, address…
- [Gmail AI Triage: Auto-Label Every Email and Draft Replies](https://learn.ynteractive.com/content/gmail-ai-triage-labels-drafts-n8n): Build an n8n workflow that reads each new email, sorts it as a lead, a client or an invoice with a Text Classifier, adds the matching Gmail label, and drafts a reply to…

## Terms in this lesson

Plain-English definitions, each with an example from a free lesson.

[Workflow](https://learn.ynteractive.com/content/glossary/workflow) · [Webhook](https://learn.ynteractive.com/content/glossary/webhook) · [Test URL vs production URL](https://learn.ynteractive.com/content/glossary/webhook-test-url-vs-production-url) · [Accounts payable](https://learn.ynteractive.com/content/glossary/accounts-payable) · [Automation](https://learn.ynteractive.com/content/glossary/automation) · [Execute step](https://learn.ynteractive.com/content/glossary/execute-step)

[The full AI glossary](https://learn.ynteractive.com/content/glossary)

## Browse related tutorials

[AI for Recruiting & HR (5)](https://learn.ynteractive.com/content/industry/recruiting-and-hr) · [n8n tutorials (40)](https://learn.ynteractive.com/content/tool/n8n)
