Tasks
A Task is anything someone needs to do — a callback, a contract review, a check-in. Tasks can stand on their own or hang off any other record (lead, account, opportunity, ticket, invoice).
Fields
- Title and description
- Status —
todo,in_progress,done,cancelled - Priority —
low,normal,high,urgent - Due date with optional time
- Assignee — one or more users
- Linked record — the lead/account/etc this task relates to
- Custom fields — estimated hours, billable, project code
Where tasks show up
- Task list —
/taskswith filters by status, assignee, due range, and any filterable custom field. - Kanban —
/tasks/kanbangrouped by status. - My day — dashboard widget showing the current user's overdue + due-today tasks.
- Record drawer — on a lead or account detail page, the Tasks tab shows everything linked to that record.
Recurrence
Tasks support simple recurrence: daily, weekly on chosen days, monthly on day N, every N months. When a recurring task is marked done, the next instance is generated automatically. This is implemented as a Celery task — see the Celery section in Postgres + RLS for the tenant-context requirements.
Reminders
Each task can carry one or more reminders — emails or push notifications dispatched at relative offsets ("1 day before due", "at due time"). Push reminders require Firebase Cloud Messaging to be configured (see Mobile app).
Bulk operations
Multi-select on the list view supports: reassign, change status, change priority, delete, and CSV export.
See also
- Custom fields — extend tasks with org-specific data.
- Mobile app — tasks are first-class in the mobile UI.