Jotform MCP connector
OAuth 2.1/DCRProductivityAutomationConnect 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.
analysisQuerystringrequiredA 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".formIDsarrayrequiredForm 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.limitnumberrequiredMaximum 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_emailstringrequiredThe email address to assign the form toassignee_messagestringrequiredThe message to assign the form to. This will be used in the email that will be sent to the assignee.assignee_namestringrequiredThe name of the assignee. This will be used in the email that will be sent to the assignee.form_idstringrequiredThe ID of the form to assignjotformmcp_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.
descriptionstringrequiredDescription of the form to createjotformmcp_edit_form#Edit an existing form using a natural-language instruction.2 params
Edit an existing form using a natural-language instruction.
descriptionstringrequiredHigh-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_idstringrequiredThe ID of the form to editjotformmcp_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.
idstringrequiredThe form id or the submission id to fetch information and metadata fromjotformmcp_get_submissions#List submission IDs for a form with optional filters.2 params
List submission IDs for a form with optional filters.
filterobjectrequiredNo description.form_idstringrequiredThe ID of the form to list submissions fromjotformmcp_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.
filterobjectrequiredNo description.limitnumberrequiredMaximum items fetched per underlying request (default: 20).order_bystringrequiredSort order for the results. The default value is "last_activity", only use another option if a sorting is really needed.user_querystringrequiredA natural-language instruction describing what the user wants to find and list from assets.