🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Jotform + Google Sheets: training approvals, tracked

Lisa Granqvist Partner Workflow Automation Expert

Training requests should be simple. Instead, they turn into long email threads, missing budget context, and “who approved this?” moments that pop up at the worst time.

HR managers feel it when completions aren’t tracked. A department head feels it when spend surprises hit late in the quarter. And the person requesting training just wants a clear yes or no. This training approvals automation cleans up the whole loop so requests get reviewed faster, with budget visibility and a clean audit trail.

Below, you’ll see how the workflow routes Jotform submissions into Google Sheets, runs an AI assessment, and sends the right emails automatically (plus what to watch out for when you customize it).

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Jotform + Google Sheets: training approvals, tracked

The Problem: Training Requests Turn Into Inbox Projects

A single training request sounds harmless. Then you multiply it by multiple departments, shifting budgets, different approval styles, and the reality that people forget to reply. Now you’re chasing managers, re-explaining the same justification, and trying to piece together what happened three weeks later. Meanwhile, finance wants numbers, employees want answers, and L&D wants proof the training did anything at all. Honestly, the hardest part is that the work is invisible until something goes wrong.

It adds up fast. Here’s where the friction usually comes from.

  • Requests arrive without consistent details, so you spend time clarifying basics like cost, timing, and business impact.
  • Budget checks happen late (or not at all), which means approvals feel arbitrary and overruns show up after the fact.
  • Approvals live in scattered places like email, DMs, and meeting notes, so audits and reporting become a manual scavenger hunt.
  • Completion tracking is unreliable, and certificates or outcomes rarely make it back into a system you can actually report on.

The Solution: Jotform → AI Review → Google Sheets + Emails

This workflow turns every training request into a structured record, then moves it through an approval decision with budget context and an AI-generated assessment. It starts when an employee submits a Jotform request with the skill gap, the “why,” and the practical details (cost, timing, format). n8n normalizes the submission so your data is clean, checks the department’s remaining budget, and asks an AI agent to evaluate ROI, urgency, risks, and better alternatives. Then it routes the request: auto-approve when it fits your rules, or email the manager with a clear summary when a human decision is needed. Finally, everything gets logged to Google Sheets so you can track approvals, spending, and completion status in one place.

The workflow begins with Jotform form submission. From there it validates and enriches the request, runs an OpenAI-powered assessment, and makes an approval decision. Gmail sends the right message to the manager and the employee, and Google Sheets becomes the single source of truth.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your company processes about 20 training requests a month. Manually, each one often needs 3 touch points: collecting missing details (about 10 minutes), checking budget (about 10 minutes), and drafting approvals or rejections (about 10 minutes). That’s roughly 10 hours a month, and it’s scattered across inboxes. With this workflow, the requester submits once (about 5 minutes), AI assessment and budget checks run automatically, and emails + Google Sheets logging happen in the background. You mostly step in only for exceptions.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Jotform to collect structured training requests
  • Google Sheets to store requests and approvals log
  • Gmail for automated manager/employee notifications
  • OpenAI API key (get it from your OpenAI dashboard)

Skill level: Intermediate. You’ll connect accounts, paste in IDs (like your Sheet ID), and tweak a couple of business rules safely.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A training request is submitted in Jotform. The trigger fires the moment someone sends the form, so you’re not waiting for HR to “get around to it.”

The request data gets cleaned up and budget is checked. n8n normalizes fields (names, department, course cost, justification) and runs a budget availability step so the decision isn’t made blind.

AI creates an approval-ready summary. The AI agent evaluates ROI, urgency, risks, and alternatives. It can also score course fit (0–100 style scoring in the workflow’s design) so approvers aren’t guessing.

Emails go out, then Google Sheets is updated. If it’s within budget/rules, the workflow proceeds with the right message. If not, the manager gets an approval email with AI notes, and the employee still gets an acknowledgement so they’re not left hanging.

You can easily modify approval thresholds to match your budget policy based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Submission Trigger

Start by connecting the Jotform trigger that receives each training request submission.

  1. Add the Form Submission Trigger node and select the form.
  2. Set Form to [YOUR_ID].
  3. Credential Required: Connect your jotFormApi credentials.

Step 2: Connect Google Sheets

Configure the log sheet where each request is appended or updated after processing.

  1. Add the Update Training Log Sheet node and set Operation to appendOrUpdate.
  2. Set Document to [YOUR_ID] and Sheet to Sheet1 (value gid=0).
  3. Keep Mapping Mode as autoMapInputData so fields from prior nodes map automatically.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.

Step 3: Set Up Processing and AI Assessment

Normalize the request data, validate budget availability, and run AI analysis to enrich the request.

  1. In Normalize Request Data, keep the JavaScript Code as provided to standardize field names and defaults.
  2. In Verify Budget Availability, keep the budget and training catalog logic intact to calculate budgetAvailable and budgetUtilization.
  3. In AI Training Assessment, set the Text prompt to the provided expression that injects request data and budget context.
  4. Ensure OpenAI Chat Engine is connected as the language model for AI Training Assessment; Credential Required: Connect your openAiApi credentials on OpenAI Chat Engine.
  5. In Capture AI Output, set aiAnalysis to {{ $json.output }} to store the LLM response.
  6. In Combine Assessment Data, keep the parsing logic that converts aiAnalysis into structured fields and sets requiresApproval.

If the AI response fails to parse as JSON, Combine Assessment Data falls back to a safe default analysis, preventing downstream failures.

Step 4: Configure Decision Logic and Email Actions

Route requests based on approval requirements and send the appropriate notifications.

  1. In Approval Decision Gate, set the condition to {{ $json.requiresApproval }} and keep the operator as is true.
  2. Configure Email Manager Approval with Send To set to {{ $json.managerEmail }} and keep the full message template and subject expression {{ $json.employeeName }} - {{ $json.trainingTopic }}.
  3. Configure Dispatch Rejection Notice with Send To set to {{ $('Form Submission Trigger').item.json['Employee Email'] }} and keep the rejection message template.
  4. Configure Send Employee Acknowledgement with Send To set to {{ $('Form Submission Trigger').item.json['Employee Email'] }} and keep the acknowledgement message template.
  5. Credential Required: Connect your gmailOAuth2 credentials for Email Manager Approval, Dispatch Rejection Notice, and Send Employee Acknowledgement.

⚠️ Common Pitfall: The emails use data from Form Submission Trigger, Normalize Request Data, and Combine Assessment Data. Make sure those nodes execute successfully before testing email templates.

Step 5: Confirm Execution Flow to the Log Sheet

Validate the node connections to ensure requests end in your Google Sheet.

  1. Verify the main path connects Form Submission TriggerNormalize Request DataVerify Budget AvailabilityAI Training AssessmentCapture AI OutputCombine Assessment DataApproval Decision Gate.
  2. Confirm Approval Decision Gate routes to Email Manager Approval (true) and Dispatch Rejection Notice (false).
  3. Ensure both Email Manager Approval and Dispatch Rejection Notice connect into Send Employee Acknowledgement.
  4. Confirm Send Employee Acknowledgement connects to Update Training Log Sheet to record every request outcome.

Step 6: Test and Activate Your Workflow

Run a full test from Jotform through to Gmail and Google Sheets, then activate the workflow for production use.

  1. Click Test workflow and submit a sample Jotform request.
  2. Confirm that Email Manager Approval or Dispatch Rejection Notice sends based on {{ $json.requiresApproval }}, and that Send Employee Acknowledgement is sent.
  3. Verify Update Training Log Sheet appends or updates a row in Sheet1.
  4. When successful, toggle Active to enable ongoing automation.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Gmail credentials can expire or need specific permissions. If things break, check the Gmail node credential status in n8n (and confirm the right Google account is connected) first.
  • Google Sheets failures are often a spreadsheet ID or sheet name mismatch. Confirm the “Training_Requests” tab exists and the workflow points to the correct Google Sheet before you chase anything else.
  • OpenAI prompts that are left generic create generic recommendations. Add your company training policy, preferred vendors, and “what good looks like” into the AI Training Assessment step or you’ll be editing every summary.

Frequently Asked Questions

How long does it take to set up this training approvals automation?

About an hour if your Jotform, Gmail, and Google Sheets are ready.

Do I need coding skills to automate training approvals?

No. You will connect accounts and adjust a few rules and prompts inside n8n.

Is n8n free to use for this training approvals automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs of about $0.30-0.60 per request.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this training approvals automation workflow for multi-level approvals?

Yes, and it’s a common tweak. You can add another decision branch after the Approval Decision Gate so requests above a threshold (say, high-cost courses) route to a director or VP. Many teams also customize the AI Training Assessment prompt to reflect internal policy, preferred vendors, and what counts as “mandatory” vs “nice to have.” If you want tighter control, log a separate “approval stage” column in Google Sheets so reporting stays clean.

Why is my Google Sheets connection failing in this workflow?

Usually it’s the wrong spreadsheet ID, the “Training_Requests” sheet name doesn’t match, or the connected Google account doesn’t have edit access. Update the credential in n8n and confirm the sheet is shared correctly. If it still fails, check for changed column headers or protected ranges that block writes.

How many training requests can this training approvals automation handle?

A lot—this is mainly limited by your n8n plan, your server (if self-hosted), and OpenAI rate limits.

Is this training approvals automation better than using Zapier or Make?

For AI-heavy approvals, n8n is usually the better fit because you can keep the logic in one place, branch as much as you need, and self-host if volume grows. Zapier and Make can absolutely do Jotform + Google Sheets, but the moment you want richer decisioning (budget rules, AI summaries, different email paths), costs and complexity tend to rise. Another practical point: n8n workflows are easier to document internally since the logic is visible end-to-end. If your process is a simple “log to a sheet and notify,” you might not need n8n. If you want a repeatable governance trail, n8n shines. Talk to an automation expert if you’re not sure which fits.

Once this is in place, training requests stop being an inbox project and start becoming clean data you can act on. Set it up, tune the rules, and let the workflow do the repetitive part.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal