Tally MCP connector
OAuth 2.1/DCR ProductivityAutomationConnect 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.
operations array required No 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.
updates array required No 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.
groups array required No 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.
title string required No description. coverImageUrl string optional No description. logoUrl string optional No description. submitButtonText string optional No description. workspaceId string optional No 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.
url string required No 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.
formId string required No description. period string required No description. include array optional No 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.
formId string required No description. filter object optional No description. limit number optional No description. page number optional No 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.
filter object optional No description. limit number optional No description. page number optional No 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.
formId string required No 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.
blockUuids array required No description. insertAfterBlockUuid string required No description. tallymcp_remove_blocks
#
Remove specific blocks from the form by their UUIDs. 1 param
Remove specific blocks from the form by their UUIDs.
blockUuids array required No description. tallymcp_remove_pages
#
Remove entire pages from the form by page number. 1 param
Remove entire pages from the form by page number.
pageNumbers array required No description. tallymcp_remove_questions
#
Remove entire questions from the form by their UUIDs. 1 param
Remove entire questions from the form by their UUIDs.
questionUuids array required No 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).
command string required No description. currentPageNumber number optional No description. newPageNumber number optional No description. order array optional No description. pageNumberA number optional No description. pageNumberB number optional No description. tallymcp_reposition_questions
#
Move or swap questions using a command (move, swap). 5 params
Move or swap questions using a command (move, swap).
command string required No description. afterBlockUuid string optional No description. questionUuidA string optional No description. questionUuidB string optional No description. questionUuids array optional No 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.
formId string optional No description. status string optional No 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.
layout string required No 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.
title string required No 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.
css string required No description. reason string required No 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.
closeAt string optional No description. closeMessage string optional No description. hasPartialSubmissions boolean optional No description. hasProgressBar boolean optional No description. isClosed boolean optional No description. language string optional No description. metaDescription string optional No description. metaImageUrl string optional No description. metaSiteFaviconUrl string optional No description. metaSiteName string optional No description. metaTitle string optional No description. pageAutoJump boolean optional No description. password string optional No description. redirectOnCompletionUrl string optional No description. respondentEmail string optional No description. saveForLater boolean optional No description. selfEmail string optional No description. submissionsDataRetention string optional No description. submissionsLimit string optional No description. uniqueSubmissionKey string optional No description. verifyEmail string optional No 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.
advanced object optional No description. appearance object optional No 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.
updates array required No description.