Mutation Object
Fields
#
bulkUpdateActionsType
requestActionUpdate
bulkUpdateActionsPriorityLevelId
Update priority level for multiple actions at once.
Always call getPriorityLevels before calling this function to get the priority level IDs and ensure that priorityLevelId exists.
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- priorityLevelId: The ID of the priority level to set (null to unset)
- shouldUpdateRecurring: Optional flag to update recurring instances
Returns: Boolean indicating success
copyAction
Copy/duplicate an action including its subactions, attachments, approval rounds, and dependencies. Returns the newly created action.
bulkUpdateActionsTitle
Update titles for multiple actions at once
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- title: The new title to set
- shouldUpdateRecurring: Optional flag to update recurring instances
- allowEmpty: Optional flag to allow empty titles
Returns: Boolean indicating success
bulkUpdateActionsTitles
Update different titles for multiple actions at once
Access: Requires user access to all actions
Parameters:
- actionTitleUpdates: Array of {actionId, title} pairs to update
- workspaceId: The ID of the workspace
Behavior:
- Empty titles are not allowed (will throw error)
- Only updates the specific actions in the batch (does not update recurring series)
Returns: Boolean indicating success
bulkUpdateActionDescription
Update descriptions for multiple actions at once
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- description: The new description to set in HTML format. Must be a valid HTML string. Use the corresponding markdown (
- for lists,
for code blocks, etc). Code blocks should be contained in a single tag. Ignored if 'markdownDescription' is also provided. - markdownDescription: The new description to set in Markdown format. Converted to HTML before storage. Use this instead of 'description' when the content is authored in Markdown.
Returns: Boolean indicating success
updateActionProject
Update the project for an action
Access: Requires user access to the action and target project
Parameters:
- actionId: The ID of the action to update
- projectId: The ID of the new project (null to unset)
- rank: Optional rank for the action in the new project
Returns: The updated action
bulkUpdateActionStatus
Update status for multiple actions at once.
ALWAYS look for existing statuses in the project. Only add statuses if they're definitely different from the existing ones. Otherwise, don't add them and use the existing ones that have the same meaning.
Examples: Project has statuses: "To Do", "In Progress", "Review feedback", "Done"
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- status: The new status to set
- rankInput: Optional rank information for repositioning
- shouldUpdateChildren: Optional flag to update child actions
Returns: Boolean indicating success
updateActionAssignees
Update assignees for an action
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to update
- assignees: Optional array of user IDs to assign ['none'] to unassign
- placeholderAssignees: Optional array of placeholder IDs to assign
- teamAssignee: Optional team ID to assign
- rankInput: Optional rank information for repositioning
- shouldUpdateChildren: Optional flag to update child actions (default: false)
- externalAssigneeName: Optional name for external assignee
- isAutomated: Optional flag to indicate automated update
Returns: The updated action
updateActionLabels
Update labels for an action
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to update
- labels: Optional array of label IDs to set, ['none'] to remove all
- rankInput: Optional rank information for repositioning
- shouldUpdateChildren: Optional flag to update child actions
- isAutomated: Optional flag to indicate automated update
Returns: The updated action
updateActionsMilestone
updateActionGithubBranchNames
Update the GitHub branch names associated with an action
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to update
- githubBranchNames: An array of branch names in the format "Repo:branch-name"
Returns: The updated action
appendHighwayGateResult
Append a highway gate result to an action's highway log. Used by Highway autonomous pipeline agents after each gate completes.
Access: Requires user access to the action. Errors: Throws if user is not logged in or lacks action access.
updateActionGitlabBranchNames
Update the GitLab branch names associated with an action
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to update
- gitlabBranchNames: An array of branch names in the format "Repo:branch-name"
Returns: The updated action
insertAction
Used to create new actions and subactions
Access: Requires user access as well as workspace ID and project ID access.
Errors: Throws error if user does not have access to workspace or project.
bulkInsertActions
Batch insert actions and return the inserted action ids Access: Requires user access to the workspace and projects. Won't add actions to projects that user doesn't have access to. If the user uses phrases like "on my list" or otherwise implies the actions are for themselves, assume the user is the assignee by default. Errors: Throws error if user does not have access to workspace.
setTimeTrackingItemToAction
Add or edit time tracking item for action
Access: Requires user access to the underlying action and related project
Errors: Throws error if user does not have access to action or project.
setActionEstimatedTime
Used to create new action and subaction estimates
Access: Requires user access to the underlying action
Errors: Throws error if user does not have access to action.
bulkUpdateActionLabels
Update labels for the provided action IDs.
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- labelIds: Array of label IDs to add or remove
- operation: The operation to perform (ADD, REMOVE)
- shouldUpdateChildren: Boolean to update children
- shouldUpdateRecurring: Boolean to update recurring
Returns: Boolean indicating success
bulkUpdateActionsAssignees
Update actions assignees in bulk
IMPORTANT:
- Set operation will override existing assignees and placeholder assignees.
- Add/pull operation will add/pull assignees and placeholder assignees to existing ones.
The set and add/pull parameters are mutually exclusive. If you want to set the assignees, you should not pass any of the add/pull parameters. If you want to add or pull assignees, you should not pass the set parameter.
Access: Requires user access to all actions
Parameters:
- actionIds: Array of action IDs to update
- workspaceId: The ID of the workspace
- assigneesToSet: Array of user IDs to assign
- assigneesToAdd: Array of user IDs to add
- assigneesToPull: Array of user IDs to remove
- teamAssignee: The ID of the team to assign
- placeholderAssigneesToSet: Array of placeholder IDs to assign
- placeholderAssigneesToAdd: Array of placeholder IDs to add
- placeholderAssigneesToPull: Array of placeholder IDs to remove
- privacy: The privacy of the action
- shouldUpdateChildren: Boolean to update children
- shouldUpdateRecurring: Boolean to update recurring
- updatePlaceholderAssignees: Boolean to update placeholder assignees
- currentAssigneeId: The ID of the current assignee
Returns: Boolean indicating success
setStoryPoints
Set the agile story point value for an action
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to update
- storyPoints: The new story point value
updateActionSnoozeDate
Update the snooze date for an action.
Snoozing an action temporarily hides it from the user's task list until the specified date. Pass null for snoozeDate to unsnooze (clear the snooze).
Access: Requires user access to the action
Parameters:
- actionId: The ID of the action to snooze
- snoozeDate: The date to snooze until (pass null to unsnooze)
Returns: The updated Action object with the new snoozeDate
bulkUpdateActionCustomFields
Updates a custom field value for multiple actions at once.
This mutation allows you to set or clear the value of a custom field across multiple actions. You must first call getCustomFields to retrieve available custom fields and their types for the workspace.
Important: Use only ONE value parameter based on the custom field type:
To clear a custom field value: Pass null or an empty value for the corresponding parameter.
Access: Requires user access to all specified actions
Returns: Array of updated Action objects with the new custom field values
Errors:
- Throws error if user doesn't have access to any of the actions
- Throws error if custom field doesn't exist
- Throws error if value type doesn't match the custom field type
updateActionCustomField
Updates a custom field value for a specific action.
This mutation allows you to set or update the value of a custom field that has been assigned to an action. The mutation supports all custom field types including text, number, date, select (single/multi), user, and project fields.
Access: Requires user access to the action
Returns: The updated Action object with the new custom field value
Errors:
- Throws error if user doesn't have access to the action
- Throws error if custom field doesn't exist
- Throws error if custom field is not enabled for the action's project
- Throws error if value type doesn't match the custom field type
deleteCustomField
Permanently deletes a custom field from the workspace.
This mutation removes a custom field definition and optionally removes all existing values of this field from actions and projects. This is a destructive operation that cannot be undone.
Access: Requires workspace admin access
Returns: The deleted CustomField object (marked as deleted)
Errors:
- Throws error if user doesn't have workspace admin access
- Throws error if custom field doesn't exist
- Throws error if custom field is already deleted
bulkUpsertCustomFields
Creates or updates multiple custom fields at once.
It can be used to upsert custom fields for a project or an action.
Parameters:
- workspaceId: Required. The ID of the workspace to upsert custom fields for.
- customFields: Required. An array of custom fields to upsert.
Examples:
- Create a custom field (text type) for a project:
{ "workspaceId": "TCB9NnnbcC4BEc2rF", "customFields": [ { "allowMultiSelect": false, "_id": "d6JfiYb34mMb5zNqL", "label": "Test Project Field", "dropdownValues": [], "formula": null, "type": "text", "itemType": "project", "onlyAdminEditable": false, "jiraCustomFieldId": "", "groupIds": [] } ] }
- Create a custom field (number type) for an action:
{ "workspaceId": "TCB9NnnbcC4BEc2rF", "customFields": [ { "allowMultiSelect": false, "_id": "y7RCztztQ4D36GKk5", "label": "asasas", "dropdownValues": [], "formula": "Test Action Field", "type": "number", "itemType": "action", "onlyAdminEditable": false, "jiraCustomFieldId": "", "groupIds": [] } ] }
When creating custom fields the _id field is generated server-side automatically, so you don't need to provide it. When updating custom fields you must provide old _id and new field data (old field data with new values).
insertGroup
Creates a new group.
It's very useful when there are no group that has the needed members.
Access: Requires user access to the workspace.
Parameters:
- workspace: ID of the workspace
- members: Array of user IDs
- teams: Array of team IDs
- name: Name of the group
- oneToOne: @deprecated do not use this parameter, use 'type' instead
- type: 'dm' (direct message) or 'group' (group chat) or 'thread'
- projectId: ID of the project
Examples:
- Creating a direct message: insertGroup( workspace members: ['user-id-1' (you), 'user-id-2' (other user)] type: 'dm' )
- Creating a group chat: insertGroup( workspace members: ['user-id-1' (you), 'user-id-2' (other user), 'user-id-3' (other user)] type: 'group' )
insertMessage
Creates a new message in a container (group, action, note, goal, or post).
Access: Requires user access to the container (or workspace if you are inserting using participants)
Parameters:
- _id: Random ID
- workspaceId: ID of the workspace (required for inserting in group container type using participants)
- containerId: ID of the container (id of group, action, note, goal, or post)
- containerType: Type of the container (group, action, note, goal, or post). You should always specify this parameter to avoid errors and confusion.
- body: body of the message, including mentions using <@userId> where userId is the actual userId
- mentions: Array of mentioned user IDs
- attachments: Array of file attachments
- userMentionsByGroup: Array of mentioned group IDs
- userMentionsByTeam: Array of mentioned team IDs
Examples:
- Creating a message in a chat if you know group id: insertMessage( _id containerId - Group ID containerType - 'group' body mentions attachments body = "Hello <@sMoHY5KwWt44Xm8Sw>, how are you?" )
- Creating a message in a DM chat if you know only participants and don't know containerId: insertMessage( _id workspaceId - required for inserting using participants participants - Array of user ids containerType - 'group' mentions attachments body = "Hello <@sMoHY5KwWt44Xm8Sw>, how are you?" )
- Creating a comment in an action: insertMessage( _id containerId - Action ID containerType - 'action'. mentions = ["sMoHY5KwWt44Xm8Sw"] attachments body = "Hello <@sMoHY5KwWt44Xm8Sw>, how are you?" )
Returns the created message with all computed fields.
updateProjectDescription
updateMembersPermissions
Add or remove members to/from a project.
Common use cases:
- Add a new member to a project
- Remove a member from a project
- Update the permission of a member
- Update the sharing type of a member
- Update the automated status of a member
Parameters:
- projectId: Required. The ID of the project to update members permissions for
- memberIds: Optional. The IDs of the users to add as members
- teamIds: Optional. The IDs of the teams to add as members
- permission: Required. The permission to set for the members.
- sharingType: Required. The sharing type to set for the members.
- isAutomated: Optional. Whether the update is automated. Default is false.
Examples:
- Add a new member to a project
- projectId: 123
- memberIds: [456]
- permission: 'FULL_ACCESS'
- sharingType: 'custom'
- isAutomated: false
- Remove a member from a project
- projectId: 123
- memberIds: [456]
- permission: 'REMOVE'
- sharingType: 'custom'
- isAutomated: false
restoreDeletedProject
Used to restore deleted projects in the trash bin
Access: Requires project access
Errors: Throws error if user doesn't have access to the project
updateProjectsCustomFields
Enables custom fields for specific projects.
This should be used to enable only project itemType custom fields.
Parameters:
- projectIds: Required. The IDs of the projects to add the custom fields to
- workspaceId: Required. The ID of the workspace to add the custom fields to
- fields: Required. The custom fields to add to the projects
disableProjectsCustomFields
Disables custom fields for specific projects.
This should be used to disable only project itemType custom fields.
Parameters:
- customFieldIds: Required. The IDs of the custom fields to disable
- projectIds: Required. The IDs of the projects to disable the custom fields for
- workspaceId: Required. The ID of the workspace to disable the custom fields for
addActionCustomFields
Enables custom fields for actions in specific projects.
This should be used to enable only action itemType custom fields.
Parameters:
- ids: Required. The IDs of the custom fields to enable
- projectIds: Required. The IDs of the projects to enable the custom fields for
- workspaceId: Required. The ID of the workspace to enable the custom fields for
disableActionCustomFields
Disables custom fields for actions in specific projects.
This should be used to disable only action itemType custom fields.
Parameters:
- customFieldIds: Required. The IDs of the custom fields to disable
- projectIds: Required. The IDs of the projects to disable the custom fields for
- workspaceId: Required. The ID of the workspace to disable the custom fields for
- removeFromActions: Optional. Whether to remove the custom fields from the actions
createProject
Creates a new project in a workspace with comprehensive configuration options.
This is the primary mutation for project creation, supporting both basic project setup and advanced features like copying from existing projects, custom fields, etc.
Access: Requires user access to the workspace
Returns: The newly created Project object with all computed fields
Errors:
- Throws error if user doesn't have access to the workspace
- Throws error if copyFrom project doesn't exist or user lacks access
- Throws error if endDate is before startDate
- Throws error if members don't have workspace access
updateProjectArchived
Update project archived status
Access: Requires user access to the project
Parameters:
- projectId: The ID of the project to update
- archived: The new archived state to set
- includeChildren: Whether to include children in the update
Returns: The updated project
applyProjectTemplate
Apply a project template to an existing project.
This mutation copies settings, structure, and configuration from a template project to a target project based on the importWith flags.
Access: Requires user access to both template and target projects
Returns: The updated target project
convertActionToProject
Convert an action to a project.
This mutation creates a new project from an action, and clones subactions as actions in the new project.
Access: Requires user access to the action and workspace
Parameters:
- actionId: The ID of the action to convert
- projectName: Optional custom name for the new project (defaults to action title)
- parentProjectId: Optional parent project ID to nest the new project under
- deleteOriginalAction: Whether to delete the original action after conversion (default: false)
- applyTemplateId: Optional project template ID to apply to the new project
- sharingType: Project sharing type (me, custom, everyone) - defaults to 'me'
- members: User IDs to add as project members (defaults to current user)
- teams: Team IDs to give access to the project
Returns: The newly created Project object
addStatusToProjectView
This mutation is used to add a status to a specific project. ALWAYS run the setCustomStatusColor mutation (setting status color) to set the color of the status afterwards.
setCustomStatusColor
This mutation is used to set the color of a custom status. ALWAYS run it after the addStatusToProjectView mutation (adding new status) to set the color of the new status. Pick the color that would logically fit the status name (e.g. "In Progress" -> "blue", "Done" -> "green", etc.).
Also could be used separately to update or remove the color of the status.
insertRecurringAction
Create a recurring action. You must call insertActions first to create the action.
Parameters:
- actionId: ID of the action to make recurring (must exist)
- type: Recurrence type (daily, weekly, monthly, annually)
- startDate: Start date in ISO 8601 format
- endDate: End date in ISO 8601 format
- interval: Interval of recurrence (min: 1, max: 12)
- endingType: How recurrence ends (never, after, date)
- endingAfter: Number of occurrences before ending (min: 1, max: 52)
- days: Days of the week (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
- showOnDueDate: Show the action on its due date (default: false)
Access: Requires user access to the action.
Errors: Throws error if action not found or user lacks permission.
unsetRecurringActions
Make actions non-recurring by removing their recurring linkage. Stops future recurring instances from being generated while preserving the action.
Parameters:
- actionIds: Array of action IDs to make non-recurring
- workspaceId: The ID of the workspace
Access: Requires user access to the actions.
Errors: Throws error if user lacks edit permission on the actions.
createReminder
Create a new reminder
Examples:
Create a one time reminder for 5 minutes from now Now: 2025-09-17T20:22:00.000Z { "text": "Remind me to check in on Beta Deploy", "userIds": ["some_user_id"], "recurrenceDefinition": { "type":"daily", "interval":1, "days":["Wed","Thu","Fri","Sat","Sun","Mon","Tue"], "startDate":"2025-09-17T20:27:00.000Z", "endingType":"after", "endingAfter":1 }, "workspaceId": "7driFnaZjDQZndHqs", originType: "buzzThread", originId: "some_buzz_thread_id" }
Create a recurring reminder for every 2 days with no end Now: 2025-09-17T20:22:00.000Z { "text": "Remind me to check in on Beta Deploy", "userIds": ["some_user_id"], "recurrenceDefinition": { "type":"daily", "interval":2, "days":["Wed","Thu","Fri","Sat","Sun","Mon","Tue"], "startDate":"2025-09-17T20:27:00.000Z", "endingType":"never", }, "workspaceId": "7driFnaZjDQZndHqs", originType: "buzzThread", originId: "some_buzz_thread_id" }
submitTimesheets
Used for submit timesheets button timesheets in "timesheet" tab in "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: timesheets array is empty, user is not logged in, user doesn't have access to workspace, user trying to submit timesheets beyond 4 weeks period from start of current week, userId is different from current userId and user is not admin for current workspace, if one of timesheets is locked, approved or waiting for approval
deleteTimesheet
Used for deleting timesheets in "timesheet" tab in "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: not deleted timesheet item doesn't exist, user is not timesheet submitter
recoverTimesheet
Used for recovering timesheets in "timesheet" tab in "Timesheets" app. Right after removing should appear toast with "recover" button
Access: It requires user access.
Errors: Returns specific expected errors if: deleted timesheet item doesn't exist, user is not timesheet submitter and returns null if user doesn't have access to workspace
bulkUpdateTimesheetStatus
Used for approve/request changes of timesheets in "My approvals" tab "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: returns [] if user not logged in or doesn't have access to workspace, related timesheet docs with status different to Unsubmitted not found, user is not timesheet approval
setTimesheetLock
Used for locking/unlocking editing of timesheets in "Manage" tab "Timesheets" app.
Access: Requires workspace admin access
Errors: Returns specific expected errors if: error if user is not workspace admin, returns null if is not logged in or not deleted not history timesheet with status different to Unsubmitted not found
addCreatorComment
Used for creating creator comments in comment modal in "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: not deleted and not marked as history item timesheet doesn't exist, user trying to create comment for timesheet that he didn't create, $text variable is empty string after trim spaces
updateTimesheetComment
Used for updating existing comments in comment modal in "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: not deleted and not marked as history item timesheet doesn't exist, user trying to update comment that he didn't create, $text variable is empty string after trim spaces
deleteTimesheetComment
Used for removing existing comments in comment modal in "Timesheets" app.
Access: It requires user access.
Errors: Returns specific expected errors if: not deleted and not marked as history item timesheet doesn't exist, user trying to delete comment that he didn't create
updateTimeEntry
updateTimeEntryComment
updateTimeCategory
createTimer
Create a new timer, optionally associated with an action
Access: Requires user to be logged in and have access to the workspace. If actionId is provided, the action must belong to the same workspace.
updateTimerStatus
Update timer status (start, pause, or complete)
- start: Sets status to running and adds a new session entry
- pause: Sets status to paused and closes current session entry
- complete: Sets status to completed and closes current session entry
Access: Requires user to be the owner of the timer
updateTimer
Update a timer's action association
Access: Requires user to be the owner of the timer. If actionId is provided, requires access to the new action's workspace.
deleteTimer
Delete a timer (soft delete)
Access: Requires user to be the owner of the timer
insertApprovalRound
Create a new approval round with an initial empty stage for an action. The created stage will have no approvers initially - you'll need to use the deprecated changeApprovalStageApprover mutation to add approvers.
requestApprovals
Request approvals from all approvers in an approval round. Notifies approvers and marks the round as requested. Use this after setting up all stages and approvers to officially request their review.
insertApprovalStage
Add a new empty approval stage to an existing approval round. The created stage will have no approvers initially - you'll need to use the changeApprovalItem mutation to add approvers.
changeApprovalStageApprover
Add or change an approver at a specific position in an approval stage. This is the primary way to assign approvers (users, teams, placeholders, or external approvers) to approval stages. The index parameter specifies which approval slot to update (0 for first approver, 1 for second, etc). If an approver already exists at that index, they will be replaced. If the index is beyond the current array length, a new approval will be added.
applyApprovalTemplate
Apply an existing approval template to an action. Creates all rounds and stages defined in the template with configured approvers. Use this to quickly set up a standard approval workflow on an action. The template defines who needs to approve and in what order. This is the easiest way to add approval workflows - instead of manually creating rounds and stages, just apply a pre-configured template.
createForm
This mutation creates a new form with all its configuration and content. The form can be used to create actions, projects, or send emails based on the target field. Form should use different input elements for different types of data.
createResourcePlaceholder
Create a new resource placeholder for the workspace.
Resource placeholders are virtual team members that can be assigned to projects and actions before actual people are hired or designated for those roles.
IMPORTANT: Only workspace administrators can set billRate and costRate values. Regular users can only set the name and roleTagId.
Use cases:
• Planning projects before hiring specific team members
• Creating role-based assignments in project templates
• Resource planning and capacity management
• Budgeting and cost estimation for future roles
Parameters: • name: Required. The display name for the placeholder (e.g., "Senior Developer", "Marketing Manager") • workspaceId: Required. The workspace where this placeholder will be created • roleTagId: Optional. Associates the placeholder with a specific role/skill tag • billRate: Optional. The hourly billing rate (admin only) • costRate: Optional. The hourly cost rate (admin only)
Returns: The created ResourcePlaceholder object
updateResourcePlaceholder
Update an existing resource placeholder's properties.
This allows modification of placeholder details while preserving the placeholder's identity and existing assignments.
IMPORTANT: Only workspace administrators can modify billRate and costRate values. Regular users can only update the name and roleTagId.
Common use cases: • Refining placeholder role names for clarity • Updating role assignments as requirements change • Adjusting billing/cost rates (admin only) • Associating placeholders with different role tags
Parameters: • id: Required. The ID of the resource placeholder to update • name: Optional. New display name for the placeholder • roleTagId: Optional. New role/skill tag association (can be null to remove) • billRate: Optional. New hourly billing rate (admin only) • costRate: Optional. New hourly cost rate (admin only)
Returns: The updated ResourcePlaceholder object
createResourceAssignment
Create a resource assignment.
IMPORTANT: ALWAYS pass 'fixedDisplayType' and 'allocationType' together. Use assignmentType: 'regular' by default. Use other assignment types only if the user explicitly mentioned another type.
Possible valid combinations ('allocationType' + 'fixedDisplayType'): • 'hoursPerDay' + 'hours' - when you want to allocate hours per day • 'fixedHours' + 'hours' - when you want to allocate total hours • 'fixedHours' + 'days' - when you want to allocate in days (default work day = 8 hours) • 'fixedHours' + 'percentages' - when you want to allocate in percentages (percentage of the default default work day hours, e,g, 50% = 4 hours)
IMPORTANT: ALWAYS pass 'allocationValue' when allocating by percentage. IMPORTANT: ALWAYS pass 'fixedHours' when allocating by hours or days. IMPORTANT: ALWAYS pass 'hoursPerDay' when allocating by hours per day.
Examples: • Duration: 1 day, allocationType = hoursPerDay, fixedDisplayType = hours, allocationValue = 8, hoursPerDay = 8 • Duration: 5 days, allocationType = hoursPerDay, fixedDisplayType = hours, allocationValue = 8, hoursPerDay = 8 • Duration: 1 day, allocationType = fixedHours, fixedDisplayType = hours, allocationValue = 40, fixedHours = 40 • Duration: 5 days, allocationType = fixedHours, fixedDisplayType = hours, allocationValue = 40, fixedHours = 40 • Duration: 1 day, allocationType = fixedHours, fixedDisplayType = percentages, allocationValue = 50 (percents), fixedHours = 8 (default work day hours) * 1 (days) * 0.5 = 4 • Duration: 5 days, allocationType = fixedHours, fixedDisplayType = percentages, allocationValue = 50 (percents), fixedHours = 8 (default work day hours) * 5 (days) * 0.5 = 20 • Duration: 1 day, allocationType = fixedHours, fixedDisplayType = days, allocationValue = 2 (days), fixedHours = 8 (default work day hours) * 2 = 16 • Duration: 5 days, allocationType = fixedHours, fixedDisplayType = days, allocationValue = 2 (days), fixedHours = 8 (default work day hours) * 2 = 16
updateResourceAssignment
Update a resource assignment. ALWAYS use search to find the resource assignment before updating it. If the resource assignment is not found, DONT RUN THE MUTATION. If the resource assignment is found, update resource assignment.
createScheduledMailMessage
Create a scheduled mail message to be sent at a specified time. The message will be stored and processed by the scheduled mail processor.
Access: Requires authenticated user. User must have valid mail provider credentials.
Errors:
- User is not logged in
- Access denied - If the user does not own the specified email address.
updateMeetingUserData
Update meeting user data using diff operations for array fields and direct values for scalars. Array fields (goals, nextSteps, materials, speakerLabels) accept add/remove/update diffs. Scalar fields (customTitle) accept direct values.
createDashboardV2
Creates a new dashboard with typed V2 filter input for Buzz/MCP endpoints. This mutation provides full schema introspection for AI assistants.
updateDashboardV2
Updates an existing dashboard with typed V2 filter input for Buzz/MCP endpoints. This mutation provides full schema introspection for AI assistants.
createDashboardWidget
Creates a new dashboard widget with specified configuration. Common configurations by widget type:
- Chart Widgets (Bar/Line/Pie):
- Set chartType, XAxis, YAxis
- Configure grouping and aggregation
- Set up color schemes
- Use these types of widgets when asked to show something broken down by project, assignee, etc.
- List Widgets (Actions/Projects):
- Define filters (status, assignee, etc.)
- Set up sorting and grouping
- Configure display options
- When user asks to create a widget for all actions assigned to them, create a widget with type 'myActionsList'
- Use these types of widgets when asked to show something in a list format, like actions, projects, etc.
- Status Widgets:
- Specify project or goal
- Configure metrics to display
- Set up refresh intervals
- Custom Widgets:
- Set up embedded content
- Configure interactive elements
- Define data sources
When asked to show something over time, use timeUnitsType and dateRange parameters.
createDashboardWidgetV2
Creates a new dashboard widget using a single input object. V2 replacement for createDashboardWidget — all fields are in CreateDashboardWidgetInput.
updateDashboardWidget
Updates an existing dashboard widget's configuration. Common update scenarios:
- Changing visualization type
- Updating filters or data source
- Modifying appearance settings
- Adjusting metrics or calculations
updateDashboardWidgetV2
Updates an existing dashboard widget using a single input object. V2 replacement for updateDashboardWidget — all fields are in UpdateDashboardWidgetInput.
createGoal
Create a new goal with comprehensive validation rules
IMPORTANT VALIDATION RULES:
Display Type Rules:
- progress: Only works with measurementType null, number, or actions
- number: Only works with measurementType null, number, actions, or overdue
- status: Only works with measurementType status
Measurement Type + Unit Combinations:
- measurementType actions/overdue: Must use measurementUnit actions OR projects
- measurementType number: Must use measurementUnit currency, custom, OR percentage
- measurementType status: Must use measurementUnit subGoals
Measurement Unit + Value + Symbol Rules:
- measurementUnit currency: measurementUnitValue must be one of the supported currency codes (e.g., USD/EUR/JPY/GBP/AUD), symbol $/€/¥/£/AU$ This list is not exhaustive. For additional currencies, specify the ISO 4217 currency code as measurementUnitValue and provide the appropriate symbol. Refer to the application's documentation or configuration for the full list of supported currencies and symbols.
- measurementUnit percentage: measurementUnitValue must be 'percentage', symbol '%'
- measurementUnit actions: measurementUnitValue must be 'actions'
- measurementUnit projects: measurementUnitValue must be 'projects'
- measurementUnit subGoals: measurementUnitValue must be the empty string ("")
- measurementUnit custom: measurementUnitValue can be any string
Action/Project ID Rules:
- actionIds: Requires measurementType actions/overdue + measurementUnit actions + measurementUnitValue 'actions'
- projectIds: Requires measurementType actions/overdue + measurementUnit projects + measurementUnitValue 'projects'
Date Rules:
- Cannot be both ongoingDate AND recurringDate
- Cannot combine ongoingDate with startDate/endDate
- Cannot combine recurringDate with startDate/endDate
- If startDate provided, endDate is required
- startDate must be before endDate
deleteGoal
requestGoalUpdate
updateGoal
Update an existing goal - follows the same validation rules as createGoal
See createGoal mutation for complete validation rule documentation. Key validation reminders:
- actionIds require: measurementType actions/overdue + measurementUnit actions + measurementUnitValue 'actions'
- projectIds require: measurementType actions/overdue + measurementUnit projects + measurementUnitValue 'projects'
- Date combinations: Cannot mix ongoingDate + recurringDate, or ongoingDate/recurringDate + startDate/endDate
- measurementUnit + measurementUnitValue + measurementUnitSymbol must match allowed combinations
insertPost
Creates a new news post.
You can also specify the category of the post and the attachment file id or even predefined reactions to post.
Access: Requires user access to the workspace
Examples: { "body": "This is a very exciting news post", "workspaceId": "7driFnaZjDQZndHqs", "category": "news" }
removePost
Soft deletes a news post by setting deleted to true.
Access: Requires user to be the post creator or a workspace admin.
updatePost
Updates the body content of a news post.
Access: Requires user to be the post creator.
addPostReaction
Adds a reaction emoji to a post.
Access: Requires user access to the workspace.
removePostReaction
Removes a reaction emoji from a post.
Access: Requires user access to the workspace.
salesforceOperation
Unified Salesforce operation using jsforce SOAP/REST API. Supports query, search, insert, update, upsert, merge, describe, and lead conversion.
Access: Requires an authenticated Hive user with a connected Salesforce account.
Operation Examples:
#
QUERY
#
INSERT
#
UPDATE
#
DELETE
#
SEARCH (SOSL)
#
MERGE
#
DESCRIBE
#
CONVERT_LEAD
#
Errors:
- User is not logged in.
- Salesforce account is not connected.
- Invalid operation parameters.
- Salesforce API errors.
MoveToNextStage
NextStepAdd