Seven status states. Three views. One task hub.
Cross-product task management with list, kanban board, and calendar views. Tabbed task detail: subtasks, checklists, photos, costs, signature capture, activity timeline, notes. Team workload by assignee. CSV import. Platform API receives tasks from Ops, Deals, Assure, and Backstage. Bulk operations on up to 200 tasks. Recurring schedules. Calendar bus.
,0,
task status states
,0,
view modes (list, board, calendar)
,0,
REST API endpoints
,0,
cross-product task sources (Ops, Deals, Assure, Backstage) + Personal
List. Board. Calendar. One task set.
The same tasks rendered three ways: sortable list with bulk operations, kanban board with drag-and-drop status changes, or monthly calendar with due-date plotting. Switch without losing filter state.
Sortable List with Bulk Operations
Columns for name, status, priority, assignee, due date, and source product. Filter by status, priority, source, assignee, starred, due date range, or "My Day" scope. Sort any column. Select up to 200 tasks for bulk complete, bulk assign, bulk delete, or bulk priority change.
- Filter: status, priority, source, assignee, starred, due range
- Sort: any column, ascending or descending
- Bulk actions on up to 200 selected tasks
- "My Day" focused view
Each task carries subtasks, checklists, photos, costs, signatures, and notes.
Seven tabs per task record. Parent/child hierarchy. Interactive checklists with progress bars. Photo documentation via CDN. Canvas signature with audit metadata. Itemized cost tracking. Auto-logged activity timeline. Threaded notes in a dedicated table.
Seven tabs per task. Subtasks, checklists, activity, notes.
Each task opens to a tabbed detail view. Overview with full metadata and file attachments. Subtask hierarchy with recursive nesting. Interactive checklists with progress tracking. Auto-logged activity timeline. Threaded notes in a dedicated table.
Overview
Subject, description, instructions, status (7 states), priority (Normal/High/Urgent), task type, due date, scheduled start/end, assignee, property, account, category, recurrence config, percent complete, starred flag. File attachments via BoxPicker.
- Subject & instructions
- Status (7 states) & priority (3 levels)
- Due date, scheduled start/end
- Assignee, property, account
- Category (Personal/Work/Health/Learning/Finance/Family)
- Recurrence interval & day-of-week config
- File attachments via Box
Subtask Hierarchy
Parent/child task relationships via parentTaskId. Create subtasks inline from the detail view. Each subtask is a full task record with its own detail tabs. Recursive nesting. Progress tracking aggregates child completion into parent percentComplete.
- Parent/child linking via parentTaskId
- Inline subtask creation
- Each subtask has full detail tabs
- Recursive nesting (subtasks of subtasks)
- Aggregated progress on parent
Interactive Checklist
JSON-stored checklist items with id, text, completed flag, and sort order. Add, edit, delete, and reorder items. Visual progress bar shows completion percentage. Optimistic UI updates on toggle.
- Add / edit / delete items
- Drag-reorder with persisted sort order
- Toggle completion with optimistic UI
- Visual progress bar (completed/total)
- Stored as JSON on task record
Activity Timeline
Auto-tracked event log. Event types: created, status_changed, assigned, comment, checklist_updated, photo_added. Each entry shows timestamp, actor, and event detail. Chronological feed with no manual entry required.
- Auto-tracked (no manual logging)
- Events: created, status_changed, assigned
- Events: comment, checklist_updated, photo_added
- Timestamp + actor per entry
- Chronological feed
Threaded Notes
Dedicated task_notes table, not embedded JSON. Fields: taskId, tenantId, text, authorEmail, authorId, createdAt. Chronological comment thread per task. Multi-tenant isolated.
- Dedicated database table (task_notes)
- Author email + ID per note
- Chronological thread display
- Multi-tenant isolation
- Separate from activity log
,0,
cost categories (Labor, Materials, Equipment, Travel, Other)
,0,
audit fields per signature (signedBy, signedAt, strokeCount, duration)
,0,
activity event types auto-tracked
∞
subtask nesting depth (recursive hierarchy)
Photos with CDN. Signatures with forensics. Costs with categories.
Three capture surfaces per task. Multi-photo upload via Calisto Box with CDN delivery. Canvas-based signature with stroke count and duration audit. Itemized expenses across five categories with running totals.
Photos. Signatures. Costs. Per-task evidence.
Three capture surfaces attached to every task. Photo documentation with CDN storage. Canvas-based signature with forensic audit metadata. Itemized cost tracking with five expense categories and running totals.
Photo Documentation
Upload multiple photos per task via Calisto Box (cloud storage with CDN delivery). Add captions. Before/after documentation pattern. Lightbox viewer for full-resolution inspection. Delete with confirmation dialog.
- Multi-photo upload via Calisto Box
- CDN-backed delivery (cloud storage)
- Captions per photo
- Lightbox viewer for full resolution
- Before/after documentation pattern
Signature Capture with Audit Trail
Canvas-based signature capture via the shared SignaturePad component. Stored as imageDataUrl on the task record. Audit metadata recorded: signedBy (name), signedAt (timestamp), strokeCount, and drawing duration. Clear and re-sign supported.
- Canvas-based signature capture
- Stored as imageDataUrl on task record
- Audit: signedBy, signedAt, strokeCount, duration
- Clear and re-sign capability
- Shared component (same as Calisto Sign)
Per-Task Cost Tracking
Record expenses directly on a task. Five categories: Labor, Materials, Equipment, Travel, Other. Each entry stores description, amount, category, date, createdBy, and createdAt. Running total displayed. JSON-stored on the task record for zero-join retrieval.
- Categories: Labor, Materials, Equipment, Travel, Other
- Fields: description, amount, category, date
- Running total per task
- Created-by and created-at audit per entry
- JSON-stored (zero-join reads)
Workload by assignee. CSV import. Cross-product task routing.
Team view groups tasks by member with capacity indicators. Four-step CSV import with auto-column-mapping. Platform API receives tasks from Ops, Deals, Assure, and Backstage. Calendar Bus publishes deadlines.
Workload grouped by assignee. Unassigned queue.
Team view groups tasks by team member with status distribution and progress. The unassigned queue surfaces orphan tasks for quick routing. Assign by name, email, ID, or team. The API resolves any identifier.
Workload by Assignee
Tasks grouped by team member with per-person progress indicators. See who carries what load. Status distribution per assignee (open, in progress, completed, overdue).
Unassigned Queue
Dedicated view at /tasks/team?view=unassigned surfaces tasks with no assignee. Quick-assign action lets a manager route work from the queue without opening each task.
Assignment Methods
Assign tasks by name, user ID, email address, or team. The /api/tasks/[id]/assign endpoint accepts any identifier format and resolves to the correct user record.
Capacity Visibility
Per-assignee task counts with status breakdown. Identify over-allocated team members. Filter by due date to see upcoming workload concentration.
Four-step wizard. Auto-mapped columns.
Upload a CSV or TSV file, map columns to task fields with auto-detection, preview the result, and import. Delimiter detection, header-row toggle, and field-type validation built in.
Upload
Drop a CSV or TSV file. Delimiter auto-detected. Header row toggle available.
Map Columns
Auto-mapping matches your column headers to task fields. Override any mapping manually.
Preview
Review mapped rows before committing. Field-type validation flags mismatches.
Import
Confirm and import with real-time progress. Tasks created with mapped status, priority, and assignee.
Ops. Deals. Assure. Backstage. One task queue.
Tasks arrive from four Calisto products via source attribution and entity linking. The Platform API (/api/platform/tasks) accepts task creation from any Calisto app. Calendar Bus publishes deadlines automatically.
Ops
Tasks linked to requests, workorders, properties, reservations, and events. Source enum value 100000000. Deep-links to /ops/requests/, /ops/workorders/, /ops/properties/, /ops/reservations/, /ops/events/.
Deals
Tasks linked to deal records. Source enum value 100000001. Deep-links to /deals/[id]. The deal UUID stored on the task record enables bidirectional navigation.
Assure
Tasks linked to inspections and maintenance records. Source enum value 100000002. Deep-links to /assure/inspections/ and /assure/maintenance/.
Backstage
Tasks sourced from Backstage (source enum 100000003). Generic deep-link pattern using uid field formatted as entityType:entityId.
Platform API
POST /api/platform/tasks. Any of the 47+ Calisto apps can create tasks in a user's queue. Shared endpoint with standard authentication. Tasks arrive with source attribution and entity link.
Calendar Bus
The calendar integration publishes task deadlines to the user's personal calendar when a due date is set. Automatic, no manual sync required.
Recurrence. Notifications. Categories. Personal scope.
Recurring task schedules with interval and day-of-week config. Notification preferences per user with adjustable reminder timing. Six task categories plus custom types. Personal flag for private to-dos invisible to the team.
Recurrence Configuration
Recurring tasks with configurable interval and day-of-week selection. Fields: recurrence (boolean), recurrenceInterval (daily/weekly/monthly/yearly), recurrenceDaysOfWeek (multi-select). Tasks auto-regenerate on completion per schedule.
- Daily / weekly / monthly / yearly intervals
- Day-of-week multi-select
- Auto-regenerate on completion
Notification Preferences
Per-user notification controls stored via platform.userPreferences. Configurable triggers: task assignment, approaching due date, new comments, status changes. Adjustable reminder timing (how far in advance of due date).
- Triggers: assignment, due date, comments, status change
- Configurable reminder timing
- Stored via platform.userPreferences
Task Categories & Types
Six built-in categories: Personal, Work, Health, Learning, Finance, Family. Custom task types via taskType and taskTypeLabel fields. Filter and group by type across all views.
- 6 categories (Personal/Work/Health/Learning/Finance/Family)
- Custom taskType + taskTypeLabel fields
- Filter by type in list, board, calendar
Personal Tasks
isPersonal flag creates tasks visible only to the creating user. Personal tasks excluded from team view and cross-product queries. Private to-do capability within the shared task infrastructure.
- isPersonal flag per task
- Hidden from team view
- Excluded from cross-product queries
,0,
max tasks per bulk operation
,0,
assignment methods (name, ID, email, team)
,0,
task categories
Any
authenticated Calisto app can POST tasks via Platform API
12 REST endpoints. Box storage. Self-hosted infrastructure.
Self-hosted database infrastructure. Circuit breaker, caching, and rate limiting at the adapter layer. 12 API endpoints plus the cross-app Platform API. File storage via Calisto Box with CDN delivery.
Data Model
- 7 status states (Open, Completed, Cancelled, Scheduled, Pending, In Progress, Blocked)
- 3 priority levels (Normal, High, Urgent)
- 5 task source enums (Ops, Deals, Assure, Backstage, Personal)
- 6 categories (Personal, Work, Health, Learning, Finance, Family)
- Parent/child hierarchy via parentTaskId
- Embedded JSON: checklist, costs, signature
- Separate tables: task_notes, box_files (scope=task)
API Surface
- 12 REST endpoints under /api/tasks
- Platform API: /api/platform/tasks (cross-app creation)
- Bulk endpoint: up to 200 tasks per operation
- Soft-delete (statecode flag, not hard delete)
- Assignment by name, ID, email, or team
- OData $expand for activity log retrieval
Infrastructure
- Self-hosted database infrastructure
- Database layer with circuit breaker, caching, and rate limiting
- File storage: Calisto Box (cloud storage + CDN)
- Auth: Calisto Auth (session-based, multi-tenant)
- Calendar integration: the calendar integration layer
- UI: the shared design system (SignaturePad, ContentContainer, etc.)
High-Performance Ops. Zero Monthly Overhead.
Get all 15 Core modules at no monthly cost. You only pay 2% of processed revenue.
Tasks
Task management in list, kanban, and calendar views.
Included in Work Free
Wallet-debit
Add to Pro Shop