Agent skill
jotform
JotForm API for form management. Use when user mentions "JotForm", "forms", "submissions", or asks about form data.
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/jotform
SKILL.md
Jotform API
Use the Jotform API via direct curl calls to manage forms, submissions, questions, webhooks, and account data.
Official docs:
https://api.jotform.com/docs/
When to Use
Use this skill when you need to:
- List and retrieve forms from a Jotform account
- Manage form submissions (list, create, update, delete)
- Read and modify form questions and properties
- Set up webhooks for form submission notifications
- Access user account info including usage, settings, and folders
Prerequisites
- Log in to your Jotform account
- Navigate to Settings > API
- Click Create New Key
- Copy your API Key
export JOTFORM_TOKEN="your-api-key"
API Base URLs
| Region | URL |
|---|---|
| Standard | https://api.jotform.com |
| EU | https://eu-api.jotform.com |
| HIPAA | https://hipaa-api.jotform.com |
All examples below use https://api.jotform.com. Replace with the appropriate regional URL if needed.
How to Use
All examples below assume you have JOTFORM_TOKEN set. Authentication uses the APIKEY header.
1. Get User Account Info
Retrieve information about the authenticated user.
curl -s "https://api.jotform.com/user" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
2. Get Account Usage
Check API usage limits and current consumption.
curl -s "https://api.jotform.com/user/usage" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
3. List All Forms
Retrieve all forms in the account. Supports pagination with limit and offset.
curl -s "https://api.jotform.com/user/forms?limit=20&offset=0" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content[] | {id, title, status, created_at}'
Filter forms by status:
curl -s "https://api.jotform.com/user/forms?limit=20&filter=%7B%22status%3Ane%22%3A%22DELETED%22%7D" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content[] | {id, title, status}'
4. Get Form Details
Retrieve details for a specific form. Replace FORM_ID with the actual form ID.
curl -s "https://api.jotform.com/form/FORM_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
5. Get Form Questions
List all questions (fields) in a form.
curl -s "https://api.jotform.com/form/FORM_ID/questions" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
Get a specific question by ID:
curl -s "https://api.jotform.com/form/FORM_ID/question/QUESTION_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
6. List Form Submissions
Get submissions for a specific form. Supports limit, offset, orderby, and filter.
curl -s "https://api.jotform.com/form/FORM_ID/submissions?limit=20&offset=0&orderby=created_at" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content[] | {id, created_at, status}'
7. Get a Single Submission
Retrieve details for a specific submission.
curl -s "https://api.jotform.com/submission/SUBMISSION_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
8. Create a Submission
Submit new data to a form. Field keys follow the format submission[QUESTION_ID].
curl -s -X POST "https://api.jotform.com/form/FORM_ID/submissions" --header "APIKEY: $(printenv JOTFORM_TOKEN)" -d "submission[1]=John" -d "submission[2]=Doe" -d "submission[3]=john@example.com" | jq .
9. Update a Submission
Edit an existing submission.
curl -s -X POST "https://api.jotform.com/submission/SUBMISSION_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" -d "submission[1]=Jane" -d "submission[2]=Smith" | jq .
10. Delete a Submission
Delete a submission by ID.
curl -s -X DELETE "https://api.jotform.com/submission/SUBMISSION_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
11. Get Form Properties
Retrieve all properties of a form (title, colors, fonts, etc.).
curl -s "https://api.jotform.com/form/FORM_ID/properties" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
Get a specific property:
curl -s "https://api.jotform.com/form/FORM_ID/properties/PROPERTY_KEY" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
12. List Form Webhooks
Get all webhooks configured for a form.
curl -s "https://api.jotform.com/form/FORM_ID/webhooks" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
13. Create a Webhook
Add a webhook URL to receive form submission notifications.
curl -s -X POST "https://api.jotform.com/form/FORM_ID/webhooks" --header "APIKEY: $(printenv JOTFORM_TOKEN)" -d "webhookURL=https://example.com/webhook" | jq .
14. Delete a Webhook
Remove a webhook from a form.
curl -s -X DELETE "https://api.jotform.com/form/FORM_ID/webhooks/WEBHOOK_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
15. List Form Files
Get all files uploaded through a form.
curl -s "https://api.jotform.com/form/FORM_ID/files" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
16. Clone a Form
Create a copy of an existing form.
curl -s -X POST "https://api.jotform.com/form/FORM_ID/clone" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
17. Delete a Form
Delete a form by ID.
curl -s -X DELETE "https://api.jotform.com/form/FORM_ID" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq .
18. List User Folders
Get all folders in the account.
curl -s "https://api.jotform.com/user/folders" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
19. Get All User Submissions
Retrieve all submissions across all forms.
curl -s "https://api.jotform.com/user/submissions?limit=20&offset=0" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content[] | {id, form_id, created_at, status}'
20. Get Form Reports
List all reports for a form.
curl -s "https://api.jotform.com/form/FORM_ID/reports" --header "APIKEY: $(printenv JOTFORM_TOKEN)" | jq '.content'
Guidelines
- Authentication: Use the
APIKEYheader for all requests. Do not pass the API key as a URL parameter in production - Pagination: Use
limitandoffsetquery parameters to paginate large result sets. Default limit varies by endpoint - Filtering: Use the
filterquery parameter with URL-encoded JSON for advanced filtering (e.g.,filter={"status:ne":"DELETED"}) - Regional URLs: Use
eu-api.jotform.comfor EU accounts orhipaa-api.jotform.comfor HIPAA-compliant accounts - Submission field keys: When creating or updating submissions, field keys use the format
submission[QUESTION_ID]where the question ID comes from the form questions endpoint - Response format: All responses return JSON with a
responseCode(200 for success) andcontentfield containing the data - Rate limits: Jotform enforces API rate limits based on your plan. Monitor the response headers for rate limit information
- Form IDs: Form IDs are numeric. You can find them in the form URL or by listing all forms
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?