create_task
Add new tasks to project boards in FluentBoards by specifying board ID, title, and optional details like description and stage assignment.
Instructions
Create a new task
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| board_id | Yes | Board ID | |
| title | Yes | Task title | |
| description | No | Task description | |
| stage_id | No | Stage ID (optional) |
Implementation Reference
- src/tools/tasks.ts:37-70 (registration)Full registration of the 'create_task' tool, including name, description, input schema using Zod, and the async handler function that creates the task via API.server.tool( "create_task", "Create a new task", { board_id: z.number().int().positive().describe("Board ID"), title: z.string().min(1).describe("Task title"), description: z.string().optional().describe("Task description"), stage_id: z .number() .int() .positive() .optional() .describe("Stage ID (optional)"), }, async (args) => { const { board_id, title, description, stage_id } = args; const taskData: any = { title, board_id, }; if (description) { taskData.description = formatText(description); } if (stage_id) { taskData.stage_id = stage_id; } const response = await api.post(`/projects/${board_id}/tasks`, { task: taskData }); return formatResponse(response.data); } );
- src/tools/tasks.ts:51-69 (handler)The core handler logic: destructures arguments, builds task data (title, board_id, optional description formatted and stage_id), POSTs to API endpoint `/projects/${board_id}/tasks`, formats and returns the response.async (args) => { const { board_id, title, description, stage_id } = args; const taskData: any = { title, board_id, }; if (description) { taskData.description = formatText(description); } if (stage_id) { taskData.stage_id = stage_id; } const response = await api.post(`/projects/${board_id}/tasks`, { task: taskData }); return formatResponse(response.data); }
- src/tools/tasks.ts:40-50 (schema)Inline Zod input schema for the create_task tool parameters.{ board_id: z.number().int().positive().describe("Board ID"), title: z.string().min(1).describe("Task title"), description: z.string().optional().describe("Task description"), stage_id: z .number() .int() .positive() .optional() .describe("Stage ID (optional)"), },
- src/types/index.ts:21-26 (schema)Zod schema and TypeScript type definition for CreateTask, matching the tool's input schema (used for type safety elsewhere).export const CreateTaskSchema = z.object({ board_id: z.number().int().positive(), title: z.string().min(1), description: z.string().optional(), stage_id: z.number().int().positive().optional(), });
- src/index.ts:23-23 (registration)Top-level call to register all task tools, including create_task.registerTaskTools(server);