🔓 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 to HubSpot, follow ups never slip

Lisa Granqvist Partner Workflow Automation Expert

Leads come in, and then… nothing. A form submission sits in someone’s inbox, the company never gets created in HubSpot, and the “quick follow-up” turns into next week’s problem.

Marketing managers feel it when campaign responses go cold. Sales ops gets pulled into cleanup. And the founder ends up asking the same question again: “Did anyone follow up?” This Jotform HubSpot automation fixes that loop.

This workflow takes every Jotform submission, turns it into a clean HubSpot company update plus a real assigned task, then logs the whole trail in Google Sheets so you can prove what happened.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Jotform to HubSpot, follow ups never slip

The Problem: Form Leads Get Lost Between Tools

Jotform is great at capturing intent. The messy part is what happens after. Someone has to read the submission, create or find the company in HubSpot, paste in the domain, and then remember to create a follow-up task with enough context for a rep to act. On busy days, that “someone” is three different people. Leads get duplicated, tasks get skipped, and you can’t confidently answer “What happened to this inquiry?” without digging through threads and timestamps.

The friction compounds. Here’s where it breaks down most often:

  • Company records are created inconsistently, so domains, LinkedIn URLs, and budgets end up scattered or missing.
  • Follow-up tasks are made “later,” which means the lead is already cooling off by the time someone reaches out.
  • Ownership is unclear, so two people reply or nobody does, and both outcomes look unprofessional.
  • There’s no audit trail, so debugging a missed lead turns into manual detective work.

The Solution: Jotform → HubSpot Company + Task, Logged in Sheets

This workflow turns every Jotform submission into a structured, trackable CRM action. It starts the moment a new form entry hits your Jotform webhook in n8n. From there, it makes sure the HubSpot company exists (creating it if needed, updating it if it’s already there), then formats the raw submission into consistent fields you can trust. Next, it creates a follow-up task in HubSpot through the Tasks API, with a proper subject and body that includes the key details like budget, domain, and the original question. After that, it updates the company record with the submitted domain so future enrichment and routing work better. Finally, it writes a complete log to Google Sheets so you can see what was processed, what HubSpot returned, and where things failed if something goes sideways.

The workflow starts with a Jotform trigger and immediately touches HubSpot to create or update the company. Then it uses a short delay plus an HTTP request to create the task cleanly, updates the domain in a second pass, and stores the full story in Google Sheets.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you get 20 inbound inquiries a week from a Jotform “Request a quote” page. Manually, you might spend about 5 minutes creating/updating the HubSpot company, another 3 minutes writing a decent follow-up task, and a minute logging it somewhere for tracking, which is roughly 3 hours a week. With this workflow, the “human time” is basically the form submission itself (a few seconds), plus a quick spot-check in HubSpot. The automation does the rest while you keep moving.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Jotform to capture submissions and send webhooks
  • HubSpot to create companies and follow-up tasks
  • HubSpot private app token (get it from HubSpot Settings → Integrations → Private Apps)
  • Google Sheets for logging, audits, and debugging

Skill level: Intermediate. You’ll paste API credentials, map a few fields, and confirm HubSpot scopes.

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

How It Works

A new Jotform submission hits your webhook. The workflow starts instantly when someone submits your form, pulling in fields like name, email, LinkedIn profile, company name, marketing budget, domain, and the question they typed.

HubSpot gets a company create-or-update. n8n checks the incoming details and ensures there’s a company record ready in HubSpot, so the rest of the workflow has something consistent to attach to.

The submission is cleaned and packaged. A formatting step standardizes messy inputs (domains, URLs, empty fields) and generates task details like title, due time, and an assigned owner so reps get something actionable.

Tasks and domain updates are pushed via HTTP requests. The workflow posts a task to HubSpot’s Tasks API, waits briefly to avoid rate limits, then updates the company’s domain in a second call. After that, Google Sheets gets a log row with the submission and API responses.

You can easily modify owner assignment to match territories or round-robin, based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the JotForm Trigger

Set up the intake trigger so each JotForm submission starts the workflow.

  1. Add the JotForm Intake Trigger node to your workflow.
  2. Set Form to 252808415357461.
  3. Credential Required: Connect your jotFormApi credentials.
  4. Save the node and copy the webhook URL into your JotForm form settings.

Step 2: Connect HubSpot Company Creation

Create a HubSpot company record as soon as a JotForm submission arrives.

  1. Add the Generate Company Record node after JotForm Intake Trigger.
  2. Set Resource to company.
  3. Set Name to ={{ $json.CompanyName }}.
  4. Credential Required: Connect your hubspotApi credentials.

Step 3: Set Up Submission Processing

Format the submission into a consistent structure and introduce an initial delay before task creation.

  1. Add the Format Submission Data node after Generate Company Record.
  2. Paste the full JavaScript from the workflow into Code, including owner assignment and timestamp generation.
  3. Replace [YOUR_ID] values in the ownerAssignments map with valid HubSpot owner IDs.
  4. Add the Delay Execution node after Format Submission Data.
  5. Set Amount to 10 (seconds).

⚠️ Common Pitfall: If you don’t replace the [YOUR_ID] placeholders in Format Submission Data, tasks will be assigned to invalid owners.

Step 4: Configure HubSpot Task Creation, Company Update, and Logging

Create a task in HubSpot, update the company domain, and log the results to Google Sheets in sequence.

  1. Add the Post HubSpot Task node after Delay Execution.
  2. Set URL to https://api.hubapi.com/crm/v3/objects/tasks and Method to POST.
  3. Set JSON Body to the provided expression, including {{ $('Format Submission Data').item.json.hubspot_task_title || 'Jotform Marketing Query' }} and the full multi-line task body.
  4. In Header Parameters, set Authorization to Bearer [CONFIGURE_YOUR_TOKEN] and Content-Type to application/json.
  5. Add the Delay Step Two node after Post HubSpot Task (leave default settings).
  6. Add the Update Company Domain node after Delay Step Two.
  7. Set URL to =https://api.hubapi.com/crm/v3/objects/companies/{{ $('Format Submission Data').item.json.company_id }} and Method to PATCH.
  8. Set JSON Body to ={ "properties": { "domain": "{{ $('Format Submission Data').item.json.domain}}" } }.
  9. In Header Parameters, set Authorization to Bearer [CONFIGURE_YOUR_TOKEN] and Content-Type to application/json.
  10. Add the Log Results to Sheets node after Update Company Domain.
  11. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  12. Set Operation to appendOrUpdate.
  13. Set Document to [YOUR_ID] and Sheet to [YOUR_ID].
  14. In Columns, map company to ={{ $json.properties.name }}, domain to ={{ $json.properties.domain }}, HubspotCompanyID to ={{ $json.id }}, and Notes to =This was created at {{ $json.createdAt }} & was updated at {{ $json.updatedAt }}.

⚠️ Common Pitfall: The Post HubSpot Task and Update Company Domain nodes require a valid HubSpot private app token in the Authorization header. The workflow will fail if [CONFIGURE_YOUR_TOKEN] is not replaced.

Step 5: Test and Activate Your Workflow

Run a full test to verify HubSpot creation, task generation, domain updates, and sheet logging.

  1. Click Execute Workflow and submit a test entry in your JotForm.
  2. Confirm Generate Company Record creates a company in HubSpot.
  3. Verify Post HubSpot Task creates a task linked to the company.
  4. Check that Update Company Domain updates the company’s domain property.
  5. Open your Google Sheet and confirm a new row is appended/updated by Log Results to Sheets.
  6. When successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • HubSpot credentials can expire or need specific permissions. If things break, check your Private App scopes (companies write and tasks write) in HubSpot first.
  • If you’re using Wait nodes or external API calls, processing times vary. Bump up the wait duration if downstream HubSpot updates fail because an earlier response hasn’t landed yet.
  • Jotform fields are easy to rename, which quietly breaks mapping. If task descriptions suddenly look blank, confirm the Jotform field IDs in the trigger payload and update your formatting step.

Frequently Asked Questions

How long does it take to set up this Jotform HubSpot automation automation?

About 30–60 minutes if your HubSpot token and Sheet are ready.

Do I need coding skills to automate Jotform HubSpot automation?

No. You’ll mostly map fields and paste credentials. The formatting step is already built, and you can adjust it with simple edits.

Is n8n free to use for this Jotform HubSpot 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 HubSpot and Google Sheets usage (typically no extra cost beyond your existing plans).

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 Jotform HubSpot automation automation for conditional task creation?

Yes, but keep it simple at first. Add an If check right after “Format Submission Data” and only send items to “Post HubSpot Task” when a condition matches (for example, marketing budget is present, or the query contains a keyword). You can also swap the owner assignment logic in the formatting step if you want round-robin, territories, or “route by domain.” If you need tasks tied to contacts too, extend the HTTP payload to associate the task with a HubSpot Contact found by email.

Why is my HubSpot connection failing in this workflow?

Usually it’s an invalid or under-scoped private app token. Regenerate the token if needed, then confirm it includes permission to write companies and tasks. Rate limiting can also cause intermittent failures, so keep the Wait steps in place when volume spikes.

How many submissions can this Jotform HubSpot automation automation handle?

On a typical n8n Cloud plan, it can handle hundreds of submissions a day, and self-hosting scales based on your server.

Is this Jotform HubSpot automation automation better than using Zapier or Make?

Often, yes, if you care about control and traceability. This workflow uses direct HTTP calls to the HubSpot Tasks API, which means you’re not stuck waiting for a connector to support a field or paying extra for multi-step branching. You also get the option to self-host n8n, which is a big deal once form volume grows. Zapier and Make are still solid for quick, simple automations, but they can get expensive when every lead triggers several steps. If you’re torn, Talk to an automation expert and we’ll sanity-check the best approach for your setup.

You get clean HubSpot records, real follow-up tasks, and a Google Sheets trail you can trust. Set it up once, and missed handoffs stop being a weekly fire drill.

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