create_task
Create a new task in Planview Portfolios by specifying a task description and parent work entity key. Supports optional fields for schedule dates, duration, and milestone settings.
Instructions
[LOCAL — write operation via SOAP. Beta MCP cannot create tasks.]
Create a new task using SOAP TaskService.
Creates a task (planning entity below PPL) in Planview Portfolios using the SOAP API.
Args: task_data: Task data dictionary with TaskDto2 fields. Required fields: - Description: Task description (required) - FatherKey: Parent work entity key URI (required) Optional fields: - Key: External key URI (recommended to prevent duplicates) - ScheduleStartDate: Schedule start date (ISO 8601) - ScheduleFinishDate: Schedule finish date (ISO 8601) - Duration: Duration in minutes - CalendarKey: Calendar key URI - EnterProgress: Enable manual progress entry (bool) - IsMilestone: Is this a milestone (bool) - IsTicketable: Can create tickets (bool) - IsDeliverable: Is deliverable (bool) - PercentComplete: Percent complete (0-100) - WorkId: Work ID string - WorkStatusKey: Work status key URI - LifecycleAdminUserKey: Lifecycle admin user key URI - Notes: Task notes - Place: Task place/order options: Optional WorkOptionsDto dictionary: - CopyMissingValuesFromPlanview: Copy missing values from existing record (bool) - RollupActuals: Roll up actuals to parent (bool) - ClearStagingTableAfterRun: Clear staging table after run (bool, default: True)
Returns: Dict with: - success: True if operation succeeded - data: Task DTO (may have null fields - this is normal SOAP API behavior) - warnings: List of non-fatal warnings
Note: The SOAP API may return null for many fields (e.g., ScheduleStartDate, Duration)
even though the task was created successfully with those values. This is expected behavior.
Use read_task() to verify the task was created with the correct data.Raises: PlanviewValidationError: If task data is invalid PlanviewAuthError: If authentication fails PlanviewError: For other errors
Examples: Minimal (required fields only): {"Description": "My Task", "FatherKey": "key://2/$Plan/12345"}
With external key (recommended to prevent duplicates):
{
"Description": "My Task",
"FatherKey": "key://2/$Plan/12345",
"Key": "ekey://2/namespace/task-1"
}
With schedule dates:
{
"Description": "My Task",
"FatherKey": "key://2/$Plan/12345",
"ScheduleStartDate": "2024-01-01T08:00:00",
"ScheduleFinishDate": "2024-01-15T17:00:00"
}Notes: - Field names must use PascalCase (e.g., FatherKey, not father_key) - Date format: ISO 8601 (YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD) - Fields are automatically sorted alphabetically (Planview requirement) - None values are automatically filtered - Use external key (ekey://) to prevent duplicate creation
Known SOAP API Behaviors: - Response fields may be null: The SOAP API doesn't always populate all fields in the response DTO, even though the task was created successfully with those values. This is normal. The task IS created correctly in Planview - use read_task() to verify. - Warnings are non-fatal: Warnings indicate configuration issues but don't prevent creation. Check the warnings array in the response for details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional WorkOptionsDto. | |
| task_data | Yes | TaskDto2 fields (Description, FatherKey, ...). |