create_task
Add one task to an existing Onplana project, with an optional assignee, due date, priority and description. Fits "add a task to book the venue by Friday" or "remind me to send the invoice next week" once the project is known. projectId and title are required; list_projects with search finds a project known only by name. A subtask is a task whose parentId is its parent's id. add_subtasks creates 2+ children under the same parent in one atomic call, and instantiate_plan commits a whole project with tasks and risks at once. Pass recurringRule to create a repeating task in one call (set dueDate too). The result includes url, a direct link to the task in Onplana. ALWAYS show it in your reply so the user can open what you just created.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Task title, 1–500 chars. Required. | |
| epicId | No | Optional epic grouping. | |
| status | No | Default TODO. | |
| dueDate | No | ISO date the work must finish. | |
| parentId | No | Parent task id for subtasks. | |
| priority | No | Priority label (LOW/MEDIUM/HIGH/CRITICAL) that people set to rank work. It is not the critical path: the schedule engine computes that from dependencies, durations and the calendar, and priority does not change it. Default MEDIUM. | |
| progress | No | 0–100; default 0. | |
| sprintId | No | Optional sprint to scope the task to. | |
| projectId | Yes | Project id to create the task in. Required. | |
| startDate | No | ISO date the work can start. | |
| assigneeId | No | User id to assign. Must be a member of the org. | |
| description | No | Optional description, up to 10000 chars. | |
| isMilestone | No | Mark as a milestone (shown as a diamond on Gantt). | |
| assigneeName | No | Alternative to assigneeId - full name, first name, or email of an org member. Resolved fuzzy; ignored when assigneeId is also set. | |
| collaborators | No | People who work on the task besides its assignee, by user id, name or email. They see it in My Work and may update it but not reassign it. Added after the task is created; anyone who cannot be added is reported in warnings. | |
| recurringRule | No | Make the task recurring: { freq: daily|weekly|monthly, interval: int>=1, endDate?: ISO|null }. Omit (or null) for a one-off task. The recurringWorker spawns the next occurrence from the due/start date, so set dueDate (or startDate) too. | |
| estimatedHours | No | Estimated hours of effort. | |
| idempotencyKey | No | Optional idempotency key. Pass a stable unique value (e.g. a UUID) to make this create safe to retry: calling again with the same key within 24h - even from a new session after a reconnect - replays the original result and creates no duplicate. Org-scoped; works across conversations. |