Capture
Create tasks standalone or pinned to a lead, account, opportunity, ticket, or invoice
- Quick add from anywhere
- Linked to any record
- Title + description + custom fields
Every record in BottleCRM — leads, deals, tickets, invoices — can carry its own tasks. Assign, prioritise, recur, and remind. Hit due dates with reliable Celery-backed notifications, on web and a native mobile app.
Four moves that fit any team's workflow — small enough to never get in your way.
Create tasks standalone or pinned to a lead, account, opportunity, ticket, or invoice
Route to the right teammate with priority and due date in one click
Email and push reminders so nothing falls through the cracks
Mark done from the kanban, list, mobile app, or API — activity timeline updates everywhere
List view filters by status, assignee, due range, priority, tags, and any filterable custom field. Save views for the queries you run every morning.
Visual /tasks/kanban groups tasks by status. Drag a card to change status — server re-validates the transition and updates the activity timeline.
Daily, weekly on chosen days, monthly on day N, every N months. Completing a recurring task auto-generates the next instance via a Celery worker.
Per-task reminders dispatched at relative offsets. Choose email, in-app, or mobile push — or all three.
Assign to multiple people, a whole team, or rotate among on-call shifts. Per-user views always show "what's mine."
Add the columns your org needs — estimated hours, billable flag, project code, sprint — without touching code.
Tasks are part of the same data plane as every other CRM module — same API, same auth, same custom-field schema.
Each task has one primary record link (lead, account, opportunity, ticket, or invoice). Use tags if you need to cross-cut tasks across multiple records.
Recurring tasks have an optional "skip weekends" flag. A holiday calendar can be configured at the org level; if enabled, the next occurrence shifts forward to the next business day.
Yes — reminders are dispatched by a Celery worker on a periodic beat schedule. The worker is tenant-aware (per the row-level security setup) so reminders only fire for tasks the assignee can still access.
The list view supports multi-select for reassign, change status, change priority, add tags, delete, and CSV export. Each operation is an atomic API call that respects role-based permissions.
Free, self-hosted, open source. Spin it up in five minutes with Docker.