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
Goto
Open a Nozbe view from a copied Nozbe path. The path is the part after https://nozbe.app/.
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.
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.
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.
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.
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.
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',
})