Add Task tasks.task.add
Scope:
taskWho can execute the method: any user
The method tasks.task.add adds a new task.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
fields* |
Values of task fields. Required fields for creating a task:
Check which required custom fields are set for tasks in your Bitrix24. All required fields must be passed to the method. You can pass the parameter
|
Code Examples
How to Use Examples in Documentation
Let's add a task with files and CRM entity bindings. To attach a file to the task, you need to add the character n before the file identifier.
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"TITLE":"Task Title","DEADLINE":"2025-12-31T23:59:59","CREATED_BY":456,"RESPONSIBLE_ID":123,"UF_CRM_TASK":["L_4","C_7","CO_5","D_10"],"UF_TASK_WEBDAV_FILES":["n12345","n67890"]}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/tasks.task.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"TITLE":"Task Title","DEADLINE":"2025-12-31T23:59:59","CREATED_BY":456,"RESPONSIBLE_ID":123,"UF_CRM_TASK":["L_4","C_7","CO_5","D_10"],"UF_TASK_WEBDAV_FILES":["n12345","n67890"]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/tasks.task.add
try
{
const response = await $b24.callMethod(
"tasks.task.add",
{
fields: {
TITLE: "Task Title", // Task title
DEADLINE: "2025-12-31T23:59:59", // Deadline
CREATED_BY: 456, // Creator's identifier
RESPONSIBLE_ID: 123, // Responsible person's identifier
// Example of passing multiple values in the UF_CRM_TASK field
UF_CRM_TASK: [
"L_4", // Binding to lead
"C_7", // Binding to contact
"CO_5", // Binding to company
"D_10" // Binding to deal
],
// Example of passing multiple files in the UF_TASK_WEBDAV_FILES field
UF_TASK_WEBDAV_FILES: [
"n12345", // Identifier of the first disk file
"n67890" // Identifier of the second disk file
]
}
}
);
const result = response.getData().result;
console.info("Task successfully created with ID " + result.task.id);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'tasks.task.add',
[
'fields' => [
'TITLE' => 'Task Title',
'DEADLINE' => '2025-12-31T23:59:59',
'CREATED_BY' => 456,
'RESPONSIBLE_ID' => 123,
'UF_CRM_TASK' => [
'L_4',
'C_7',
'CO_5',
'D_10',
],
'UF_TASK_WEBDAV_FILES' => [
'n12345',
'n67890',
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Task successfully created with ID ' . $result['task']['id'];
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error creating task: ' . $e->getMessage();
}
BX24.callMethod(
"tasks.task.add",
{
fields: {
TITLE: "Task Title", // Task title
DEADLINE: "2025-12-31T23:59:59", // Deadline
CREATED_BY: 456, // Creator's identifier
RESPONSIBLE_ID: 123, // Responsible person's identifier
// Example of passing multiple values in the UF_CRM_TASK field
UF_CRM_TASK: [
"L_4", // Binding to lead
"C_7", // Binding to contact
"CO_5", // Binding to company
"D_10" // Binding to deal
],
// Example of passing multiple files in the UF_TASK_WEBDAV_FILES field
UF_TASK_WEBDAV_FILES: [
"n12345", // Identifier of the first disk file
"n67890" // Identifier of the second disk file
]
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info("Task successfully created with ID " + result.data().task.id);
}
}
);
require_once('crest.php');
$result = CRest::call(
'tasks.task.add',
[
'fields' => [
'TITLE' => 'Task Title', // Task title
'DEADLINE' => '2025-12-31T23:59:59', // Deadline
'CREATED_BY' => 456, // Creator's identifier
'RESPONSIBLE_ID' => 123, // Responsible person's identifier
// Example of passing multiple values in the UF_CRM_TASK field
'UF_CRM_TASK' => [
'L_4', // Binding to lead
'C_7', // Binding to contact
'CO_5', // Binding to company
'D_10' // Binding to deal
],
// Example of passing multiple files in the UF_TASK_WEBDAV_FILES field
'UF_TASK_WEBDAV_FILES' => [
'n12345', // Identifier of the first disk file
'n67890' // Identifier of the second disk file
]
]
}
);
if (isset($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Task successfully created with ID ' . $result['result']['task']['id'];
}
Response Handling
HTTP Status: 200
{
"result": {
"task": {
"id": "3711",
"parentId": null,
"title": "task for test",
"description": "",
"mark": null,
"priority": "1",
"multitask": "N",
"notViewed": "N",
"replicate": "N",
"stageId": "0",
"createdBy": "1",
"createdDate": "2024-11-02T10:06:08+02:00",
"responsibleId": "1",
"changedBy": "1",
"changedDate": "2024-11-02T10:06:08+02:00",
"statusChangedBy": null,
"closedBy": null,
"closedDate": null,
"activityDate": "2024-11-02T10:06:08+02:00",
"dateStart": null,
"deadline": null,
"startDatePlan": null,
"endDatePlan": null,
"guid": "{c2794da9-c7fe-404d-a709-ddab4578717a}",
"xmlId": null,
"commentsCount": null,
"serviceCommentsCount": null,
"allowChangeDeadline": "N",
"allowTimeTracking": "N",
"taskControl": "N",
"addInReport": "N",
"forkedByTemplateId": null,
"timeEstimate": "0",
"timeSpentInLogs": null,
"matchWorkTime": "N",
"forumTopicId": null,
"forumId": null,
"siteId": "s1",
"subordinate": "Y",
"exchangeModified": null,
"exchangeId": null,
"outlookVersion": "1",
"viewedDate": null,
"sorting": null,
"durationFact": null,
"isMuted": "N",
"isPinned": "N",
"isPinnedInGroup": "N",
"flowId": null,
"descriptionInBbcode": "Y",
"status": "2",
"statusChangedDate": "2024-11-02T10:06:08+02:00",
"durationPlan": null,
"durationType": "days",
"favorite": "N",
"groupId": "0",
"auditors": [],
"accomplices": [],
"checklist": [],
"group": [],
"creator": {
"id": "1",
"name": "Viola",
"link": "/company/personal/user/1/",
"icon": "https://your-domain.bitrix24.com/b13743910/resize_cache/2267/c0120a8d7c10d63c83e32398d1ec4d9e/main/c7b/c7bd44b1babaa5448125dd97d038ce1b/d5fb56b94dc2c3cd8c006a2c595a4895.jpg",
"workPosition": ""
},
"responsible": {
"id": "1",
"name": "Viola",
"link": "/company/personal/user/1/",
"icon": "https://your-domain.bitrix24.com/b13743910/resize_cache/2267/c0120a8d7c10d63c83e32398d1ec4d9e/main/c7b/c7bd44b1babaa5448125dd97d038ce1b/d5fb56b94dc2c3cd8c006a2c595a4895.jpg",
"workPosition": ""
},
"accomplicesData": [],
"auditorsData": [],
"newCommentsCount": 0,
"action": {
"accept": false,
"decline": false,
"complete": true,
"approve": false,
"disapprove": false,
"start": true,
"pause": false,
"delegate": true,
"remove": true,
"edit": true,
"defer": true,
"renew": false,
"create": true,
"changeDeadline": true,
"checklistAddItems": true,
"addFavorite": true,
"deleteFavorite": false,
"rate": true,
"edit.originator": false,
"checklist.reorder": true,
"elapsedtime.add": true,
"dayplan.timer.toggle": false,
"edit.plan": true,
"checklist.add": true,
"favorite.add": true,
"favorite.delete": false
},
"checkListTree": {
"nodeId": 0,
"fields": {
"id": null,
"copiedId": null,
"entityId": null,
"userId": 1,
"createdBy": null,
"parentId": null,
"title": "",
"sortIndex": null,
"displaySortIndex": "",
"isComplete": false,
"isImportant": false,
"completedCount": 0,
"members": [],
"attachments": []
},
"action": [],
"descendants": []
},
"checkListCanAdd": true
}
},
"time": {
"start": 1758188171.142611,
"finish": 1758188172.101309,
"duration": 0.958698034286499,
"processing": 0.9341180324554443,
"date_start": "2025-09-18T12:36:11+03:00",
"date_finish": "2025-09-18T12:36:12+03:00",
"operating_reset_at": 1758188771,
"operating": 0.9340989589691162
}
}
Returned Data
|
Name |
Description |
|
result |
Object with response data |
|
task |
Object with task description after the operation is performed |
|
time |
Information about the request execution time |
Error Handling
HTTP Status: 400
{
"error": "ERROR_CORE",
"error_description": "Task title not specified\u003Cbr\u003E"
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Value |
|
|
Could not find value for parameter {fields} (internal error) |
Parameter |
|
|
User specified in the "Responsible" field not found |
An identifier of a non-existent user is specified in the |
|
|
Responsible person not specified |
The |
|
|
Task title not specified |
The |
|
|
No value entered for required field |
Required custom field with the specified name is not filled |
|
|
Invalid status |
An incorrect value is specified in the |
|
|
Task specified in the "Parent Task" field not found |
An identifier of a non-existent task is specified in the |
|
|
In scheduling deadlines, the end date is earlier than the start date |
The date and time in the |
|
|
In scheduling deadlines, the task duration is too long |
The value in the |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Tasks: Overview of Methods
- Update Task tasks.task.update
- Get Task by ID tasks.task.get
- Get the list of tasks tasks.task.list
- Delete Task tasks.task.delete
- Get the list of fields tasks.task.getFields
- How to Create a Task with an Attached File
- How to Attach a Task to a SPA
- How to Create a Comment in a Task and Attach a File