Skip to content

GoodTask

GoodTask is a to-do list, task manager, and planner based on Apple's Reminders and Calendars. Protocol Launcher generates GoodTask URLs from the official URL scheme: open, openadd, view, task, smartadd, and add.

GoodTask's URL scheme is goodtask3://. The official page also documents the x-callback-url form for actions, and its add example uses x-success; pass it as xSuccess when adding a task.

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.

Open GoodTask

On-Demand
ts
import { open } from 'protocol-launcher/goodtask'

const url = open()

Open Add

On-Demand
ts
import { openAdd } from 'protocol-launcher/goodtask'

const url = openAdd()

Open View

Open a specific GoodTask view by list title, or use the documented section=0 form to go to the Lists page on iPhone.

On-Demand
ts
import { openView } from 'protocol-launcher/goodtask'

const url = openView({
  title: 'Today',
  view: 1,
})

const listsUrl = openView({
  section: 0,
})

Open Task

Open a GoodTask task by title or identifier.

On-Demand
ts
import { openTask } from 'protocol-launcher/goodtask'

const url = openTask({
  title: 'Buy milk',
})

Smart Add

Create a task using GoodTask Smart Add Rules.

On-Demand
ts
import { smartAdd } from 'protocol-launcher/goodtask'

const url = smartAdd({
  text: 'Buy milk tomorrow',
})

Add Task

Add a task with the official GoodTask add parameters. GoodTask documents that dueAfter is ignored by the app when due is set.

On-Demand
ts
import { add } from 'protocol-launcher/goodtask'

const url = add({
  title: 'Title',
  list: 'to',
})

const dueAfterUrl = add({
  title: 'Title',
  dueAfter: 10,
})

const subtasksUrl = add({
  title: 'ABCD',
  subtasks: 'one\ntwo\nthree',
})

Add Task With Callback

Use xSuccess to generate GoodTask's documented x-callback-url add form.

On-Demand
ts
import { add } from 'protocol-launcher/goodtask'

const url = add({
  title: 'Title',
  list: 'To-do',
  xSuccess: 'launchpro:',
})