Skip to main content
Glama

dooray_workflows

Manage Dooray project workflows by listing, viewing details, creating, updating, or deleting workflows to organize and automate project processes.

Instructions

Manage Dooray workflows - list project workflows, get workflow details, create, update, delete workflows

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform on workflows
workflowIdNoWorkflow ID (required for get/update/delete)
nameNoWorkflow name (for create/update)
projectIdNoProject ID (optional - uses default from environment if not provided)

Implementation Reference

  • The WorkflowsTool class provides the main handler for the 'dooray_workflows' tool, dispatching to specific workflow actions (list, get, create, update, delete) based on input arguments.
    class WorkflowsTool: """Handle Dooray workflow operations.""" def __init__(self, client: DoorayClient): self.client = client async def handle(self, args: Dict[str, Any]) -> Dict[str, Any]: """Handle workflow tool calls.""" action = args.get("action") if action == "list": return await list_workflows( self.client, args.get("projectId") ) elif action == "get": return await get_workflow_details( self.client, args["workflowId"], args.get("projectId") ) elif action == "create": return await create_workflow( self.client, args["name"], args.get("projectId") ) elif action == "update": return await update_workflow( self.client, args["workflowId"], args["name"], args.get("projectId") ) elif action == "delete": return await delete_workflow( self.client, args["workflowId"], args.get("projectId") ) else: raise ValueError(f"Unknown action: {action}")
  • Input schema definition for the 'dooray_workflows' tool, specifying actions and required parameters.
    types.Tool( name="dooray_workflows", description="Manage Dooray workflows - list project workflows, get workflow details, create, update, delete workflows", inputSchema={ "type": "object", "properties": { "action": { "type": "string", "enum": ["list", "get", "create", "update", "delete"], "description": "Action to perform on workflows" }, "workflowId": { "type": "string", "description": "Workflow ID (required for get/update/delete)" }, "name": { "type": "string", "description": "Workflow name (for create/update)" }, "projectId": { "type": "string", "description": "Project ID (optional - uses default from environment if not provided)" } }, "required": ["action"] } )
  • Tool registration and invocation in the main handle_call_tool function, instantiating WorkflowsTool and calling its handle method.
    elif name == "dooray_workflows": tool = WorkflowsTool(dooray_client) result = await tool.handle(args)
  • Helper function to list workflows for a project via Dooray API.
    async def list_workflows(client: DoorayClient, project_id: Optional[str] = None) -> Dict[str, Any]: """ List all workflows for a project Args: client: DoorayClient instance project_id: Project ID (optional - uses default from environment if not provided) Returns: Dictionary containing workflow list response """ # Use default project ID if not provided if not project_id: project_id = client.project_id if not project_id: raise ValueError("Project ID must be provided either as parameter or environment variable") endpoint = f"/project/v1/projects/{project_id}/workflows" return await client.get(endpoint)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tallpizza/dooray-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server