LetsBot Menu
Get Started English Language

Meta Business Partner UK Registered Company

Language

CRM · API endpoint

PATCH /api/v1/crm/tasks/{id} New

Update a task

Only the fields sent change (title, description, status (todo, in_progress, done), priority (low, normal, high, urgent), due_at, remind_at (ISO 8601),…

Only the fields sent change (title, description, status (todo, in_progress, done), priority (low, normal, high, urgent), due_at, remind_at (ISO 8601), assignee_user_id, contact_id, deal_id, recurrence (daily, weekly, monthly; needs due_at)). Scope: crm.

JSON body

{
  "status": "in_progress",
  "priority": "urgent"
}

Example request

curl -X PATCH "https://your-workspace.letsbot.net/api/v1/crm/tasks/31" \
  -H "X-Zapier-Api-Key: YOUR_WORKSPACE_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "in_progress",
  "priority": "urgent"
}'
const response = await fetch("https://your-workspace.letsbot.net/api/v1/crm/tasks/31", {
  method: "PATCH",
  headers: {
    "X-Zapier-Api-Key": "YOUR_WORKSPACE_API_KEY",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "status": "in_progress",
    "priority": "urgent"
  }),
});

const data = await response.json();
console.log(data);
<?php

$ch = curl_init('https://your-workspace.letsbot.net/api/v1/crm/tasks/31');

curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'PATCH',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-Zapier-Api-Key: YOUR_WORKSPACE_API_KEY',
        'Accept: application/json',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => <<<'JSON'
    {
        "status": "in_progress",
        "priority": "urgent"
    }
    JSON,
]);

$data = json_decode(curl_exec($ch), true);
curl_close($ch);

print_r($data);
import requests

response = requests.request(
    "PATCH",
    "https://your-workspace.letsbot.net/api/v1/crm/tasks/31",
    headers={
        "X-Zapier-Api-Key": "YOUR_WORKSPACE_API_KEY",
        "Accept": "application/json",
        "Content-Type": "application/json",
    },
    json={
        "status": "in_progress",
        "priority": "urgent",
    },
)

print(response.json())

Responses

Updated200
{
  "success": true,
  "data": {
    "id": 31,
    "title": "Call back about the quote",
    "description": "Confirm delivery date.",
    "status": "in_progress",
    "priority": "urgent",
    "due_at": "2026-10-10T11:00:00+03:00",
    "remind_at": "2026-10-10T10:30:00+03:00",
    "overdue": false,
    "assignee": {
      "id": 3,
      "name": "Sara Ahmed"
    },
    "contact": {
      "id": 42,
      "name": "Ahmed Ali",
      "phone": "966500000000"
    },
    "deal": {
      "id": 15,
      "title": "Epoxy kit order — 40 units"
    },
    "recurrence": null,
    "completed_at": null,
    "created_at": "2026-10-08T09:30:00+03:00",
    "updated_at": "2026-10-08T09:30:00+03:00",
    "url": "https://your-workspace.letsbot.net/panel/v2/tasks?task=31"
  }
}

Ready when you are

Try this endpoint on your own number

The API works during the free trial. Create an account, connect your WhatsApp number and copy your key from API → Authentication Data.