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
  • Statustodo, in_progress, done, cancelled
  • Prioritylow, 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/tasks with filters by status, assignee, due range, and any filterable custom field.
  • Kanban/tasks/kanban grouped 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