Connectors · Marketing & media
Formstack MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Formstack and the rest of your systems. It gives your agent 100 Formstack actions (40 reads, 40 writes and 20 that wait for a confirmation) and holds the Formstack credential itself, so the agent never does. It paces Formstack's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "formstack.folders.list", intent: "check which Formstack account is connected"}# List folders · read · 1 upstream call- 100actionsin one signed file
- 40readlook, never change
- 40writecreate and update
- 20wait for a yesdestructive, confirmed first
Set up
Connect Formstack in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Formstack.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenFormstack personal access token (starts fs_pat_): sign in at https://admin.formstack.com, open Personal Access…
account { op: "connections.requirements", service: "formstack" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "formstack.folders.list" }# list folders · read · 1 upstream callcheck { action: "formstack.folders.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Formstack at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Limits we pace to
- 14,400 calls a day, per connection
- API covered
- Formstack API v2025.0 (OpenAPI 3.0.0) + Partner API v1
www.formstack.com/api/v2025 - Built from
- Formstack's documentation, read 23 October 2026developers.formstack.comdevelopers.formstack.comdevelopers.formstack.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 37 of 40 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 3, so ask can line Formstack up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Formstack.
100 actions in 20 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 40readlook, never change
- 40writecreate and update
- 20destructivewait for a confirmation
Forms
103 read · 6 write · 1 destructive
List forms · Create a form · Get a form · Update a form
Partner subaccounts
86 read · 2 write · 0 destructive
List partner subaccounts · Create a partner subaccount · Preview charges partner subaccount · Get a partner subaccount
Smart list options
82 read · 3 write · 3 destructive
Create a smart list option · Create bulk smart list option · List smart list options · Get a smart list option
Submissions
84 read · 3 write · 1 destructive
List submissions · Create a submission · Get a submission · Delete a submission
Portals
62 read · 2 write · 2 destructive
Create the portal copy · List portals · Get a portal · Update a portal
Webhooks
63 read · 2 write · 1 destructive
Create a webhook · List webhooks · Update a webhook · Get a webhook
Confirmations
52 read · 2 write · 1 destructive
Create a confirmation email · List confirmation emails · Get a confirmation email · Update a confirmation email
Fields
52 read · 2 write · 1 destructive
Create a form field · List form fields · Get a form field · Update a form field
12 more areas · 44 actions
- Folders 5
- Notifications 5
- Smart lists 5
- Submit actions 5
- Subaccount themes 4
- Partial submissions 3
- Partner personal access tokens 3
- Portal forms 3
- Portal users 3
- Subaccounts 3
- Themes 3
- Partner memberships 2
Top actions
The Formstack API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 25 of Formstack's 25 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
formstack.folders.listList folders | Get all folders on your account and their subfolders. | read | content.folder.list62 connectors |
formstack.partner_memberships.listList subaccount memberships | List memberships for a subaccount. | read | identity.user.list474 connectors |
formstack.folders.createCreate a folder | Create a new folder. | write | content.folder.create62 connectors |
formstack.folders.deleteDelete a folder | Delete the specified folder. | destructive | content.folder.delete46 connectors |
formstack.partner_memberships.updateUpdate a subaccount membership | Update membership for a subaccount. | write | identity.user.update280 connectors |
formstack.forms.listList forms | Retrieve a paginated list of forms with optional filtering and sorting. | read | content.form.list36 connectors |
formstack.forms.createCreate a form | Create a new form with optional fields. | write | content.form.create26 connectors |
formstack.submissions.listList submissions | Retrieve a paginated list of submissions for a specific form. | read | content.form_response.list20 connectors |
formstack.submissions.createCreate a submission | Create a new submission for the specified form. | write | content.form_response.create9 connectors |
formstack.webhooks.createCreate a webhook | Create a new webhook for a form. | write | automation.webhook.create209 connectors |
formstack.webhooks.listList webhooks | List webhooks for a form. | read | automation.webhook.list202 connectors |
formstack.partner_subaccounts.listList partner subaccounts | Get a list of subaccounts. | read | this connector |
Try it
Prompts to paste into Claude.
Each one names the Formstack actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Formstack? List every user and their role.
calls
formstack.partner_memberships.list - Writewrite
Create a folder in Formstack. Show me exactly what you will send before you save it.
calls
formstack.folders.create
Governance for Formstack
Destructive actions wait for a yes.
20 Formstack actions are destructive. These are all of them:
- Delete a folder
formstack.folders.delete - Delete a form
formstack.forms.delete - Delete a submission
formstack.submissions.delete - Delete a webhook
formstack.webhooks.delete - Delete a form field
formstack.fields.delete - Delete a theme
formstack.themes.delete - Delete a portal
formstack.portals.delete - Delete a smart list
formstack.smart_lists.delete - Delete a portal form
formstack.portal_forms.delete - Delete a portal user
formstack.portal_users.delete - Delete a confirmation email
formstack.confirmations.delete - Delete a notification email
formstack.notifications.delete - Delete the portal avatar
formstack.portals.delete_avatar - Delete a submit action
formstack.submit_actions.delete - Delete a subaccount theme
formstack.subaccount_themes.delete - Delete a smart list option
formstack.smart_list_options.delete - Delete a partial submission
formstack.partial_submissions.delete - Delete all smart list option
formstack.smart_list_options.delete_all - Delete image smart list option
formstack.smart_list_options.delete_image - Revoke a Personal Access Token belonging to a subaccount user
formstack.partner_personal_access_tokens.revoke
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a folder?
intent: the user asked me to delete a folder
account { op: "keys.create", name: "formstack-agent", allowed_actions: ["formstack.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "formstack.folders.delete", approver: "[email protected]" }, { match: "formstack.forms.delete", approver: "[email protected]" }, { match: "formstack.submissions.delete", approver: "[email protected]" } ]}Cost
What Formstack costs on actionlake.
Every Formstack action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Formstack refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 100 Formstack actions
- 100actions pageeach page of a long list is one call
- 37reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Formstack action.
100 actions by area: the id your agent calls, what it does, and its effect.
Forms10
formstack.forms.assign_themeAssign a theme to a specific form in the current accountwriteformstack.forms.copyCreate a copy of an existing form with optional configurationswriteformstack.forms.createCreate a formwriteformstack.forms.create_documents_integrationCreate a form WebMerge integrationwriteformstack.forms.create_prefill_urlGenerate a prefilled form URL with specified field valueswriteformstack.forms.deleteDelete a formdestructiveformstack.forms.getGet a formreadformstack.forms.get_htmlRetrieve HTML markup for a specific formreadformstack.forms.listList formsreadformstack.forms.updateUpdate a formwrite
Partner subaccounts8
formstack.partner_subaccounts.createCreate a partner subaccountwriteformstack.partner_subaccounts.getGet a partner subaccountreadformstack.partner_subaccounts.get_app_api_keysGet app API keys for a subaccountreadformstack.partner_subaccounts.get_sso_configReturns current Organization's SSO configreadformstack.partner_subaccounts.listList partner subaccountsreadformstack.partner_subaccounts.list_productsGet a list of products available for provisioningreadformstack.partner_subaccounts.preview_chargesPreview charges partner subaccountreadformstack.partner_subaccounts.updateUpdate a partner subaccountwrite
Smart list options8
formstack.smart_list_options.createCreate a smart list optionwriteformstack.smart_list_options.create_bulkCreate bulk smart list optionwriteformstack.smart_list_options.deleteDelete a smart list optiondestructiveformstack.smart_list_options.delete_allDelete all smart list optiondestructiveformstack.smart_list_options.delete_imageDelete image smart list optiondestructiveformstack.smart_list_options.getGet a smart list optionreadformstack.smart_list_options.listList smart list optionsreadformstack.smart_list_options.updateUpdate a smart list optionwrite
Submissions8
formstack.submissions.countCounting form submissionsreadformstack.submissions.createCreate a submissionwriteformstack.submissions.create_file_upload_urlsGenerate presigned S3 upload URLs for a file fieldwriteformstack.submissions.deleteDelete a submissiondestructiveformstack.submissions.getGet a submissionreadformstack.submissions.listList submissionsreadformstack.submissions.searchRetrieve a paginated list of submissions across all formsreadformstack.submissions.updateUpdate a submissionwrite
Portals6
formstack.portals.copyCreate the portal copywriteformstack.portals.deleteDelete a portaldestructiveformstack.portals.delete_avatarDelete the portal avatardestructiveformstack.portals.getGet a portalreadformstack.portals.listList portalsreadformstack.portals.updateUpdate a portalwrite
Webhooks6
formstack.webhooks.createCreate a webhookwriteformstack.webhooks.deleteDelete a webhookdestructiveformstack.webhooks.getGet a webhookreadformstack.webhooks.get_payload_schemaGet OpenAPI definition for a form's webhookreadformstack.webhooks.listList webhooksreadformstack.webhooks.updateUpdate a webhookwrite
Confirmations5
formstack.confirmations.createCreate a confirmation emailwriteformstack.confirmations.deleteDelete a confirmation emaildestructiveformstack.confirmations.getGet a confirmation emailreadformstack.confirmations.listList confirmation emailsreadformstack.confirmations.updateUpdate a confirmation emailwrite
Fields5
formstack.fields.createCreate a form fieldwriteformstack.fields.deleteDelete a form fielddestructiveformstack.fields.getGet a form fieldreadformstack.fields.listList form fieldsreadformstack.fields.updateUpdate a form fieldwrite
Folders5
formstack.folders.createCreate a folderwriteformstack.folders.deleteDelete a folderdestructiveformstack.folders.getGet a folderreadformstack.folders.listList foldersreadformstack.folders.updateUpdate a folderwrite
Notifications5
formstack.notifications.createCreate a notification emailwriteformstack.notifications.deleteDelete a notification emaildestructiveformstack.notifications.getGet a notification emailreadformstack.notifications.listList notification emailsreadformstack.notifications.updateUpdate a notification emailwrite
Smart lists5
formstack.smart_lists.createCreate a smart listwriteformstack.smart_lists.deleteDelete a smart listdestructiveformstack.smart_lists.getGet a smart listreadformstack.smart_lists.listList smart listsreadformstack.smart_lists.updateUpdate a smart listwrite
Submit actions5
formstack.submit_actions.createCreate a submit actionwriteformstack.submit_actions.deleteDelete a submit actiondestructiveformstack.submit_actions.getGet a submit actionreadformstack.submit_actions.listList submit actionsreadformstack.submit_actions.updateUpdate a submit actionwrite
Subaccount themes4
formstack.subaccount_themes.copyCopies a theme from the current account to a specified subaccountwriteformstack.subaccount_themes.deleteDelete a subaccount themedestructiveformstack.subaccount_themes.listList subaccount themesreadformstack.subaccount_themes.list_formsGet a paginated list of forms using the specified theme in the subaccountread
Partial submissions3
formstack.partial_submissions.deleteDelete a partial submissiondestructiveformstack.partial_submissions.getGet a partial submissionreadformstack.partial_submissions.listList partial submissionsread
Partner personal access tokens3
formstack.partner_personal_access_tokens.createCreate a membership personal access tokenwriteformstack.partner_personal_access_tokens.listList membership personal access tokensreadformstack.partner_personal_access_tokens.revokeRevoke a Personal Access Token belonging to a subaccount userdestructive
Portal forms3
formstack.portal_forms.createCreate a portal formwriteformstack.portal_forms.deleteDelete a portal formdestructiveformstack.portal_forms.updateUpdate a portal formwrite
Portal users3
formstack.portal_users.createCreate a portal userwriteformstack.portal_users.deleteDelete a portal userdestructiveformstack.portal_users.updateUpdate a portal userwrite
Subaccounts3
formstack.subaccounts.assign_form_themeAssign a theme to a specific form in the subaccountwriteformstack.subaccounts.copy_formCopies a form from the current account to a specified subaccountwriteformstack.subaccounts.listList subaccountsread
Themes3
formstack.themes.copyCopies a theme within the current account (creates a duplicate)writeformstack.themes.deleteDelete a themedestructiveformstack.themes.listList themesread
Partner memberships2
formstack.partner_memberships.listList subaccount membershipsreadformstack.partner_memberships.updateUpdate a subaccount membershipwrite
Questions
The Formstack MCP server, answered.
Is there a Formstack MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 100 Formstack actions across forms, partner subaccounts, smart list options and submissions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Formstack.
What do I need to connect Formstack?
Formstack personal access token (starts fs_pat_): sign in at https://admin.formstack.com, open Personal Access…. The free call account { op: "connections.requirements", service: "formstack" } lists exactly what to paste.
Can an AI agent delete or change things in Formstack?
Only if its key allows it, and only with an explicit confirmation. 20 Formstack actions are destructive, including delete a folder, delete a form and delete a submission. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Formstack API limit?
actionlake paces every call to the limits in the Formstack service file: 14,400 calls a day per connection. Repeated reads are answered from cache (37 Formstack actions can be), which never reaches Formstack.
What does a Formstack action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (100 Formstack actions page). Cache hits, searches, dry runs and calls Formstack refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Formstack API does it cover?
The Formstack API v2025.0 (OpenAPI 3.0.0) + Partner API v1 at www.formstack.com/api/v2025. It is built from Formstack's documentation as read on 23 October 2026. 100 actions in 20 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Formstack data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Formstack credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Formstack today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.