canonical: https://jentic.com/apis/jotform.com/jotform

# JotForm API

JotForm is a hosted form-builder used to collect submissions for surveys, registrations, payments, and lead capture. The API exposes the full surface - managing forms, questions, properties, submissions, reports, folders, labels, and webhooks - so that external systems can build forms programmatically, sync responses, and react to submissions in near real time. It is the right pick when an application owns a CRM, support tool, or data warehouse that needs form data without manual export.

## For AI agents

Create and manage JotForm forms, questions, and properties, retrieve and post submissions, build reports, and register webhooks so agents can sync form data into CRMs, warehouses, or downstream workflows.

## Scope

Does not handle email-only newsletter sending, full marketing automation, or hosted analytics dashboards - use for form definition, submission collection, and submission-driven webhook flows only.

## Capabilities

- Create, clone, update, and delete forms programmatically
- Add, modify, and remove individual questions on a form
- Read and write form-level properties such as theme and behaviour settings
- Retrieve form submissions or post new submissions on behalf of the user
- Generate reports and folder structures to organise large form portfolios
- Register and remove webhooks so external systems get pinged on each new submission
- Manage labels to tag and group resources across the JotForm account

## Use cases

### Sync submissions to a CRM

Sales teams collecting leads through JotForm forms can keep their CRM up to date by polling GET /form/{formID}/submissions or, better, by registering a webhook with POST /form/{formID}/webhooks. Each new submission is pushed to the configured URL, the integration parses the answers, and creates a contact in the CRM. This avoids the manual CSV export workflow that plagues form-driven funnels.

Example prompt: Call POST /form/{formID}/webhooks with target URL https://example.com/jotform-hook so each new submission triggers a downstream CRM create

### Programmatic form creation at scale

Agencies and SaaS products that ship a JotForm-backed form per customer can create forms via POST /form and configure questions and properties through the form-scoped endpoints. This supports a templated approach: a base form spec is rendered into a JotForm definition, customised per tenant, and deployed without manual UI clicks. POST /form/{formID}/clone is also available when a single template is the source of truth.

Example prompt: Call POST /form to create a base form, POST /form/{formID}/questions to add tenant-specific fields, then POST /form/{formID}/properties to set the theme

### Submission-driven analytics and reports

Operations teams running ongoing surveys can pull submissions across all forms with GET /user/submissions and feed the JSON response into a warehouse. JotForm's report endpoints (POST /form/{formID}/reports) also let you generate built-in summary reports without bringing the data out - useful when the response volume is small enough that the JotForm UI is sufficient.

Example prompt: Call GET /user/submissions paginated by limit and offset, transform each record, and load into a Snowflake table for weekly reporting

### Account-level housekeeping

Admins managing busy JotForm accounts can audit and clean up forms, folders, and labels via the API. GET /user/forms lists every form, DELETE /form/{formID} removes the stale ones, and folder and label endpoints reorganise what remains. Combined with GET /user/usage, this supports plan-aware tidy-ups before quota limits hit.

Example prompt: Call GET /user/forms, identify forms with zero submissions older than 90 days, and call DELETE /form/{formID} on each

### Agent-driven form orchestration via Jentic

An AI assistant building or maintaining customer forms can drive JotForm through Jentic without ever touching the apiKey. The agent expresses intent, Jentic resolves to the right operation (POST /form, POST /form/{formID}/webhooks, etc.), injects the apiKey query parameter, and returns the response. This keeps the long-lived JotForm credential out of the agent's reasoning context.

Example prompt: Use Jentic to search 'create a JotForm form', load POST /form, and execute it with the supplied form definition and API key from the vault

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /user/forms | List the user's forms |
| POST | /form | Create a new form |
| GET | /form/{formID}/submissions | Get submissions for a form |
| POST | /form/{formID}/submissions | Add a submission to a form |
| POST | /form/{formID}/webhooks | Register a webhook for a form |
| POST | /form/{formID}/clone | Clone a form |
| GET | /submission/{submissionID} | Get a single submission |
| GET | /user/usage | Get account usage and quota |

## Key resources

- **Forms** — Create, clone, update, delete, and list forms
- **Questions and Properties** — Manage questions and form-level configuration
- **Submissions** — Read and post submissions at form or account level
- **Webhooks** — Register and remove webhooks for submission events
- **Reports, Folders, Labels** — Organise and report on forms across the account
- **User** — Account-level user, settings, usage, and history endpoints

## Why Jentic

- **Setup:** Wiring the JotForm API by hand means learning its apiKey query parameter, navigating a large form-and-submission surface, and tracking form ids across submission and webhook calls yourself. Through Jentic you install once, import the JotForm API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** JotForm puts the form id in the URL path (/form/{formID}/...), so a rule can pin your agent to one form: it can read submissions, add submissions, and register webhooks for that form and nothing else. You choose the operations it may call, so ones like cloning a form are not included unless you add them.
- **Credential handling:** Your JotForm API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a form', 'list submissions', or 'register a webhook', and Jentic returns the matching JotForm operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Typeform API** — Conversational form-builder with stronger UX polish and a smaller endpoint surface
- **SurveyMonkey API** — Survey platform with stronger analytics and survey logic capabilities
- **Wufoo API** — Lightweight form builder owned by SurveyMonkey for simpler use cases
- **HubSpot API** — Push JotForm submissions into HubSpot CRM as contacts and deals

## FAQ

### What authentication does the JotForm API use?

The JotForm API uses an API key passed as the apiKey query parameter on every request. The key is generated from the JotForm dashboard and grants access scoped to the user's forms. Jentic stores the key encrypted and appends it at call time so it never appears in the agent's context.

### Can I create a form programmatically?

Yes. POST /form creates a new form, POST /form/{formID}/questions adds fields, and POST /form/{formID}/properties configures theme and behaviour. POST /form/{formID}/clone is also available when an existing form is the better starting point than building from scratch.

### What are the rate limits for the JotForm API?

Rate and submission limits depend on the JotForm plan tier - free, Bronze, Silver, Gold, Enterprise - and the spec does not publish a single numeric ceiling. Call GET /user/usage to inspect current consumption against the plan, and check api.jotform.com/docs for the latest tier limits.

### How do I receive a notification when a JotForm is submitted?

Register a webhook with POST /form/{formID}/webhooks pointing at your endpoint. JotForm POSTs the submission payload there on each new entry. Use DELETE /form/{formID}/webhooks/{webhookID} to remove the hook when no longer needed.

### How do I list every submission across all forms?

Call GET /user/submissions to paginate through submissions across the entire account, rather than calling per-form. Combine with limit and offset query parameters to chunk large result sets for ETL into a warehouse.

### How do I sync JotForm to my CRM through Jentic?

Search Jentic for 'register a JotForm webhook', load POST /form/{formID}/webhooks, and execute with your CRM ingestion URL. Jentic injects the apiKey from the vault. Get started with Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the JotForm API?

Yes. Because you run Jentic One yourself, your own rules decide which JotForm operations and credentials the agent may use. Since JotForm puts the form id in the URL path, such as /form/{formID}/submissions, you can pin the agent to a single form so it only reads submissions, adds submissions, and registers webhooks for that form and nothing else. You pick the operations it may call, so higher-impact ones like POST /form/{formID}/clone or DELETE /form/{formID} stay unavailable unless you explicitly grant them.
