AI Modifications
Applies to: Free · Pro · Enterprise Last updated: 08-Jun-2026
Overview
Beyond answering questions, the AI Copilot can make targeted edits to your schedule. It has access to 26 write tools and 4 bulk tools covering activities, relationships, WBS, resources, calendars, activity codes, UDFs, and project settings. All modifications require your explicit approval through a confirmation card before they are applied.
Every change is fully undoable with Ctrl + Z.
Activity Operations
update_activity
Change a single field on one activity — name, duration, dates, status, percent complete, constraints, calendar, or priority.
| Parameter | Required | Description |
|---|---|---|
taskCode | No | Activity ID (e.g., "A1020") |
taskId | No | Internal ID |
field | Yes | Field name to update |
value | Yes | New value (auto type-coerced) |
Risk: Medium
add_activity
Create a new activity under a WBS node. Supports all activity types: Task, Milestone, Finish Milestone, LOE, WBS Summary, and Resource Dependent.
| Parameter | Required | Description |
|---|---|---|
wbsId / wbsName | No | Target WBS node |
taskCode | No | Activity ID (auto-generated if omitted) |
taskName | Yes | Activity name |
durationDays | No | Duration in work days |
taskType | No | TT_Task, TT_Mile, TT_FinMile, TT_LOE, TT_WBS, TT_Rsrc |
calendarId | No | Calendar (uses project default if omitted) |
constraintType / constraintDate | No | Primary constraint |
constraintType2 / constraintDate2 | No | Secondary constraint |
targetStartDate / targetEndDate | No | Explicit target dates |
durationType | No | DT_FixedDrtn, DT_FixedUnits, DT_FixedQty, DT_FixedDUR2 |
completePctType | No | CP_Drtn, CP_Phys, CP_Units |
priority | No | 0–999 (default 500) |
Risk: Medium
delete_activity
Remove an activity and all its relationships (predecessors and successors). Destructive.
| Parameter | Required | Description |
|---|---|---|
taskCode | No | Activity ID |
taskId | No | Internal ID |
Risk: High
move_activity
Move an activity to a different WBS node.
| Parameter | Required | Description |
|---|---|---|
taskCode / taskId | No | Activity to move |
targetWbsId / targetWbsName | No | Destination WBS node |
Risk: Medium
duplicate_activity
Create a deep copy of an activity, optionally copying relationships and resource assignments.
| Parameter | Required | Description |
|---|---|---|
taskCode / taskId | No | Source activity |
copyRelationships | No | Copy predecessors (default false) |
copyAssignments | No | Copy resource assignments (default false) |
newTaskCode | No | Code for the copy (auto-generated if omitted) |
targetWbsId / targetWbsName | No | Place copy under different WBS |
Risk: Medium
dissolve_activity
P6-style dissolve — removes the activity and re-wires its predecessors directly to its successors with FS relationships.
| Parameter | Required | Description |
|---|---|---|
taskCode / taskId | No | Activity to dissolve |
Risk: High
Example prompts:
- "Change the duration of A1020 to 15 days"
- "Add a new milestone called 'Handover' under WBS 1.4"
- "Move activity A2050 to WBS 2.1"
- "Dissolve activity A3010 and reconnect its logic"
- "Duplicate A1020 with its relationships"
Relationship Operations
add_relationship
Create a dependency (FS, SS, FF, or SF) between two activities with optional lag.
| Parameter | Required | Description |
|---|---|---|
predecessorCode | Yes | Predecessor task code or ID |
successorCode | Yes | Successor task code or ID |
type | Yes | PR_FS, PR_SS, PR_FF, or PR_SF |
lagDays | No | Lag in work days (negative for lead) |
Risk: Medium
delete_relationship
Remove a dependency between two activities.
| Parameter | Required | Description |
|---|---|---|
predecessorCode | Yes | Predecessor task code or ID |
successorCode | Yes | Successor task code or ID |
type | No | Relationship type to delete |
Risk: Medium
update_relationship
Change the relationship type or lag value on an existing dependency.
| Parameter | Required | Description |
|---|---|---|
predecessorCode | Yes | Predecessor code or ID |
successorCode | Yes | Successor code or ID |
currentType | No | Current relationship type (to identify which to update) |
newType | No | New relationship type |
lagDays | No | New lag in work days |
Risk: Medium
Example prompts:
- "Add a FS relationship from A1020 to A1030 with 5-day lag"
- "Change the lag on the A1020→A1030 relationship to 3 days"
- "Delete the relationship between A2010 and A2020"
WBS Operations
add_wbs
Create a new WBS node under an existing parent.
| Parameter | Required | Description |
|---|---|---|
parentWbsId / parentWbsName | No | Parent WBS node |
name | Yes | Full WBS name |
shortName | No | Short name / code |
Risk: Medium
rename_wbs
Change the short name or full name of a WBS node.
| Parameter | Required | Description |
|---|---|---|
wbsId / wbsName | No | WBS node to rename |
newName | No | New full name |
shortName | No | New short name / code |
Risk: Medium
delete_wbs
Remove an empty WBS node. Fails if the node has activities or child WBS nodes — reassign or delete them first.
| Parameter | Required | Description |
|---|---|---|
wbsId / wbsName | No | WBS node to delete |
Risk: High
move_wbs
Move a WBS node (and all its children and activities) under a different parent.
| Parameter | Required | Description |
|---|---|---|
wbsId / wbsName | No | WBS node to move |
newParentWbsId / newParentWbsName | No | New parent |
Risk: High
Example prompts:
- "Create a new WBS node called 'Testing' under WBS 1.3"
- "Rename WBS 2.1 to 'Mechanical'"
- "Move WBS 1.4 under WBS 2.0"
Resource Operations
add_resource
Create a new resource in the project pool (Labour, Equipment, or Material).
| Parameter | Required | Description |
|---|---|---|
shortName | Yes | Resource code (e.g., "ENG-01") |
name | Yes | Full name (e.g., "Site Engineer") |
type | Yes | RT_Labor, RT_Mat, or RT_Equip |
title | No | Role description |
standardRate | No | Hourly rate |
overtimeRate | No | Overtime hourly rate |
maxQtyPerHr | No | Max units per hour (default 1) |
Risk: Medium
delete_resource
Remove a resource from the pool. Fails if the resource still has assignments — unassign first.
| Parameter | Required | Description |
|---|---|---|
resourceName / resourceId | No | Resource to delete |
Risk: High
assign_resource
Assign a resource to an activity with optional budget units and cost.
| Parameter | Required | Description |
|---|---|---|
taskCode | Yes | Activity code |
resourceName / resourceId | No | Resource to assign |
budgetUnits | No | Budget units (target_qty) |
budgetCost | No | Budget cost (target_cost) |
Risk: Medium
unassign_resource
Remove a resource assignment from an activity.
| Parameter | Required | Description |
|---|---|---|
taskCode | Yes | Activity code |
resourceName / resourceId | No | Resource to remove |
Risk: Medium
Example prompts:
- "Add a labour resource called 'Electrician' at $45/hr"
- "Assign 'Electrician' to activities A2010 and A2020"
- "Remove the crane assignment from A3050"
Activity Code Operations
add_activity_code_type
Create a new code type (e.g., "Phase", "Discipline", "Area").
| Parameter | Required | Description |
|---|---|---|
codeTypeName | Yes | Name for the new code type |
Risk: Medium
add_activity_code_value
Add a value under an existing code type, with optional colour.
| Parameter | Required | Description |
|---|---|---|
codeTypeName | Yes | Code type name |
shortName | Yes | Short name / code (e.g., "PH2") |
codeName | Yes | Full name (e.g., "Phase 2 — Construction") |
color | No | Hex colour (e.g., "#FF5500") |
Risk: Medium
assign_activity_code
Assign a code value to an activity.
| Parameter | Required | Description |
|---|---|---|
taskCode | Yes | Activity code |
codeTypeName | Yes | Code type name |
codeValueName | Yes | Code value short name |
Risk: Medium
unassign_activity_code
Remove a code assignment from an activity.
| Parameter | Required | Description |
|---|---|---|
taskCode | Yes | Activity code |
codeTypeName | Yes | Code type name to remove |
Risk: Medium
Example prompts:
- "Create a code type called 'Discipline'"
- "Add values 'Civil', 'Mechanical', 'Electrical' to the Discipline code"
- "Assign Discipline = Mechanical to all activities under WBS 2.1"
UDF Operations
set_udf_value
Set a user-defined field value on an activity.
| Parameter | Required | Description |
|---|---|---|
taskCode | Yes | Activity code |
udfName | Yes | UDF type name |
value | Yes | New value (string, number, or ISO date) |
Risk: Medium
Example prompts:
- "Set the 'Priority' UDF to 'High' on activity A1050"
Project Settings
update_project
Change project-level settings: name, data date, planned start/finish dates, default calendar, or project status.
| Parameter | Required | Description |
|---|---|---|
projectName | No | New project name |
projectShortName | No | New short name / code |
dataDate | No | New data date (ISO or human-readable) |
planStartDate | No | New planned start date |
planEndDate | No | New planned end date |
calendarId | No | Default calendar ID |
statusCode | No | PS_Active, PS_Inactive, PS_WhatIf, PS_Planned |
Risk: High
Example prompts:
- "Move the data date to 15-Jul-2025"
- "Change the project name to 'Phase 2 Expansion'"
Schedule Calculation
recalculate_schedule
Trigger CPM forward/backward pass recalculation. Run this after making multiple schedule changes to update early/late dates, float, and the critical path.
No parameters required.
Risk: Medium
Example prompts:
- "Recalculate the schedule"
- "Run the CPM calculation"
Schedule Generation & Import
plan_project_generation
Generate a complete project from an industry template. Creates WBS, activities, relationships, and milestones based on project type, name, duration, scope, and complexity. See Project Generation for details.
Risk: Medium
import_schedule
Import a user-provided schedule structure (WBS nodes, activities, and relationships) into the project in a single atomic batch. Used when the AI parses a schedule from pasted text or documents.
Risk: Medium
Bulk Operations
Bulk tools affect many activities at once. Review the confirmation card carefully before clicking Apply All.
bulk_update_activities
Apply field updates to multiple activities at once. Each update specifies the activity and the field/value pairs to change. Use for paste-from-Excel scenarios, progress updates, and batch field changes.
| Parameter | Required | Description |
|---|---|---|
updates | Yes | Array of { taskCode, taskId, fields: { field: value } } |
Risk: High
bulk_transform_field
Pattern-based transformation across multiple activities: sequential numbering, find/replace, set all to same value, prefix, or suffix. Scope by all activities, WBS, codes, or current filter.
| Parameter | Required | Description |
|---|---|---|
field | Yes | Field to transform (e.g., task_code, task_name) |
transform | Yes | { type, template, start, step, padLength, find, replace, value, text } |
scope | No | { type: 'all' / 'wbs' / 'codes' / 'filter', wbsName, taskCodes, statusFilter } |
orderBy | No | wbs_order, start_date, code, or name |
Risk: High
apply_progress
Apply actuals and progress data to activities: actual start, actual finish, percent complete, and remaining duration. Automatically infers the status code.
| Parameter | Required | Description |
|---|---|---|
progressEntries | Yes | Array of { taskCode, actualStart, actualFinish, percentComplete, remainingDurationDays } |
Risk: High
make_at_completion_equal_budget
Set at-completion values equal to budget values for resource assignments. Adjusts remaining quantity = target quantity − actual quantity.
| Parameter | Required | Description |
|---|---|---|
scope | Yes | all, selected, wbs, or active_only |
wbsId | No | WBS filter (when scope = "wbs") |
taskCodes | No | Specific activities (when scope = "selected") |
Risk: High
Example prompts:
- "Set all activities under WBS 1.2 to 50% complete"
- "Renumber all activity codes sequentially starting from A1000"
- "Apply 100% progress to activities A1010 through A1020"
- "Make at-completion equal to budget for all active activities"
- "Paste this Excel data into the schedule" (followed by tabular data)
Tips & Best Practices
- Start with read tools — ask "show me activities under WBS 1.3" before saying "update all their durations to 10 days".
- Review the confirmation card — especially for bulk operations that affect many activities.
- Use specific identifiers — refer to activities by their task code (e.g., "A1020") for precise targeting.
- Recalculate after structural changes — ask the AI to recalculate, or press F9 manually.
- Paste tabular data — copy rows from Excel and paste them into the chat. The AI parses columns and confirms before applying.
- Undo immediately — press Ctrl + Z if an applied change isn't what you expected.