Automate JotForm Submissions via HTTP without API Keys
Go to WorkflowDescription
This guide explains how to send form data from n8n to a JotForm form submission endpoint using the HTTP Request node.
It avoids the need for API keys and works with standard multipart/form-data.
📌 Overview
With this workflow, you can automatically submit data from any source (Google Sheets, databases, webhooks, etc.) directly into JotForm.
✅ Useful for:
Pushing information into a form without manual entry.
Avoiding API authentication.
Syncing external data into JotForm.
🛠 Requirements
A JotForm account.
An existing JotForm form.
Access to the form’s direct link.
Basic understanding of JotForm’s field naming convention.
⚙️ Setup Instructions
1. Get the JotForm Submission URL
Open your form in JotForm.
Go to Publish → Quick Share → Copy Link.
Example form URL: sample form
Convert it into a submission endpoint by replacing form with submit:
Example: submit url
2. Identify Field Names
Each JotForm field has a unique identifier like q3_name[first] or q4_email.
Steps to find them:
Right-click a field in your published form → choose Inspect.
Locate the name attribute in the <input> tag.
Copy those values into the HTTP Request node in n8n.
Example mappings:
First Name → q3_name[first]
Last Name → q3_name[last]
Email → q4_email
3. Configure HTTP Request Node in n8n
Method:** POST
URL:** Your JotForm submission URL (from Step 1).
Content Type:** multipart/form-data
Body Parameters:** Add field names and values.
Example Body Parameters:
{
"q3_name[first]": "John",
"q3_name[last]": "Doe",
"q4_email": "[email protected]"
}
4. Test the Workflow
Trigger the workflow (manually or with a trigger node).
Submit test data.
Check JotForm → Submissions to confirm the entry appears.
🚀 Use Cases
Automating lead capture from CRMs or websites into JotForm.
Syncing data from Google Sheets, Airtable, or databases.
Eliminating manual data entry when collecting responses.
🎛 Customization Tips
Replace placeholder values (John, Doe, [email protected]) with dynamic values.
Add more fields by following the same naming convention.
Use n8n expressions ({{$json.fieldName}}) to pass values dynamically.