Skip to content

Nozbe

Nozbe is a task and project management app. Protocol Launcher generates Nozbe nozbe4:// URLs for the actions documented in Nozbe's official x-callback-url reference: /goto, /add_task, /update_task, and /add_project.

Nozbe requires a secret for x-callback-url actions. Generate it in Nozbe under Settings -> Advanced -> Automate with x-callback-url, and keep it private.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Goto

Open a Nozbe view from a copied Nozbe path. The path is the part after https://nozbe.app/.

On-Demand
ts
import { goto } from 'protocol-launcher/nozbe'

const url = goto({
  path: 'teams/zR17yVDEDrpBbi8x/single_tasks',
})

Team Views

Open the documented Priority, Single Tasks, Quick Add, and Jump To views for a Nozbe space.

On-Demand
ts
import {
  gotoPriority, gotoSingleTasks, gotoQuickAdd, gotoJumpTo
} from 'protocol-launcher/nozbe'

const priorityUrl = gotoPriority({
  teamId: 'TeamID',
})

const singleTasksUrl = gotoSingleTasks({
  teamId: 'zR17yVDEDrpBbi8x',
})

const quickAddUrl = gotoQuickAdd({
  teamId: 'zR17yVDEDrpBbi8x',
})

const jumpToUrl = gotoJumpTo({
  teamId: 'zR17yVDEDrpBbi8x',
})

Tag And Project

Open a specific Nozbe tag or project inside a space.

On-Demand
ts
import { gotoTag, gotoProject } from 'protocol-launcher/nozbe'

const tagUrl = gotoTag({
  teamId: 'zR17yVDEDrpBbi8x',
  tagId: '6fxaXuTFwaqd13QV',
})

const projectUrl = gotoProject({
  teamId: 'zR17yVDEDrpBbi8x',
  projectId: 'mfdcza541h8g20hz',
})

Add Task

Add a task to a project. Nozbe returns task_id on success.

On-Demand
ts
import { addTask } from 'protocol-launcher/nozbe'

const url = addTask({
  projectId: 'u79rr9gfqszxtn45',
  name: 'Added with url',
  secret: 'REPLACE_WITH_YOUR_SECRET',
})

const taskWithOptionsUrl = addTask({
  projectId: 'u79rr9gfqszxtn45',
  name: 'Plan launch',
  isPriority: true,
  responsibleId: '',
  dueAt: 1717200000000,
  isAllDay: true,
  comment: 'Kickoff notes',
  secret: 'REPLACE_WITH_YOUR_SECRET',
  xSuccess: 'sourceapp://done',
  xError: 'sourceapp://error',
})

Update Task

Update a task's priority and/or completion state.

On-Demand
ts
import { updateTask } from 'protocol-launcher/nozbe'

const url = updateTask({
  taskId: 'abcd1efgh2dcba3j',
  isCompleted: true,
  secret: 'REPLACE_WITH_YOUR_SECRET',
})

Add Project

Add a project to a Nozbe workspace. Nozbe returns project_id on success.

On-Demand
ts
import { addProject } from 'protocol-launcher/nozbe'

const url = addProject({
  teamId: 'u79rr9gfqszxtn45',
  name: 'Project added with url',
  secret: 'REPLACE_WITH_YOUR_SECRET',
})

const projectWithOptionsUrl = addProject({
  teamId: 'u79rr9gfqszxtn45',
  name: 'Private Project',
  description: '',
  isOpen: false,
  color: 'ultramarine',
  secret: 'REPLACE_WITH_YOUR_SECRET',
})

Official Documentation