Jotform MCP connector
OAuth 2.1/DCR ProductivityAutomationConnect to Jotform MCP. Create and edit forms, retrieve submissions, assign forms, and search assets from your AI workflows.
Jotform MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'jotformmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Jotform MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'jotformmcp_fetch',toolInput: { id: 'YOUR_ID' },})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "jotformmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Jotform MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"id":"YOUR_ID"},tool_name="jotformmcp_fetch",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Search records — Search Jotform assets by query with optional filters, ordering, and limit
- Get submissions — List submission IDs for a form with optional filters
- Fetch records — Fetch metadata and information for a Jotform form by its ID or URL
- Form edit, assign — Edit an existing form using a natural-language instruction
- Create form — Create a new Jotform form based on a natural-language description
- Submissions analyze — Perform AI-powered analysis on one or more forms’ submissions using a natural-language query
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
jotformmcp_analyze_submissions
#
Perform AI-powered analysis on one or more forms' submissions using a natural-language query. 3 params
Perform AI-powered analysis on one or more forms' submissions using a natural-language query.
analysisQuery string required A natural-language query describing the desired analysis. Examples: "What are the most common responses?", "Show submission trends by month", "Analyze sentiment in feedback", "Give me a statistical breakdown of all answers". formIDs array required Form IDs whose submissions will be analyzed. Provide a single form ID by default. Only supply more than one ID when the user explicitly requests cross-form comparison or combined analysis. Use the search_asset tool first if you need to find the form ID. limit number required Maximum number of submissions to include in the analysis. Higher values provide more comprehensive results but increase processing time. jotformmcp_assign_form
#
Assign a form to a user by email address with an optional message. 4 params
Assign a form to a user by email address with an optional message.
assignee_email string required The email address to assign the form to assignee_message string required The message to assign the form to. This will be used in the email that will be sent to the assignee. assignee_name string required The name of the assignee. This will be used in the email that will be sent to the assignee. form_id string required The ID of the form to assign jotformmcp_create_form
#
Create a new Jotform form based on a natural-language description. 1 param
Create a new Jotform form based on a natural-language description.
description string required Description of the form to create jotformmcp_edit_form
#
Edit an existing form using a natural-language instruction. 2 params
Edit an existing form using a natural-language instruction.
description string required High-level natural-language instruction describing what to change (e.g., add/move/rename questions). Avoid specifying internal types or identifiers; another agent will infer the appropriate field types. form_id string required The ID of the form to edit jotformmcp_fetch
#
Fetch metadata and information for a Jotform form by its ID or URL. 1 param
Fetch metadata and information for a Jotform form by its ID or URL.
id string required The form id or the submission id to fetch information and metadata from jotformmcp_get_submissions
#
List submission IDs for a form with optional filters. 2 params
List submission IDs for a form with optional filters.
filter object required No description. form_id string required The ID of the form to list submissions from jotformmcp_search
#
Search Jotform assets by query with optional filters, ordering, and limit. 4 params
Search Jotform assets by query with optional filters, ordering, and limit.
filter object required No description. limit number required Maximum items fetched per underlying request (default: 20). order_by string required Sort order for the results. The default value is "last_activity", only use another option if a sorting is really needed. user_query string required A natural-language instruction describing what the user wants to find and list from assets.