DailyRoundup can import tasks from a Google Tasks list into an existing synced list. Imported tasks land in the paired Reminders list and the next sync cycle pushes them to Trello.
Before the feature can be used, the app must be registered with the Google Cloud Console.
https://www.googleapis.com/auth/tasks (read/write access — required for optional deletion of imported tasks)email (displays the signed-in account in the import breadcrumb)dev.dcwalker.DailyRoundup123456789-abc.apps.googleusercontent.com).The client ID and redirect URI are configured in GoogleTasksClient.swift (clientId and redirectURI constants) and the matching URL scheme is registered in Info.plist. If you are using a different Google Cloud project, replace these values with your own:
static let clientId = "YOUR_CLIENT_ID.apps.googleusercontent.com"
static let redirectURI = "com.googleusercontent.apps.YOUR_CLIENT_ID:/oauth2callback"
<string>com.googleusercontent.apps.YOUR_CLIENT_ID</string>
If the app is published externally (not limited to test users), Google may require verification of the OAuth consent screen before the tasks scope is available to all users. This review process can take several days to weeks. During development, add test user emails under OAuth consent screen > Test users.
| Google Tasks | Reminders | Notes |
|---|---|---|
title |
Title | Subtasks are prefixed with parent title (e.g., “Parent: Subtask”) |
notes |
Notes | Direct mapping |
links |
Notes (appended) | Link URLs appended to notes (e.g. Gmail source) |
due |
Due date | Imported as all-day reminder (Google dates have no time component) |
status |
Completion | completed → marked complete; needsAction → incomplete |
| — | Priority | Default Reminders value (no Google Tasks equivalent) |
Google Tasks supports parent/child relationships. Since EventKit has no public API for Reminders subtasks, child tasks are flattened to top-level tasks with the parent’s title prefixed — e.g., a subtask “Buy milk” under “Groceries” becomes “Groceries: Buy milk”.
Each task import is atomic:
If the OS terminates the app during import, the user is informed on next launch and can safely retry.
The Google Tasks API has a 50,000 requests/day quota. If a rate limit is hit, the import stops and the user is notified. Already-imported tasks are unaffected.