conversation-184532 came from conversation 184532, and form-submission-45 came from form submission 45.
You can search tasks, read one, change its status or assignee, and add internal notes. To get each new task the moment it is created, use the
task.created webhook.Search tasks
string
Matches the title, the description, or the customer’s name, phone number, or email. Up to 100 characters.
string
default:"all"
One of:
not_done:open,in_progress, andon_hold.open,in_progress,on_hold, ordone: that status only.all: every task.
boolean
true returns only tasks assigned to the key’s owner.string
Created within this window:
today, yesterday, 7d, 14d, 30d, 90d, 365d, mtd, or ytd. Every window starts at midnight in your team’s timezone. See time ranges. Leave it out for all time.integer
default:"10"
Results per page, 1 to 50.
integer
default:"1"
Page number. Use
next_page from the previous response.Task fields
string
The task ID, such as
conversation-184532 or form-submission-45.string
The task’s conversation or form submission in the dashboard.
string | null
A short title. Up to 200 characters.
string
open, in_progress, on_hold, or done. Search and updates take the same values.object | null
The assigned team member’s
id and name, or null when nobody is assigned. Send the id as assigned_to or expected_assigned_to in an update. It matches members[].id in GET /account.string | null
The category key of the task’s conversation, such as
cancellation, from the same list as a conversation’s category. A form task has form.string
low, medium, high, or urgent, or normal when none was set.string | null
When the source conversation started or the form was submitted, as an ISO 8601 UTC timestamp. Despite the name, it is not the time the AI created the task, which comes later. Search with
range uses this time too.object
The customer’s
name, phone, and email. A conversation task takes them from the conversation’s contact, and a form task from the form submission. Any of them can be null.object | null
The source conversation:
id, url, channel, and phone_line (id, name, phone_number). null for form tasks.object | null
The source form’s
title. null for conversation tasks.Get a task
description.
string
required
A task ID from search, such as
conversation-184532.string | null
The full task description. Up to 5,000 characters.
404. So does a task on a repeat conversation that was merged into an earlier one. Its error names the task to use instead, such as This conversation was merged into conversation-184519. Use that task.
Update a task
string
required
A task ID from search, such as
conversation-184532.string
open, in_progress, on_hold, or done.integer | null
A team member’s
id, from a task’s assignee.id or members[].id in GET /account, or null to unassign.string
Optional.
open, in_progress, on_hold, or done. Apply the change only if the task still has this status. Otherwise the API returns 409 and changes nothing. A task that never had a status counts as open. Use it so a sync does not overwrite a change someone just made in the dashboard.integer | null
Optional. Apply the change only if the task still has this assignee. Use
null to require that nobody is assigned.status, assigned_to, or both. Any other key in the body returns 400.
This example marks Dana Ruiz’s task done for Priya Shah (9034 in the /account example), but only if nobody changed its status since your sync last read it:
"status": "done" and "assignee": { "id": 9034, "name": "Priya Shah" }.
The change can take the task out of what the key can see. For example, a manager who sees only some phone lines reassigns a task they could see only because it was theirs. The change is still saved, and the body is {"id": "conversation-184532", "status": "open", "assignee": {"id": 9040, "name": "Jordan Lee"}, "visible": false}.
If your team requires a note before a task can be marked done, add a note first, then send
"status": "done". Without the note, the update returns 422 with This task has unmet completion requirements.
Add a note
string
required
A conversation task ID, such as
conversation-184532. Form tasks do not take notes, so a form-submission- ID returns 400.string
required
The note text. 1 to 5,000 characters after leading and trailing spaces are removed. An @mention stays plain text and notifies nobody.
content. Any other key in the body, including task_id, returns 400.
This example records that Dana Ruiz’s membership was cancelled:
integer
The note ID.
string
The note text.
object | null
The person who created the key, as
id and name. null only when that person has no name on their profile.string | null
When the note was added, as an ISO 8601 UTC timestamp.