Tally MCP connector
OAuth 2.1/DCRProductivityAutomationConnect to Tally MCP. Create and edit forms, manage submissions, and update styling and logic in your Tally workspace from AI workflows.
Tally 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 = 'tallymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Tally 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: 'tallymcp_list_blocks',toolInput: {},})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 = "tallymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Tally MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="tallymcp_list_blocks",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:
- Update text, styling, settings — Update the HTML text content of blocks in the form
- Title set form — Set or update the form title that appears at the top of the form
- Layout set column — Organize blocks into a side-by-side column layout
- Form save, load — Save the current form changes and optionally publish or unpublish the form
- Questions reposition, remove — Move or swap questions using a command (move, swap)
- Pages reposition, remove — Move, swap, or reorder pages using a command (move, swap, reorder)
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.
tallymcp_apply_logic#Create or update conditional logic rules on form blocks using DSL syntax.1 param
Create or update conditional logic rules on form blocks using DSL syntax.
operationsarrayrequiredNo description.tallymcp_configure_blocks#Update block properties such as visibility, required state, and other settings.1 param
Update block properties such as visibility, required state, and other settings.
updatesarrayrequiredNo description.tallymcp_create_blocks#Add new question blocks or content blocks to the current form.1 param
Add new question blocks or content blocks to the current form.
groupsarrayrequiredNo description.tallymcp_create_new_form#Create a new blank form with the specified title and optional branding.5 params
Create a new blank form with the specified title and optional branding.
titlestringrequiredNo description.coverImageUrlstringoptionalNo description.logoUrlstringoptionalNo description.submitButtonTextstringoptionalNo description.workspaceIdstringoptionalNo description.tallymcp_extract_brand#Extract brand colors, fonts, and images from a website URL to apply to the form.1 param
Extract brand colors, fonts, and images from a website URL to apply to the form.
urlstringrequiredNo description.tallymcp_fetch_insights#Fetch analytics metrics for a form such as views, completions, and conversion rate.3 params
Fetch analytics metrics for a form such as views, completions, and conversion rate.
formIdstringrequiredNo description.periodstringrequiredNo description.includearrayoptionalNo description.tallymcp_fetch_submissions#Retrieve paginated form submissions with question labels and response values.4 params
Retrieve paginated form submissions with question labels and response values.
formIdstringrequiredNo description.filterobjectoptionalNo description.limitnumberoptionalNo description.pagenumberoptionalNo description.tallymcp_inspect_custom_css#Return the current custom CSS and available CSS selectors for the form.0 params
Return the current custom CSS and available CSS selectors for the form.
tallymcp_list_blocks#Retrieve the current form structure as a block ledger showing all blocks with their UUIDs and types.0 params
Retrieve the current form structure as a block ledger showing all blocks with their UUIDs and types.
tallymcp_list_forms#List forms the user has access to, with optional filtering and pagination.3 params
List forms the user has access to, with optional filtering and pagination.
filterobjectoptionalNo description.limitnumberoptionalNo description.pagenumberoptionalNo description.tallymcp_list_workspaces#List all workspaces the user can access.0 params
List all workspaces the user can access.
tallymcp_load_form#Load an existing form by ID to prepare it for editing.1 param
Load an existing form by ID to prepare it for editing.
formIdstringrequiredNo description.tallymcp_move_blocks#Move one or more blocks to a new position in the form.2 params
Move one or more blocks to a new position in the form.
blockUuidsarrayrequiredNo description.insertAfterBlockUuidstringrequiredNo description.tallymcp_remove_blocks#Remove specific blocks from the form by their UUIDs.1 param
Remove specific blocks from the form by their UUIDs.
blockUuidsarrayrequiredNo description.tallymcp_remove_pages#Remove entire pages from the form by page number.1 param
Remove entire pages from the form by page number.
pageNumbersarrayrequiredNo description.tallymcp_remove_questions#Remove entire questions from the form by their UUIDs.1 param
Remove entire questions from the form by their UUIDs.
questionUuidsarrayrequiredNo description.tallymcp_reposition_pages#Move, swap, or reorder pages using a command (move, swap, reorder).6 params
Move, swap, or reorder pages using a command (move, swap, reorder).
commandstringrequiredNo description.currentPageNumbernumberoptionalNo description.newPageNumbernumberoptionalNo description.orderarrayoptionalNo description.pageNumberAnumberoptionalNo description.pageNumberBnumberoptionalNo description.tallymcp_reposition_questions#Move or swap questions using a command (move, swap).5 params
Move or swap questions using a command (move, swap).
commandstringrequiredNo description.afterBlockUuidstringoptionalNo description.questionUuidAstringoptionalNo description.questionUuidBstringoptionalNo description.questionUuidsarrayoptionalNo description.tallymcp_save_form#Save the current form changes and optionally publish or unpublish the form.2 params
Save the current form changes and optionally publish or unpublish the form.
formIdstringoptionalNo description.statusstringoptionalNo description.tallymcp_set_column_layout#Organize blocks into a side-by-side column layout.1 param
Organize blocks into a side-by-side column layout.
layoutstringrequiredNo description.tallymcp_set_form_title#Set or update the form title that appears at the top of the form.1 param
Set or update the form title that appears at the top of the form.
titlestringrequiredNo description.tallymcp_update_custom_css#Apply custom CSS to the form as a last-resort override for styling not supported by update_styling.2 params
Apply custom CSS to the form as a last-resort override for styling not supported by update_styling.
cssstringrequiredNo description.reasonstringrequiredNo description.tallymcp_update_settings#Update form settings including submission limits, notifications, redirects, and metadata.21 params
Update form settings including submission limits, notifications, redirects, and metadata.
closeAtstringoptionalNo description.closeMessagestringoptionalNo description.hasPartialSubmissionsbooleanoptionalNo description.hasProgressBarbooleanoptionalNo description.isClosedbooleanoptionalNo description.languagestringoptionalNo description.metaDescriptionstringoptionalNo description.metaImageUrlstringoptionalNo description.metaSiteFaviconUrlstringoptionalNo description.metaSiteNamestringoptionalNo description.metaTitlestringoptionalNo description.pageAutoJumpbooleanoptionalNo description.passwordstringoptionalNo description.redirectOnCompletionUrlstringoptionalNo description.respondentEmailstringoptionalNo description.saveForLaterbooleanoptionalNo description.selfEmailstringoptionalNo description.submissionsDataRetentionstringoptionalNo description.submissionsLimitstringoptionalNo description.uniqueSubmissionKeystringoptionalNo description.verifyEmailstringoptionalNo description.tallymcp_update_styling#Update form appearance and advanced styling in a single call.2 params
Update form appearance and advanced styling in a single call.
advancedobjectoptionalNo description.appearanceobjectoptionalNo description.tallymcp_update_text#Update the HTML text content of blocks in the form.1 param
Update the HTML text content of blocks in the form.
updatesarrayrequiredNo description.