Types

Written By Manos Mastorakis

Last updated 8 days ago

Routine allows you to define your own data types — tickets, employees, customers, projects, habits, journal entries, or anything else your workflow requires. For every type, you can define the properties that compose it, set up relations to other types, and optionally bind it to behave like a task.

Below are the default types that come built into every Routine workspace, along with their core properties.

☑️ Task

The Task type is the foundation of personal and team productivity in Routine. Its status is extendable for team workspaces.

  • title: text

  • parent: parent relation

  • status: todo | completed | discarded | (custom: Backlog, In Progress, Reviewed, etc.)

  • planning: specific date or time block

  • priority: high | medium | low

  • label: relation to Label type

  • project: relation to Project type

  • assignee: relation to workspace member (team tasks)

  • description: rich notes

💡 The Task type's Status property can be extended in team workspaces to add custom states. The assignee property enables tasks to appear in assigned views and the team Board.

⏰ Event

  • title: text

  • calendar: calendar relation

  • active: boolean

  • color: select (based on calendar, label, or custom color property)

  • time:

    • start: time | date

    • end: time | date

  • participants:

    • email: email address

    • name: text

    • status: needs action | accepted | tentative | declined

  • label: relation to Label type

  • description: rich notes

📅 Calendar

  • title: text

  • active: boolean

  • color: color select

🌀 Project

Projects are a new default type available in both personal and team organizations.

  • title: text

  • status: active | completed | on hold

  • description: rich notes

  • tasks: relation to Task type

  • pages: relation to Page type

💡 Every task linked to a project displays a project chip in all views. Projects are accessible from the Projects screen in your personal space and every team organization.

👱 Person (Contact)

  • familyName: text

  • givenName: text

  • name: text

  • avatar: image

  • email: email address

  • label: relation to Label type

  • notes: rich notes

📄 Page

  • title: text

  • parent: relation

  • notes: rich notes

Pages exist in both personal and team organizations. Any task created inside a page appears in the agenda automatically.

🏷️ Label

Labels are a built-in default type with their own database, making them fully queryable and displayable in custom views.

  • title: text

  • color: color select

Labels can be applied to tasks, events, contacts, and pages — giving you a consistent organizational system across all object types.

⚙️ Custom types

In addition to default types, you can define your own types from Settings → Types. For every custom type you can:

  • Define properties (text, number, date, select, relation, color, boolean, etc.)

  • Set up relations to other types (default or custom)

  • Reorder and color select property options

  • Bind the type to behave as tasks (task bindings) — mapping status, scheduling, and assignee to Routine's task system

  • Display objects in list, table, board, feed, or activity views

💡 Task bindings allow any custom type (e.g. a Ticket or Feature Request database) to surface as tasks in your inbox, agenda, and calendar — fully integrated with scheduling, planning, and assignment.

🗺️ Where to manage types

Go to Settings → Types to:

  • View all default and custom types

  • Create new custom types

  • Edit and extend existing types

  • Add, reorder, and color properties

  • Configure task bindings

  • Repair damaged types with one click