Connects Claude to Tallyfy's workflow automation platform for creating, launching, and tracking business processes. You get access to template management, process lifecycle operations, task assignment, and conditional logic. The server exposes endpoints for building multi-step workflows with approval chains, guest collaboration, and form-based data collection. Useful when you need to automate structured business processes like onboarding, customer intake, or approval routing where each step has specific assignees and conditional branching. Also handles document generation, scheduled launches via triggers, and process analytics. If you're already using Tallyfy for operations and want Claude to read status, launch workflows, or suggest process improvements based on completion data, this is the integration.
Public tool metadata for what this MCP can expose to an agent.
get_meGet the currently authenticated user's profile data. No parameters required. USE THIS TOOL when user asks: - "Who am I?" - "What's my name?" - "Show my profile" - "What's my user ID?" - "What organization am I in?" Returns the authenticated user's full profile including numeri...Get the currently authenticated user's profile data. No parameters required. USE THIS TOOL when user asks: - "Who am I?" - "What's my name?" - "Show my profile" - "What's my user ID?" - "What organization am I in?" Returns the authenticated user's full profile including numeri...
No parameter schema in public metadata yet.
get_organization_usersGet organization members with full profile data. No required parameters. USE THIS TOOL when user asks: - "Who are the team members?" - "List all users" - "Show me organization members" - "Find user by name/email" (then search results for the user) Returns user data including n...2 paramsGet organization members with full profile data. No required parameters. USE THIS TOOL when user asks: - "Who are the team members?" - "List all users" - "Show me organization members" - "Find user by name/email" (then search results for the user) Returns user data including n...
pagevaluewith_groupsvalueget_organization_users_listGet all organization members with minimal profile data for listing. Returns data with pagination metadata.Get all organization members with minimal profile data for listing. Returns data with pagination metadata.
No parameter schema in public metadata yet.
invite_user_to_organizationInvite a new member to the organization. MANDATORY - ALL THREE required: 1. 'email' - Valid email address 2. 'first_name' - User's first name 3. 'last_name' - User's last name CORRECT usage: - invite_user_to_organization(email="john@example.com", first_name="John", last_name="...5 paramsInvite a new member to the organization. MANDATORY - ALL THREE required: 1. 'email' - Valid email address 2. 'first_name' - User's first name 3. 'last_name' - User's last name CORRECT usage: - invite_user_to_organization(email="john@example.com", first_name="John", last_name="...
rolestringemailstringmessagevaluelast_namestringfirst_namestringget_userGet a single user by their numeric ID. REQUIRED: 'user_id' (positive integer). Never call this without user_id.1 paramsGet a single user by their numeric ID. REQUIRED: 'user_id' (positive integer). Never call this without user_id.
user_idintegercreate_guestCreate a new guest in the organization. REQUIRED: 'email' (valid email), 'first_name', 'last_name'. Optional: 'phone', 'company_name'. Never call this without the three required parameters.5 paramsCreate a new guest in the organization. REQUIRED: 'email' (valid email), 'first_name', 'last_name'. Optional: 'phone', 'company_name'. Never call this without the three required parameters.
emailstringphonevaluelast_namestringfirst_namestringcompany_namevalueupdate_guestUpdate guest details. REQUIRED: 'email' (valid email). Plus at least one optional field to update: 'first_name', 'last_name', 'phone', 'company_name'. Never call this without email.5 paramsUpdate guest details. REQUIRED: 'email' (valid email). Plus at least one optional field to update: 'first_name', 'last_name', 'phone', 'company_name'. Never call this without email.
emailstringphonevaluelast_namevaluefirst_namevaluecompany_namevaluedisable_guestDisable a guest account. REQUIRED: 'email' (valid email). This prevents the guest from accessing the organization. Never call this without email.1 paramsDisable a guest account. REQUIRED: 'email' (valid email). This prevents the guest from accessing the organization. Never call this without email.
emailstringenable_guestRe-enable a disabled guest account. REQUIRED: 'email' (valid email). Never call this without email.1 paramsRe-enable a disabled guest account. REQUIRED: 'email' (valid email). Never call this without email.
emailstringget_guestGet a single guest's profile by email address. Returns guest profile data including name, contact info, last accessed time, and status. NOTE: This returns the guest's profile only, not their tasks. To get tasks assigned to a guest, use get_guest_tasks(guest_email="...") or get...1 paramsGet a single guest's profile by email address. Returns guest profile data including name, contact info, last accessed time, and status. NOTE: This returns the guest's profile only, not their tasks. To get tasks assigned to a guest, use get_guest_tasks(guest_email="...") or get...
emailstringchange_user_roleChange a user's role in the organization. REQUIRED: 'user_id' (positive integer) and 'role' ('light', 'standard', or 'admin'). Never call this without both parameters.2 paramsChange a user's role in the organization. REQUIRED: 'user_id' (positive integer) and 'role' ('light', 'standard', or 'admin'). Never call this without both parameters.
rolestringuser_idintegerdisable_userDisable a user account. REQUIRED: 'user_id' (positive integer). This prevents the user from accessing the organization. Never call this without user_id.1 paramsDisable a user account. REQUIRED: 'user_id' (positive integer). This prevents the user from accessing the organization. Never call this without user_id.
user_idintegerenable_userRe-enable a disabled user account. REQUIRED: 'user_id' (positive integer). Never call this without user_id.1 paramsRe-enable a disabled user account. REQUIRED: 'user_id' (positive integer). Never call this without user_id.
user_idintegerget_organizationGet organization details. No parameters required — organization is determined from authentication context.Get organization details. No parameters required — organization is determined from authentication context.
No parameter schema in public metadata yet.
get_my_tasksGet tasks assigned to the current user. No parameters required. USE THIS TOOL when user asks: - "What are my tasks?" - "Show me my tasks" - "What do I need to do?" - "What's assigned to me?" This tool returns task data including task IDs, run_ids (process IDs), titles, deadlin...1 paramsGet tasks assigned to the current user. No parameters required. USE THIS TOOL when user asks: - "What are my tasks?" - "Show me my tasks" - "What do I need to do?" - "What's assigned to me?" This tool returns task data including task IDs, run_ids (process IDs), titles, deadlin...
pagevalueget_user_tasksGet all tasks assigned to a specific organization member (not the current user). IDENTIFICATION: Provide one of user_id, user_name, or user_email. CORRECT usage: - get_user_tasks(user_id=12345) — fastest, no lookup needed - get_user_tasks(user_name="Zurly Venom") — resolves na...6 paramsGet all tasks assigned to a specific organization member (not the current user). IDENTIFICATION: Provide one of user_id, user_name, or user_email. CORRECT usage: - get_user_tasks(user_id=12345) — fastest, no lookup needed - get_user_tasks(user_name="Zurly Venom") — resolves na...
pagevaluestatusvaluesort_byvalueuser_idvalueuser_namevalueuser_emailvalueget_tasks_for_processGet tasks for a specific process (workflow run). MANDATORY: You MUST provide either 'process_id', 'run_id', OR 'process_name'. Calling with empty parameters WILL FAIL. CORRECT usage examples: - get_tasks_for_process(process_id="abc123") - when you have the process/run ID - get...8 paramsGet tasks for a specific process (workflow run). MANDATORY: You MUST provide either 'process_id', 'run_id', OR 'process_name'. Calling with empty parameters WILL FAIL. CORRECT usage examples: - get_tasks_for_process(process_id="abc123") - when you have the process/run ID - get...
pagevaluesortvaluegroupsvalueownersvaluerun_idvaluestatusvalueprocess_idvalueprocess_namevaluecreate_standalone_taskCreate a standalone (one-off) task with explicit structured fields. NOTE: Tallyfy internally creates a lightweight process container for every standalone task — this is expected platform behaviour and the task will still appear as a one-off task (is_oneoff_task: true). REQUIRE...10 paramsCreate a standalone (one-off) task with explicit structured fields. NOTE: Tallyfy internally creates a lightweight process container for every standalone task — this is expected platform behaviour and the task will still appear as a one-off task (is_oneoff_task: true). REQUIRE...
titlestringdeadlinestringtask_typevalueuser_namesvaluedescriptionvaluegroup_namesvalueuser_emailsvalueguest_emailsvaluemax_assignablevalueprevent_guest_commentvaluecreate_task_from_textCreate a one-off task from a single natural-language sentence. This tool extracts structured fields (title, task_type, assignees, deadline, description) from `user_input` using a server-side `claude -p` extraction step, then creates the task via the same SDK path as `create_st...1 paramsCreate a one-off task from a single natural-language sentence. This tool extracts structured fields (title, task_type, assignees, deadline, description) from `user_input` using a server-side `claude -p` extraction step, then creates the task via the same SDK path as `create_st...
user_inputstringcomplete_taskMark a task as complete. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). ⚠️ APPROVAL TASKS — MANDATORY is_approved PARAMETER ⚠️ If the task is an approval-type step (`step_type` = "approval"), you MUST provide EITHER `is_approved=True` (approve) OR `is...4 paramsMark a task as complete. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). ⚠️ APPROVAL TASKS — MANDATORY is_approved PARAMETER ⚠️ If the task is an approval-type step (`step_type` = "approval"), you MUST provide EITHER `is_approved=True` (approve) OR `is...
run_idstringtask_idstringis_approvedvalueoverride_uservaluereopen_taskReopen a previously completed task. REQUIRED: 'run_id' (32-char hex process ID), 'task_id' (32-char hex), and 'reason' (string explanation for reopening). ⚠️ MANDATORY `reason` PARAMETER: - The `reason` parameter is REQUIRED (not optional) — empty/whitespace-only strings raise...3 paramsReopen a previously completed task. REQUIRED: 'run_id' (32-char hex process ID), 'task_id' (32-char hex), and 'reason' (string explanation for reopening). ⚠️ MANDATORY `reason` PARAMETER: - The `reason` parameter is REQUIRED (not optional) — empty/whitespace-only strings raise...
reasonstringrun_idstringtask_idstringupdate_taskUpdate task properties including deadline, assignees, title, or form field values. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). Plus at least ONE optional field to update. CORRECT usage: update_task(run_id="abc...", task_id="def...", deadline="2026-...15 paramsUpdate task properties including deadline, assignees, title, or form field values. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). Plus at least ONE optional field to update. CORRECT usage: update_task(run_id="abc...", task_id="def...", deadline="2026-...
titlevalueownersvaluerun_idstringstatusvaluesummaryvaluetask_idstringwebhookvaluedeadlinevaluepositionvaluetaskdatavaluetask_typevaluestarted_atvaluetop_secretvaluemax_assignablevalueprevent_guest_commentvalueget_taskGet a single task from a process by ID. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). Never call this without both parameters.2 paramsGet a single task from a process by ID. REQUIRED: 'run_id' (32-char hex process ID) and 'task_id' (32-char hex). Never call this without both parameters.
run_idstringtask_idstringget_standalone_taskGet a standalone (one-off) task by ID. REQUIRED: 'task_id' (32-char hex). Never call this without task_id.1 paramsGet a standalone (one-off) task by ID. REQUIRED: 'task_id' (32-char hex). Never call this without task_id.
task_idstringupdate_standalone_taskUpdate a standalone (one-off) task that was created via create_standalone_task. Use THIS tool (not update_task) when the task has no run_id or was created as a one-off task. Use update_task instead when the task belongs to a workflow process run. REQUIRED: 'task_id' (32-char h...13 paramsUpdate a standalone (one-off) task that was created via create_standalone_task. Use THIS tool (not update_task) when the task has no run_id or was created as a one-off task. Use update_task instead when the task belongs to a workflow process run. REQUIRED: 'task_id' (32-char h...
titlevalueownersvaluestatusvaluesummaryvaluetask_idstringwebhookvaluedeadlinevaluetaskdatavaluetask_typevaluestarted_atvaluetop_secretvaluemax_assignablevalueprevent_guest_commentvaluecomplete_kickoff_formComplete a process kickoff form to mark it as submitted. REQUIRED: 'run_id' (32-char hex process ID). Never call this without run_id.1 paramsComplete a process kickoff form to mark it as submitted. REQUIRED: 'run_id' (32-char hex process ID). Never call this without run_id.
run_idstringget_guest_tasksGet all tasks assigned to a specific guest (external user). IDENTIFICATION: Provide guest_id or guest_email. CORRECT usage: - get_guest_tasks(guest_id="MITxZa1z2f5d81bb53f1da7c7fa95a2cfec5cbc2") — fastest, no lookup needed - get_guest_tasks(guest_email="guest@example.com") — r...5 paramsGet all tasks assigned to a specific guest (external user). IDENTIFICATION: Provide guest_id or guest_email. CORRECT usage: - get_guest_tasks(guest_id="MITxZa1z2f5d81bb53f1da7c7fa95a2cfec5cbc2") — fastest, no lookup needed - get_guest_tasks(guest_email="guest@example.com") — r...
pagevaluestatusvaluesort_byvalueguest_idvalueguest_emailvalueget_organization_runsGet workflow processes (runs) in the organization. All parameters are optional — call with no parameters to get all runs, or use filters to narrow results. FILTERS: status, archived, starred, checklist_id (template_id), tag, folder, groups, owners, run_type, me (bool) RUN STAT...14 paramsGet workflow processes (runs) in the organization. All parameters are optional — call with no parameters to get all runs, or use filters to narrow results. FILTERS: status, archived, starred, checklist_id (template_id), tag, folder, groups, owners, run_type, me (bool) RUN STAT...
tagvaluepagevaluesortvaluefoldervaluegroupsvalueownersvaluestatusvaluestarredvaluearchivedvaluerun_typevaluewith_datavaluetask_statusvaluechecklist_idvalueform_fields_valuesvaluelaunch_processLaunch a new workflow process (run) from a template. REQUIRED: 'template_id' (32-char hex) and 'name' (process name string). For the name, generate a short descriptive instance name based on the template name and context (e.g. "Onboarding - Jane Doe", "Q1 Budget Review - Marke...13 paramsLaunch a new workflow process (run) from a template. REQUIRED: 'template_id' (32-char hex) and 'name' (process name string). For the name, generate a short descriptive instance name based on the template name and context (e.g. "Onboarding - Jane Doe", "Q1 Budget Review - Marke...
namestringtagsvaluerolesvaluetasksvalueusersvaluegroupsvalueprerunvaluefoldersvaluesummaryvalueowner_idvalueis_publicvalueparent_idvaluetemplate_idstringget_processGet full details for a single process (run) by ID. REQUIRED: 'run_id' (32-char hex). Never call this without run_id.1 paramsGet full details for a single process (run) by ID. REQUIRED: 'run_id' (32-char hex). Never call this without run_id.
run_idstringupdate_processUpdate a process name, summary, or starred status. REQUIRED: 'run_id' (32-char hex) plus at least one of: 'name', 'summary', or 'starred'. Never call this without run_id.4 paramsUpdate a process name, summary, or starred status. REQUIRED: 'run_id' (32-char hex) plus at least one of: 'name', 'summary', or 'starred'. Never call this without run_id.
namevaluerun_idstringstarredvaluesummaryvaluearchive_processArchive a completed process (run). REQUIRED: 'run_id' (32-char hex). CAUTION: Archived processes are HIDDEN from default views but NOT deleted — all data, tasks, comments, and form-field captures are preserved. Use reactivate_process(run_id) to restore an archived process to a...1 paramsArchive a completed process (run). REQUIRED: 'run_id' (32-char hex). CAUTION: Archived processes are HIDDEN from default views but NOT deleted — all data, tasks, comments, and form-field captures are preserved. Use reactivate_process(run_id) to restore an archived process to a...
run_idstringreactivate_processReactivate an archived process (run) to make it active again. REQUIRED: 'run_id' (32-char hex). Never call this without run_id.1 paramsReactivate an archived process (run) to make it active again. REQUIRED: 'run_id' (32-char hex). Never call this without run_id.
run_idstringreopen_kickoff_formReopen a completed kickoff form to allow edits. REQUIRED: 'run_id' (32-char hex process ID). Never call this without run_id.1 paramsReopen a completed kickoff form to allow edits. REQUIRED: 'run_id' (32-char hex process ID). Never call this without run_id.
run_idstringsearch_for_tasksSearch for tasks in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_tasks(query="urgent") - search for urgent tasks - search_for_tasks(query="review document") - sear...4 paramsSearch for tasks in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_tasks(query="urgent") - search for urgent tasks - search_for_tasks(query="review document") - sear...
pagevaluetagsvaluequerystringper_pagevaluesearch_for_processesSearch for workflow processes (runs) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_processes(query="onboarding") - search for onboarding processes - search_for_p...4 paramsSearch for workflow processes (runs) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_processes(query="onboarding") - search for onboarding processes - search_for_p...
pagevaluetagsvaluequerystringper_pagevaluesearch_for_templatesSearch for workflow templates (blueprints) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_templates(query="onboarding") - search for onboarding templates - search...4 paramsSearch for workflow templates (blueprints) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_templates(query="onboarding") - search for onboarding templates - search...
pagevaluetagsvaluequerystringper_pagevaluesearch_for_snippetsSearch for text snippets (stored text templates) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_snippets(query="welcome email") - search for welcome email snippet...3 paramsSearch for text snippets (stored text templates) in the organization by keyword. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. CORRECT usage examples: - search_for_snippets(query="welcome email") - search for welcome email snippet...
pagevaluequerystringper_pagevaluesearch_allSearch across multiple entity types in one request. Returns results grouped by type. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. Searches blueprints, processes, tasks, and snippets by default. Use the 'types' parameter to narrow...5 paramsSearch across multiple entity types in one request. Returns results grouped by type. MANDATORY: You MUST provide a 'query' parameter. Calling with empty/missing query WILL FAIL. Searches blueprints, processes, tasks, and snippets by default. Use the 'types' parameter to narrow...
pagevaluetagsvaluequerystringtypesvalueper_pagevalueget_templateGet a template (checklist) by its ID or name with full details. MANDATORY: You MUST provide either 'template_id' OR 'template_name'. Calling with empty parameters WILL FAIL. CORRECT usage examples: - get_template(template_id="abc123def456") - when you have the template ID from...2 paramsGet a template (checklist) by its ID or name with full details. MANDATORY: You MUST provide either 'template_id' OR 'template_name'. Calling with empty parameters WILL FAIL. CORRECT usage examples: - get_template(template_id="abc123def456") - when you have the template ID from...
template_idvaluetemplate_namevalueget_all_templatesGet templates (checklists) with full details including prerun fields, automated actions, linked tasks, and metadata. Returns 20 per page. Use page=2, page=3, etc. for more. meta.total_pages shows total page count. Optional: filter by folder name or folder ID.2 paramsGet templates (checklists) with full details including prerun fields, automated actions, linked tasks, and metadata. Returns 20 per page. Use page=2, page=3, etc. for more. meta.total_pages shows total page count. Optional: filter by folder name or folder ID.
pagevaluefoldervalueget_step_dependenciesRead-only: analyze which automations affect when this step appears in the workflow. Inspects all template rules referencing the step as condition trigger OR action target. RETURN: {step_info: {id,title,position,summary}, dependencies: {incoming: [{step_id,step_title,condition_...2 paramsRead-only: analyze which automations affect when this step appears in the workflow. Inspects all template rules referencing the step as condition trigger OR action target. RETURN: {step_info: {id,title,position,summary}, dependencies: {incoming: [{step_id,step_title,condition_...
step_idstringtemplate_idstringsuggest_step_deadlineRetrieve step details with template context to recommend an appropriate deadline. Returns the step's title, summary, position in the workflow, current deadline (if any), assignees, and the total number of steps in the template. Use this data to suggest a reasonable deadline by...2 paramsRetrieve step details with template context to recommend an appropriate deadline. Returns the step's title, summary, position in the workflow, current deadline (if any), assignees, and the total number of steps in the template. Use this data to suggest a reasonable deadline by...
step_idstringtemplate_idstringadd_assignees_to_stepAdd assignees (users or guests or both) to a specific step in a template. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'assignees'. 'assignees' accepts the following format: Dict with 'users' and/or 'guests' keys (to add guests by email): assignees: {"us...3 paramsAdd assignees (users or guests or both) to a specific step in a template. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'assignees'. 'assignees' accepts the following format: Dict with 'users' and/or 'guests' keys (to add guests by email): assignees: {"us...
step_idstringassigneesvaluetemplate_idstringedit_description_on_stepEdit the description/summary of a specific step in a template. The description supports HTML — use this to add rich instructions, checklists, or converted document content to a step. When a user wants to convert a document to step instructions, read the document content yourse...3 paramsEdit the description/summary of a specific step in a template. The description supports HTML — use this to add rich instructions, checklists, or converted document content to a step. When a user wants to convert a document to step instructions, read the document content yourse...
step_idstringdescriptionstringtemplate_idstringadd_step_to_templateAdd a new step to a template. Call this repeatedly after create_template to build out the workflow structure — one call per step, in order. When building a template from a user description or document, break the workflow into logical steps and call this for each one. REQUIRED:...2 paramsAdd a new step to a template. Call this repeatedly after create_template to build out the workflow structure — one call per step, in order. When building a template from a user description or document, break the workflow into logical steps and call this for each one. REQUIRED:...
step_dataobjecttemplate_idstringsuggest_kickoff_fieldsRetrieve template data with existing kickoff fields and step context to recommend new kickoff fields. Returns the template title, summary, existing prerun/kickoff fields, and step titles/summaries. Use this data to suggest kickoff fields that would help initialize the workflow...1 paramsRetrieve template data with existing kickoff fields and step context to recommend new kickoff fields. Returns the template title, summary, existing prerun/kickoff fields, and step titles/summaries. Use this data to suggest kickoff fields that would help initialize the workflow...
template_idstringget_kickoff_fieldsGet all kickoff/prerun fields for a template. REQUIRED: 'template_id' (32-character hex string). Never call this without the template_id parameter.1 paramsGet all kickoff/prerun fields for a template. REQUIRED: 'template_id' (32-character hex string). Never call this without the template_id parameter.
template_idstringget_template_stepsGet all steps for a template in order. USE THIS instead of get_template when the user asks about steps. MANDATORY: 'template_id' (32-char hex string) is required. USE THIS TOOL when the user asks: - "What are the steps in [template]?" - "List the steps of [template]" - "Show m...1 paramsGet all steps for a template in order. USE THIS instead of get_template when the user asks about steps. MANDATORY: 'template_id' (32-char hex string) is required. USE THIS TOOL when the user asks: - "What are the steps in [template]?" - "List the steps of [template]" - "Show m...
template_idstringassess_template_healthRetrieve complete template data for a comprehensive health assessment. Returns the full template including metadata, steps, automation rules, and kickoff fields. Use this data to evaluate template health across these dimensions: - Metadata quality: Does it have a clear title,...1 paramsRetrieve complete template data for a comprehensive health assessment. Returns the full template including metadata, steps, automation rules, and kickoff fields. Use this data to evaluate template health across these dimensions: - Metadata quality: Does it have a clear title,...
template_idstringupdate_templateUpdate a template's metadata (title, summary, settings). REQUIRED: 'template_id' (32-char hex) plus at least one property to update. Updatable fields: title, summary, guidance, icon, alias, webhook, is_public, is_featured, auto_naming, folderize_process, allow_launcher_change_...2 paramsUpdate a template's metadata (title, summary, settings). REQUIRED: 'template_id' (32-char hex) plus at least one property to update. Updatable fields: title, summary, guidance, icon, alias, webhook, is_public, is_featured, auto_naming, folderize_process, allow_launcher_change_...
template_idstringtemplate_dataobjectclone_templateClone (duplicate) a template with a new name. REQUIRED: 'template_id' (32-char hex) and 'new_name' (string). CORRECT usage: clone_template(template_id="abc123...", new_name="Employee Onboarding v2") clone_template(template_id="abc123...", new_name="Copy of Template", copy_perm...3 paramsClone (duplicate) a template with a new name. REQUIRED: 'template_id' (32-char hex) and 'new_name' (string). CORRECT usage: clone_template(template_id="abc123...", new_name="Employee Onboarding v2") clone_template(template_id="abc123...", new_name="Copy of Template", copy_perm...
new_namestringtemplate_idstringcopy_permissionsbooleancreate_templateCreate a new template (checklist/blueprint). This is the first step when building a workflow from a user's description, uploaded document, or image — create the template shell here, then call add_step_to_template for each step, add_form_field_to_step for form fields, add_kicko...4 paramsCreate a new template (checklist/blueprint). This is the first step when building a workflow from a user's description, uploaded document, or image — create the template shell here, then call add_step_to_template for each step, add_form_field_to_step for form fields, add_kicko...
typevaluestarredvaluesummaryvalueguidancevaluedelete_templateDelete a template permanently. REQUIRED: 'template_id' (32-char hex). This action cannot be undone — all steps and automation rules will be deleted. Never call this without template_id.1 paramsDelete a template permanently. REQUIRED: 'template_id' (32-char hex). This action cannot be undone — all steps and automation rules will be deleted. Never call this without template_id.
template_idstringdelete_stepDelete a step from a template permanently. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). This action cannot be undone. Never call this without both parameters. NOTE: Deleting a step also removes any automation rules that reference it (as conditionable_id,...2 paramsDelete a step from a template permanently. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). This action cannot be undone. Never call this without both parameters. NOTE: Deleting a step also removes any automation rules that reference it (as conditionable_id,...
step_idstringtemplate_idstringclone_stepClone (duplicate) a step within a template. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). Creates an exact copy of the step including form fields and assignees. Never call this without both parameters.2 paramsClone (duplicate) a step within a template. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). Creates an exact copy of the step including form fields and assignees. Never call this without both parameters.
step_idstringtemplate_idstringreorder_stepMove a step to a new position in a template. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'position' (integer >= 0). Never call this without all three parameters.3 paramsMove a step to a new position in a template. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'position' (integer >= 0). Never call this without all three parameters.
step_idstringpositionintegertemplate_idstringadd_form_field_to_stepAdd form fields (text, dropdown, date, etc.) to a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_data' (dict). SUPPORTED `field_type` ENUM (9 values — must be one of these exactly): - `text` single-line text input - `textarea` multi-line text...3 paramsAdd form fields (text, dropdown, date, etc.) to a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_data' (dict). SUPPORTED `field_type` ENUM (9 values — must be one of these exactly): - `text` single-line text input - `textarea` multi-line text...
step_idstringfield_dataobjecttemplate_idstringupdate_form_fieldUpdate form field properties, validation, or options on an existing form field. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), 'field_id' (32-char hex), and 'field_data' (dict). UPDATABLE vs IMMUTABLE PROPERTIES: UPDATABLE: - `label` human-readable name - `des...4 paramsUpdate form field properties, validation, or options on an existing form field. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), 'field_id' (32-char hex), and 'field_data' (dict). UPDATABLE vs IMMUTABLE PROPERTIES: UPDATABLE: - `label` human-readable name - `des...
step_idstringfield_idstringfield_dataobjecttemplate_idstringmove_form_fieldMove form field between steps with position control. REQUIRED: 'template_id' (32-char hex), 'from_step' (32-char hex), 'field_id' (32-char hex), and 'to_step' (32-char hex). Optional: 'position' (defaults to 1). Never call this without the four required parameters.5 paramsMove form field between steps with position control. REQUIRED: 'template_id' (32-char hex), 'from_step' (32-char hex), 'field_id' (32-char hex), and 'to_step' (32-char hex). Optional: 'position' (defaults to 1). Never call this without the four required parameters.
to_stepstringfield_idstringpositionintegerfrom_stepstringtemplate_idstringdelete_form_fieldDelete a form field from a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_id' (32-char hex). Never call this without all three parameters.3 paramsDelete a form field from a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_id' (32-char hex). Never call this without all three parameters.
step_idstringfield_idstringtemplate_idstringget_dropdown_optionsGet current dropdown options for analysis. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_id' (32-char hex). Never call this without all three parameters.3 paramsGet current dropdown options for analysis. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_id' (32-char hex). Never call this without all three parameters.
step_idstringfield_idstringtemplate_idstringupdate_dropdown_optionsReplace the options list on a dropdown/radio/multiselect form field. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), 'field_id' (32-char hex), and 'options' (list). ACCEPTED `options` FORMATS — pass EITHER format (the tool normalizes both): Format A — STRING AR...4 paramsReplace the options list on a dropdown/radio/multiselect form field. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), 'field_id' (32-char hex), and 'options' (list). ACCEPTED `options` FORMATS — pass EITHER format (the tool normalizes both): Format A — STRING AR...
optionsvaluestep_idstringfield_idstringtemplate_idstringsuggest_form_fields_for_stepRetrieve step details with existing form fields to recommend additional fields. Returns the step's title, summary, type, and existing form fields (captures), plus the template title for context. Use this data to suggest relevant form fields by considering: - The step's purpose...2 paramsRetrieve step details with existing form fields to recommend additional fields. Returns the step's title, summary, type, and existing form fields (captures), plus the template title for context. Use this data to suggest relevant form fields by considering: - The step's purpose...
step_idstringtemplate_idstringreorder_form_fieldsReorder form fields in a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_order' (list of field IDs in desired order). Never call this without all three parameters.3 paramsReorder form fields in a step. REQUIRED: 'template_id' (32-char hex), 'step_id' (32-char hex), and 'field_order' (list of field IDs in desired order). Never call this without all three parameters.
step_idstringfield_orderarraytemplate_idstringadd_kickoff_fieldAdd a form field to a template's kickoff (prerun) form. Kickoff fields are filled out BEFORE a process starts — they collect initialization data (e.g. customer name, start date, priority). This is different from step form fields which are filled out DURING the process. REQUIRE...2 paramsAdd a form field to a template's kickoff (prerun) form. Kickoff fields are filled out BEFORE a process starts — they collect initialization data (e.g. customer name, start date, priority). This is different from step form fields which are filled out DURING the process. REQUIRE...
field_dataobjecttemplate_idstringupdate_kickoff_fieldUpdate a kickoff (prerun) field on a template. REQUIRED: 'template_id' (32-char hex), 'field_id' (32-char hex), and 'field_data' (dict). UPDATABLE PROPERTIES: label, guidance, required (bool), position, options (dropdown/radio/multiselect), columns (table), collect_time, use_w...3 paramsUpdate a kickoff (prerun) field on a template. REQUIRED: 'template_id' (32-char hex), 'field_id' (32-char hex), and 'field_data' (dict). UPDATABLE PROPERTIES: label, guidance, required (bool), position, options (dropdown/radio/multiselect), columns (table), collect_time, use_w...
field_idstringfield_dataobjecttemplate_idstringdelete_kickoff_fieldDelete a kickoff (prerun) field from a template. REQUIRED: 'template_id' (32-char hex) and 'field_id' (32-char hex). WARNING: Deleting a kickoff field removes it permanently and drops all collected data for that field across existing process runs. This cannot be undone. NOTE:...2 paramsDelete a kickoff (prerun) field from a template. REQUIRED: 'template_id' (32-char hex) and 'field_id' (32-char hex). WARNING: Deleting a kickoff field removes it permanently and drops all collected data for that field across existing process runs. This cannot be undone. NOTE:...
field_idstringtemplate_idstringreorder_kickoff_fieldsReorder kickoff (prerun) fields on a template. REQUIRED: 'template_id' (32-char hex) and 'field_order' (list of field IDs in desired order). The API assigns position sequentially based on array order — first ID gets position 1, second gets position 2, etc. Fields not included...2 paramsReorder kickoff (prerun) fields on a template. REQUIRED: 'template_id' (32-char hex) and 'field_order' (list of field IDs in desired order). The API assigns position sequentially based on array order — first ID gets position 1, second gets position 2, etc. Fields not included...
field_orderarraytemplate_idstringget_kickoff_dropdown_optionsGet dropdown/radio/multiselect options for a kickoff (prerun) field. REQUIRED: 'template_id' (32-char hex) and 'field_id' (32-char hex). Returns the options array for the specified kickoff field. Only works on fields with field_type dropdown, radio, or multiselect — returns an...2 paramsGet dropdown/radio/multiselect options for a kickoff (prerun) field. REQUIRED: 'template_id' (32-char hex) and 'field_id' (32-char hex). Returns the options array for the specified kickoff field. Only works on fields with field_type dropdown, radio, or multiselect — returns an...
field_idstringtemplate_idstringcreate_automation_ruleCreate conditional automation (if-then rules) for workflow templates. REQUIRED: 'template_id' (32-char hex) + 'automation_data' (dict with `conditions`+`actions`). action_verbs: show, hide, deadline, assign, unassign, reopen, emit_webhook conditionable_type: step | field | kic...2 paramsCreate conditional automation (if-then rules) for workflow templates. REQUIRED: 'template_id' (32-char hex) + 'automation_data' (dict with `conditions`+`actions`). action_verbs: show, hide, deadline, assign, unassign, reopen, emit_webhook conditionable_type: step | field | kic...
template_idstringautomation_dataobjectupdate_automation_ruleModify automation conditions and actions. REQUIRED (all three): 'template_id' (32-char hex), 'automation_id' (32-char hex), 'automation_data' (dict). Use "actions" (NOT "then_actions"). Use "alias" (NOT "automated_alias"). Use "step"/"field"/"kickoff" for conditionable_type (a...3 paramsModify automation conditions and actions. REQUIRED (all three): 'template_id' (32-char hex), 'automation_id' (32-char hex), 'automation_data' (dict). Use "actions" (NOT "then_actions"). Use "alias" (NOT "automated_alias"). Use "step"/"field"/"kickoff" for conditionable_type (a...
template_idstringautomation_idstringautomation_dataobjectdelete_automation_ruleRemove an automation rule from a workflow template. REQUIRED: 'template_id' (32-char hex) and 'automation_id' (32-char hex). Never call this without both parameters.2 paramsRemove an automation rule from a workflow template. REQUIRED: 'template_id' (32-char hex) and 'automation_id' (32-char hex). Never call this without both parameters.
template_idstringautomation_idstringanalyze_template_automationsRetrieve and analyze all automation rules for a template. Returns the complete automation rules (conditions, actions, targets), a step lookup map, and pre-computed redundant_groups identifying duplicates and merge candidates. Use this data to: - Review redundant_groups for exa...1 paramsRetrieve and analyze all automation rules for a template. Returns the complete automation rules (conditions, actions, targets), a step lookup map, and pre-computed redundant_groups identifying duplicates and merge candidates. Use this data to: - Review redundant_groups for exa...
template_idstringsuggest_automation_consolidationRead-only: prioritized consolidation suggestions for a template's automation rules. `suggestion_type` (lowercase, in `type` field): - `orphaned_rule` (high) — references deleted steps. Includes `orphaned_step_ids`. Recommended: `delete_automation_rule`. - `exact_duplicate` (hi...1 paramsRead-only: prioritized consolidation suggestions for a template's automation rules. `suggestion_type` (lowercase, in `type` field): - `orphaned_rule` (high) — references deleted steps. Includes `orphaned_step_ids`. Recommended: `delete_automation_rule`. - `exact_duplicate` (hi...
template_idstringget_step_visibility_conditionsAnalyze when and how a step becomes visible based on all automations. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). Never call this without both parameters.2 paramsAnalyze when and how a step becomes visible based on all automations. REQUIRED: 'template_id' (32-char hex) and 'step_id' (32-char hex). Never call this without both parameters.
step_idstringtemplate_idstringget_organization_guestsGet all organization guests with full profile data. All parameters are optional. Use 'with_stats' (true/false) to include guest activity statistics. PAGINATION: Returns 20 results per page. Use page=2, page=3, etc. for more. meta.total_pages shows total page count.2 paramsGet all organization guests with full profile data. All parameters are optional. Use 'with_stats' (true/false) to include guest activity statistics. PAGINATION: Returns 20 results per page. Use page=2, page=3, etc. for more. meta.total_pages shows total page count.
pagevaluewith_statsvalueget_organization_guests_listGet all organization guests with minimal profile data for listing. Returns data with pagination metadata.Get all organization guests with minimal profile data for listing. Returns data with pagination metadata.
No parameter schema in public metadata yet.
get_groupsGet all groups in the organization. Use group IDs to filter processes via get_organization_runs(groups=<group_id>) or assign tasks. All parameters are optional.1 paramsGet all groups in the organization. Use group IDs to filter processes via get_organization_runs(groups=<group_id>) or assign tasks. All parameters are optional.
qvalueget_groupGet a single group by its ID. REQUIRED: 'group_id'. Never call this without group_id.1 paramsGet a single group by its ID. REQUIRED: 'group_id'. Never call this without group_id.
group_idstringThe official Model Context Protocol server for Tallyfy, the workflow and process automation platform. It lets any MCP-capable AI assistant run your operations: create and track tasks, launch and advance processes, read and edit templates, fill form fields, manage people and groups, and search across your organization, all through your own authenticated Tallyfy account.
This repository is an automatically published, read-only mirror. The canonical source is maintained privately by Tallyfy and a sanitized, server-only snapshot is published here on every production release. Please do not open pull requests against this mirror (they cannot be merged here). For bugs or feature requests, use the issue tracker or contact us (see Support). Hosting, deployment, and monitoring code is intentionally not part of this mirror.
Tallyfy runs a managed remote server. You do not need to host anything. Point your MCP client at:
https://mcp.tallyfy.com/
Transport is streamable HTTP and authentication is OAuth against your Tallyfy account, so the assistant only ever sees data the signed-in user is allowed to see.
{
"mcpServers": {
"tallyfy": {
"type": "streamable-http",
"url": "https://mcp.tallyfy.com/"
}
}
}
108 tools across the Tallyfy domain, grouped by area:
| Area | Examples |
|---|---|
| Tasks | create, complete, reassign, comment on, and search tasks |
| Processes (runs) | launch a process from a template, advance and track steps |
| Templates (checklists) | read, create, and edit templates and their steps |
| Form fields | read and populate kick-off and step form fields |
| Automation | inspect and manage automated actions / rules |
| People & access | users, groups, guests, organization membership |
| Organization | tags, folders, comments, search across the org |
Every tool calls the public Tallyfy API on behalf of the authenticated user. There are no write operations the signed-in user could not perform in the Tallyfy app directly.
You can build and run the server from this mirror with Docker:
cd server
cp ../.env.example .env # then fill in the values you need
docker build -t tallyfy-mcp-server .
docker run --rm -p 9000:9000 --env-file .env tallyfy-mcp-server
The server listens on port 9000 and speaks streamable HTTP at /. See .env.example for configuration. Python 3.11 is required if you prefer to run it without Docker (pip install -r server/requirements.txt, then uvicorn server:app from inside server/).
com.tallyfy/mcp-server)Tools are scoped to the authenticated user, inputs are validated and the outbound API surface is allowlisted. We disclose no static credentials in this repository: all secrets are supplied at runtime via environment variables. If you find a security issue, please email security@tallyfy.com rather than opening a public issue.
Apache License 2.0 © Tallyfy, Inc.