n8n Workflow
This example shows how to receive Freshbatch webhook deliveries in n8n and turn them into no-code automations. After the webhook is connected, you can route jobs to Google Sheets, send notifications, or trigger any other n8n node.
Prerequisites
- - Node.js installed (used by n8n and ngrok).
- - A free ngrok account and a static domain.
- - A Google account (useful for Google Sheets nodes).
- - A GitHub account to sign in to Freshbatch.
Step 1 — Install n8n
Run the n8n CLI in a terminal. It will start the editor on http://localhost:5678.
npx n8n
Step 2 — Expose n8n with ngrok
Freshbatch needs a public HTTPS URL. In a second terminal, tunnel your local n8n editor through the static domain you claimed in the ngrok dashboard.
ngrok http --domain=your-static-domain.ngrok-free.app 5678
Step 3 — Create the webhook workflow
- - Open the n8n editor and create a new workflow from scratch.
- - Add a Webhook node and set the HTTP Method to POST.
- - Set the Path to jobs. This makes the listener URL:
https://your-static-domain.ngrok-free.app/webhook/jobs
Step 4 — Connect Freshbatch
- - Sign in to Freshbatch with GitHub.
- - Go to Dashboard → Delivery Settings.
- - Paste the webhook URL into the endpoint field.
- - Toggle the job types you want (internships, new grad).
- - Save settings and use Test Fire to confirm the workflow runs.
Next steps
Once the webhook is flowing, add nodes after the Webhook trigger. A common next step is a Google Sheets node that appends each job to a spreadsheet. You can also branch on is_intern or is_fte to route internships and full-time roles differently.
Example: append jobs to Google Sheets
A common follow-up is to send each Freshbatch job to a Google Sheet. n8n has a built-in Google Sheets node that supports creating spreadsheets, appending rows, updating rows, reading rows, clearing sheets, and more.
Quick steps
- - Add a Google Sheets node after the Webhook trigger.
- - Set the operation to Append Row (or Append or Update Row).
- - Create or select Google Sheets credentials. n8n will walk you through OAuth authentication.
- - Choose the spreadsheet and sheet to write to.
- - Map Freshbatch fields such as
title,company_name,url, anddate_postedto the matching sheet columns.
What the Google Sheets node can do
According to n8n's docs, the node can create and delete spreadsheets, create and delete sheets, append or update rows, read rows, clear sheet data, and delete rows or columns. If the built-in operations don't cover what you need, you can fall back to the HTTP Request node and reuse the same Google Sheets credential.
n8n docs: n8n-nodes-base.googlesheets
This example keeps things simple and does not verify the Freshbatch signature. For production workflows, validate the webhook-signature header in a Code node or HTTP Request node before processing payloads. See Signature Verification for details.