Tasks: Overview of Methods

Tasks in Bitrix24 are a unified space that helps organize team work: assigning small tasks and managing large projects. In tasks, you can track the progress of employees, control deadlines, and distribute responsibilities.

Quick navigation: all methods and events

User documentation: Bitrix24 tasks

Features of Task Methods

In task methods, it is important to follow the order of parameters in the request as specified in the parameter tables. Otherwise, the request will execute with errors.

Task Card

The task card can be divided into blocks:

  • description
  • system and custom fields
  • comments, history, and time tracking

The task description contains information about what needs to be done. You can add checklists, files, and links to other tasks to the text.

Checklists help create a list of steps for completing the task. You can manage checklists using the group of methods task.checklistitem.*.

Create links to tasks using the method task.dependence.add. Delete them using the method task.dependence.delete.

When creating a task, fill in the system fields: specify the assignee, watchers, deadline, tags, and so on.

If the system fields are not enough, you can create your own custom fields. They allow you to store information in various data formats: string, number, date with time, and yes/no. You can create, modify, retrieve, or delete custom task fields using the group of methods task.item.userfield.*.

In comments, discuss the task and write about the results of the work. Use the group of methods task.commentitem.* to work with comments.

The results of the work on the task can be recorded in a comment and fixed as a result. Manage task results using the group of methods tasks.task.result.*.

Time tracking in tasks monitors the time spent by an employee on the task. You can work with time tracking records using the group of methods task.elapseditem.*.

All actions with the task are recorded and saved in the task history. To retrieve the history, use the method tasks.task.history.list.

Linking Tasks with Other Objects

Parent Task. A task can have subtasks. In this case, it is considered a parent task. You can add a link to the parent task in the PARENT_ID parameter. You can obtain the task ID using the method creating a task or getting a list of tasks.

Group or Project. The task is linked by the group ID GROUP_ID. You can obtain the ID using the method creating a new group or the method getting a list of groups.

User. The task is linked to users by numerical IDs in the fields:

  • CREATED_BY — creator
  • RESPONSIBLE_ID — assignee
  • ACCOMPLICES — participants
  • AUDITORS — watchers
  • CHANGED_BY — last user who modified the task
  • STATUS_CHANGED_BY — last user who changed the task status
  • CLOSED_BY — user who completed the task

You can obtain the user ID using the method user.get.

CRM. You can link CRM objects to the task: contacts, companies, leads, deals, invoices, and SPAs. To link an object, specify its identifier with prefix in the UF_CRM_TASK parameter. For example, C_3 for a contact with id = 3. You can obtain the ID using the method creating a new CRM item or the method getting a list of items.

E-mail. The task can be linked to an e-mail by its ID through the UF_MAIL_MESSAGE parameter.

Drive Files

You can attach Drive files to the task description. In the UF_TASK_WEBDAV_FILES parameter, pass an array with the IDs of the Drive files. Precede each ID with the prefix n, for example: "UF_TASK_WEBDAV_FILES": ["n428", "n345"]. You can obtain file IDs in two ways.

Use one of the file upload methods:

Use one of the methods to get the list of files:

Attach files to the task using the method tasks.task.files.attach if the task has already been created.

Flows

Flows are a tool that automates the distribution and execution of tasks. Employees do not need to search for who will do the task. They place tasks in the department flow, and it automatically assigns the assignee.

You can manage Flows using the group of methods tasks.flow.Flow.*.

Tasks in Scrum

Tasks in Scrum are standard Bitrix24 tasks with enhanced capabilities for working according to the Scrum methodology. In Scrum, the team can:

  • assess the complexity of tasks using story points
  • attach tasks to epics
  • place tasks in the backlog and sprints
  • move tasks through the stages of the sprint during the work process

Learn more about Scrum and its methods in the article Scrum: Overview of Methods.

User Documentation

Task Management Modes

Kanban is a tool that helps visually represent task management in the form of columns and cards. Columns are stages of work, and cards are tasks. Kanban is used for managing tasks in groups and projects.

"My Planner" is a mode for managing your tasks in the form of a kanban. Each employee will have their own stages in "My Planner".

You can manage the stages of kanban and "My Planner" using the group of methods task.stages.*.

Tasks in "Daily Planner"

"Daily Planner" is a list of tasks, activities, and meetings that you have scheduled for the workday. The method task.planner.getlist retrieves the list of tasks from the "Daily Planner".

Widgets

You can embed an application into the task card. Thanks to the embedding, you can use the application without leaving the card.

The application can also be embedded in the task list:

In the task management modes kanban or "My Planner," there are two more special places for embedding:

Overview of Methods and Events

Scope: task

Who can execute the method: depending on the method

Basic

Method

Description

tasks.task.add

Creates a task

tasks.task.update

Updates a task

tasks.task.get

Retrieves information about a task by id

tasks.task.list

Retrieves a list of tasks

tasks.task.files.attach

Attaches files to a task

tasks.task.delegate

Delegates tasks

tasks.task.counters.get

Retrieves user counters

tasks.task.start

Changes the task status to "in progress"

tasks.task.pause

Stops the task and changes its status to "waiting for execution"

tasks.task.defer

Changes the task status to "deferred"

tasks.task.complete

Changes the task status to "completed"

tasks.task.renew

Renews a task after it has been completed

tasks.task.approve

Approves a task

tasks.task.disapprove

Rejects a task

tasks.task.delete

Deletes a task

tasks.task.startwatch

Allows watching a task

tasks.task.stopwatch

Stops watching a task

tasks.task.favorite.add

Adds tasks to favorites

tasks.task.favorite.remove

Removes tasks from favorites

tasks.task.getFields

Retrieves available fields

tasks.task.getaccess

Checks access to a task

tasks.task.history.list

Retrieves task history

tasks.task.mute

Enables "Mute" mode

tasks.task.unmute

Disables "Mute" mode

task.dependence.add

Creates a dependency of one task on another

task.dependence.delete

Deletes a dependency of one task on another

Event

Triggered

OnTaskAdd

When a task is added

OnTaskUpdate

When a task is updated

OnTaskDelete

When a task is deleted

Task Result

Method

Description

tasks.task.result.addFromCommentt

Adds a comment to the result

tasks.task.result.list

Retrieves a list of task results

tasks.task.result.deleteFromComment

Deletes a comment from the task result

Checklists

Method

Description

task.checklistitem.add

Adds a new checklist item to a task

task.checklistitem.update

Updates the data of a checklist item

task.checklistitem.get

Retrieves a checklist item by its id

task.checklistitem.getlist

Retrieves a list of checklist items in a task

task.checklistitem.moveafteritem

Moves a checklist item in the list after the specified one

task.checklistitem.complete

Marks a checklist item as completed

task.checklistitem.renew

Marks a completed checklist item as active again

task.checklistitem.delete

Deletes a checklist item

task.checklistitem.isactionallowed

Checks if the action is allowed for the checklist item

task.checklistitem.getmanifest

Retrieves the list of methods and their descriptions

Comments

Method

Description

task.commentitem.add

Creates a new comment for a task

task.commentitem.update

Updates the comment data

task.commentitem.get

Retrieves a comment for a task

task.commentitem.getlist

Retrieves a list of comments for a task

task.commentitem.delete

Deletes a comment

Time Tracking

Method

Description

task.elapseditem.add

Adds time spent to a task

task.elapseditem.update

Updates the parameters of the time tracking record

task.elapseditem.get

Retrieves a time tracking record by its identifier

task.elapseditem.getlist

Retrieves a list of time tracking records for a task

task.elapseditem.delete

Deletes a time tracking record

task.elapseditem.isactionallowed

Checks if the action is allowed

task.elapseditem.getmanifest

Retrieves the list of methods and their descriptions

Custom Fields

Method

Description

task.item.userfield.add

Creates a new field

task.item.userfield.update

Updates the parameters of the field

task.item.userfield.get

Retrieves a field by its identifier

task.item.userfield.getlist

Retrieves a list of fields

task.item.userfield.delete

Deletes a field

task.item.userfield.gettypes

Retrieves all available data types

task.item.userfield.getfields

Retrieves all available fields of the custom field

Kanban and "My Planner" Stages

Method

Description

task.stages.add

Adds stages to kanban or "My Planner"

task.stages.update

Updates stages of kanban or "My Planner"

task.stages.get

Retrieves stages of kanban or "My Planner"

task.stages.canmovetask

Determines if the current user can move tasks in the specified object

task.stages.movetask

Moves tasks from one stage to another

task.stages.delete

Deletes stages of kanban or "My Planner"

Tasks in "Daily Planner"

Method

Description

task.planner.getList

Retrieves a list of tasks from the "Daily Planner"

Flows

Method

Description

tasks.flow.Flow.create

Creates a flow

tasks.flow.Flow.get

Retrieves a flow

tasks.flow.Flow.update

Modifies a flow

tasks.flow.Flow.delete

Deletes a flow

tasks.flow.Flow.isExists

Checks if a flow with that name exists

tasks.flow.Flow.activate

Activates or deactivates a flow