Thank you for being patient! We're working hard on resolving the issue
Tasks are a row type with status and importance tracking. They also have a dedicated API for CRUD operations independent of sheet context.
A task row appears in the sheet tree like any other row:
const taskRow = sheet.row({ type: "task" });
console.log(taskRow?.label); // "Buy groceries"
| Property | Description |
|---|---|
label | Task title |
attributes.status | Task status (e.g., "todo", "inProgress", "done") |
attributes.importance | Priority level (e.g., "low", "medium", "high") |
const attrs = taskRow?.attributes<{
status: string;
importance: string;
}>();
if (attrs) {
console.log(attrs.status); // "done"
console.log(attrs.importance); // "high"
}
client.tasks provides CRUD operations for tasks:
const tasks = await client.tasks.list();
for (const task of tasks) {
console.log(`${task.title} — ${task.status}`);
}
const task = await client.tasks.create({
title: "Review PR",
status: "todo",
importance: "high",
});
const task = await client.tasks.get(taskId);
await client.tasks.update(taskId, {
status: "done",
});
await client.tasks.delete(taskId);