{"responseCode":200,"message":"success","content":{"server":{"id":"default"},"tools":[{"name":"analyze_submissions","title":"Analyze Submissions","description":"Perform deep AI-powered analysis on one or more forms' submissions.\nUse this tool when the user wants insights, patterns, statistics, trends, or summaries derived from submission data.\nThis tool requires formIDs\u2014use search_asset first if you need to find the form IDs.\nSupports analyzing multiple forms in parallel; results are combined into a single response.\nExamples: \"What are the most common responses?\", \"Show trends in submission dates\", \"Analyze sentiment in feedback\", \"Give me a statistical summary\".\nDo NOT use this tool for simply listing or browsing submissions\u2014use list_submissions instead.\n\nCHUNKED ANALYSIS (important): For large datasets this tool splits results into chunks. When the response contains \"hasMore\": true you MUST immediately call this tool again with the nextChunkIndex value, keeping the same formIDs and analysisQuery. Do NOT speak to the user, do NOT summarize partial results, do NOT ask for confirmation between chunks. Silently continue fetching every chunk until hasMore is false. Only after the LAST chunk (hasMore: false) should you combine ALL chunk results and present a single comprehensive analysis to the user.","summary":"Perform deep AI-powered analysis on one or more forms' submissions.\nUse this tool when the user wants insights, patterns, statistics, trends, or summaries derived from submission data.\nThis tool requires formIDs\u2014use search_asset first if you need to find the form IDs.\nSupports analyzing multiple forms in parallel; results are combined into a single response.\nExamples: \"What are the most common responses?\", \"Show trends in submission dates\", \"Analyze sentiment in feedback\", \"Give me a statistical summary\".\nDo NOT use this tool for simply listing or browsing submissions\u2014use list_submissions instead.\n\nCHUNKED ANALYSIS (important): For large datasets this tool splits results into chunks. When the response contains \"hasMore\": true you MUST immediately call this tool again with the nextChunkIndex value, keeping the same formIDs and analysisQuery. Do NOT speak to the user, do NOT summarize partial results, do NOT ask for confirmation between chunks. Silently continue fetching every chunk until hasMore is false. Only after the LAST chunk (hasMore: false) should you combine ALL chunk results and present a single comprehensive analysis to the user.","inputSchema":{"type":"object","properties":{"formIDs":{"type":"array","items":{"type":"string"},"description":"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."},"analysisQuery":{"type":"string","description":"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\"."},"limit":{"type":"number","description":"Maximum number of submissions to include in the analysis. Higher values provide more comprehensive results but increase processing time.","default":10000},"chunkIndex":{"type":"number","description":"Zero-based chunk index for large dataset analysis. Always start at 0. When hasMore is true in the response, immediately call again with nextChunkIndex without speaking to the user.","default":0}},"required":["formIDs","analysisQuery"]},"outputSchema":null,"outputMode":"unstructured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"hasUI":false,"preventRetry":true},{"name":"assign_form","title":"Assign Form","description":"Assign a form to a email address","summary":"Assign a form to a email address","inputSchema":{"type":"object","properties":{"form_id":{"type":"string","description":"The ID of the form to assign"},"assignee_email":{"type":"string","description":"The email address to assign the form to"},"assignee_name":{"type":"string","description":"The name of the assignee. This will be used in the email that will be sent to the assignee."},"assignee_message":{"type":"string","description":"The message to assign the form to. This will be used in the email that will be sent to the assignee."}},"required":["form_id","assignee_email"]},"outputSchema":null,"outputMode":"unstructured","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"hasUI":false,"preventRetry":false},{"name":"create_form","title":"Create Form","description":"Create a new form based on the user's prompt","summary":"Create a new form based on the user's prompt","inputSchema":{"type":"object","properties":{"description":{"type":"string","description":"Description of the form to create"}},"required":["description"]},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the created form."},"url":{"type":"string","description":"The URL of the created form."},"created_questions":{"type":"array","description":"The questions of the created form.","items":{"type":"string"}}},"additionalProperties":true}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"hasUI":false,"preventRetry":true},{"name":"edit_form","title":"Edit Form","description":"Edit a form based on the user's prompt. Use high-level natural-language instructions only (e.g., \"Add a name question at the top\", \"Move the email question to the end\"). Do not specify internal field types, control names, or IDs. Another agent will map your intent to exact field types.","summary":"Edit a form based on the user's prompt. Use high-level natural-language instructions only (e.g., \"Add a name question at the top\", \"Move the email question to the end\"). Do not specify internal field types, control names, or IDs. Another agent will map your intent to exact field types.","inputSchema":{"type":"object","properties":{"form_id":{"type":"string","description":"The ID of the form to edit"},"description":{"type":"string","description":"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."}},"required":["form_id","description"]},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"edited_form":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the edited form."},"url":{"type":"string","description":"The URL of the edited form."},"changes":{"type":"string","description":"The changes made to the form."}},"required":["id","url"]}},"additionalProperties":true}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"hasUI":false,"preventRetry":true},{"name":"fetch","title":"Fetch","description":"This tool is fetching information and metadata from the Jotform based on a form id or a submission id","summary":"This tool is fetching information and metadata from the Jotform based on a form id or a submission id","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"The form id or the submission id to fetch information and metadata from"}},"required":["id"]},"outputSchema":null,"outputMode":"unstructured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"hasUI":false,"preventRetry":false},{"name":"get_submissions","title":"List Submissions","description":"List submission IDs for a form, with optional filters","summary":"List submission IDs for a form, with optional filters","inputSchema":{"type":"object","properties":{"form_id":{"type":"string","description":"The ID of the form to list submissions from"},"filter":{"type":"object","properties":{"limit":{"type":"number","description":"Number of submissions to return (default: 20)","default":20},"offset":{"type":"number","description":"Starting position for fetching submissions (default: 0)","default":0},"orderby":{"type":"string","description":"Field to order by (default: created_at)","default":"created_at","enum":["created_at","updated_at"]},"direction":{"type":"string","description":"Direction to order by (default: DESC)","default":"DESC","enum":["ASC","DESC"]},"created_at:gt:datetime":{"type":"string","description":"Filter submissions created after this datetime (exclusive)","example":"YYYY-MM-DD HH:MM:SS"},"created_at:lte:datetime":{"type":"string","description":"Filter submissions created at or before this datetime (inclusive)","example":"YYYY-MM-DD HH:MM:SS"}},"required":["limit","offset"]}},"required":["form_id"]},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"form_id":{"type":"string"},"total_count":{"type":"string"},"submissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"form_id":{"type":"string"},"created_at":{"type":"string"},"status":{"type":"string"},"answers":{"type":"string"}},"required":["id","form_id","created_at","status","answers"]}}},"additionalProperties":true,"required":["form_id","total_count","submissions"]}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"hasUI":false,"preventRetry":false},{"name":"search","title":"Asset Search","description":"Search assets.\nUse this tool when the goal is to find one or more assets that match optional title, date, submission-count, and sorting filters.\nYou can use this tool to find the asset ID of a asset by name or criteria to invoke any other tool that requires a asset ID.\nThis tool returns matching assets as search results and does not open or render a single asset.\nSubmissions are not a asset type. This tool does not search submissions.\nFilter Rules: title_filter is an array of plain strings for asset title matching (OR logic). Regex is not supported.\nFilter Rules: date_filter is an array of two strings in YYYY-MM-DD format for the date range to filter by. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.\nFilter Rules: min_submission_count is for the minimum number of submissions to filter by. Return zero if no submission filter is needed. Return 1 if the user wants to assets which have submissions.\nEmpty title_filter: Empty title_filter lists your assets.\norder_by: The default value is \"last_activity\", only use another option if a specific sorting is provided by the user.\nLimit controls how many assets are returned.\nExamples: (1) title_filter = [\"invoice\"] to find assets with \"invoice\" in the title; (2) title_filter = [] to list all your assets; (3) date_filter = [\"2024-01-01\", \"2024-12-31\"] to find assets created between January 1, 2024 and December 31, 2024; (4) order_by = \"most_recent_created\" to sort assets by the most recent creation date","summary":"Search assets.\nUse this tool when the goal is to find one or more assets that match optional title, date, submission-count, and sorting filters.\nYou can use this tool to find the asset ID of a asset by name or criteria to invoke any other tool that requires a asset ID.\nThis tool returns matching assets as search results and does not open or render a single asset.\nSubmissions are not a asset type. This tool does not search submissions.\nFilter Rules: title_filter is an array of plain strings for asset title matching (OR logic). Regex is not supported.\nFilter Rules: date_filter is an array of two strings in YYYY-MM-DD format for the date range to filter by. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.\nFilter Rules: min_submission_count is for the minimum number of submissions to filter by. Return zero if no submission filter is needed. Return 1 if the user wants to assets which have submissions.\nEmpty title_filter: Empty title_filter lists your assets.\norder_by: The default value is \"last_activity\", only use another option if a specific sorting is provided by the user.\nLimit controls how many assets are returned.\nExamples: (1) title_filter = [\"invoice\"] to find assets with \"invoice\" in the title; (2) title_filter = [] to list all your assets; (3) date_filter = [\"2024-01-01\", \"2024-12-31\"] to find assets created between January 1, 2024 and December 31, 2024; (4) order_by = \"most_recent_created\" to sort assets by the most recent creation date","inputSchema":{"type":"object","properties":{"user_query":{"type":"string","description":"A natural-language instruction describing what the user wants to find and list from assets.","default":""},"filter":{"type":"object","properties":{"date_filter":{"type":"array","items":{"type":"string","format":"date"},"description":"The date range to filter by in YYYY-MM-DD format. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.","default":[]},"title_filter":{"type":"array","items":{"type":"string"},"description":"Array of plain strings for asset title matching (OR logic). Regex is not supported. Empty array lists all your assets.","default":[]},"min_submission_count":{"type":"number","description":"The minimum number of submissions to filter by. Return 0 if no submission filter is needed. Return 1 if the user wants to assets which have submissions.","default":0}},"default":{"date_filter":[],"title_filter":[],"min_submission_count":0}},"order_by":{"type":"string","description":"Sort order for the results. The default value is \"last_activity\", only use another option if a sorting is really needed.","default":"last_activity","enum":["last_activity","most_recent_created","least_recent_created","submissions_count","last_submission"]},"limit":{"type":"number","description":"Maximum items fetched per underlying request (default: 20).","default":20}},"required":["user_query"]},"outputSchema":null,"outputMode":"unstructured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"hasUI":false,"preventRetry":false}]},"duration":"32.11ms","info":null}