> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openhome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Tasks Assistant

> Add, view, complete, delete, and rename Google Tasks by voice.

Google Tasks Assistant is an OpenHome community ability for managing Google Tasks by voice. It uses the user's linked Google account to add, view, complete, delete, and rename tasks across their Google task lists.

## What It Does

* Adds tasks from a quick spoken request
* Supports step-by-step task creation for title, details, due date, and repeat notes
* Lets the user choose a task list when multiple Google task lists exist
* Reads incomplete tasks across all task lists
* Gives details about a selected task, including list name, due date, and notes
* Marks one or multiple tasks as complete
* Deletes selected tasks
* Renames existing tasks
* Understands task references by name, number, or partial description
* Continues with follow-up actions through `Anything else?`

## Supported Requests

| Request type      | Example                                    | What happens                                         |
| ----------------- | ------------------------------------------ | ---------------------------------------------------- |
| Add task          | `Add grocery shopping`                     | Adds a task, asking for details if needed            |
| Quick add         | `Add call Ahmed tomorrow`                  | Parses title and due date from one sentence          |
| Step-by-step add  | `I need to remember something`             | Asks for title, details, due date, and repeat notes  |
| View tasks        | `What's on my list?`                       | Reads incomplete tasks from all Google task lists    |
| Task details      | `Details on the second one`                | Speaks list name, due date, and notes when available |
| Complete task     | `Mark grocery shopping done`               | Finds and completes the matching task                |
| Complete multiple | `Complete birthday and holiday`            | Matches multiple tasks and confirms the batch        |
| Delete task       | `Delete birthday reminder`                 | Removes the selected task                            |
| Rename task       | `Rename grocery shopping to buy groceries` | Updates the task title                               |
| Exit              | `No thanks`                                | Ends the session                                     |

## Example Prompts

* "Add grocery shopping."
* "Add call Ahmed tomorrow."
* "I need to remember something."
* "Show my tasks."
* "What's on my list?"
* "Details on the second one."
* "Mark the first one done."
* "Complete birthday and holiday."
* "Delete grocery shopping."
* "Rename grocery shopping to buy groceries."

## Example Conversation

> **User:** Add call Ahmed tomorrow.
> **AI:** Added call Ahmed for tomorrow.
> **User:** What's on my list?
> **AI:** You have three open tasks. Call Ahmed tomorrow, grocery shopping, and book flight.
> **User:** Mark the first one done.
> **AI:** Done. Call Ahmed is complete.

## Trigger Phrases

* `google tasks`
* `tasks`
* `todo`
* `to-do list`
* `add a task`
* `show my tasks`

## Account Linking Guide

This ability does not use a manual API key. It reads a Google OAuth token from OpenHome with:

```python theme={"system"}
self.capability_worker.get_token("google")
```

See [Reading Linked Account Tokens with `get_token()`](/building-abilities/how-to-build#reading-linked-account-tokens-with-get-token) for the full reference, return shape, and a fallback pattern when the account is not linked.

1. Open OpenHome.
2. Go to **Settings -> Linked Accounts**.
3. Choose **Google**.
4. Sign in to the Google account you want to use.
5. Approve the requested Google permissions.
6. Return to OpenHome and enable or install the Google Tasks ability.
7. Add trigger phrases such as `tasks`, `todo`, and `add a task`.
8. Start a conversation and say one of the trigger phrases.

## Data Access

| Service          | Authentication        | Used for                                                    |
| ---------------- | --------------------- | ----------------------------------------------------------- |
| Google Tasks API | Linked Google account | Creating, listing, completing, deleting, and renaming tasks |

## Voice Flow

1. User triggers the ability.
2. The ability waits for the complete trigger transcription.
3. It checks for a linked Google account.
4. It builds a Google Tasks API service from the OpenHome Google token.
5. It classifies the request as `ADD`, `VIEW`, `COMPLETE`, `DELETE`, `UPDATE`, `EXIT`, or `UNKNOWN`.
6. If the request is unclear, it asks what the user wants to do.
7. It fetches current incomplete tasks when needed for matching.
8. It performs the selected task action.
9. It asks `Anything else?` for follow-up task actions.
10. The ability calls `resume_normal_flow()` when the session ends.

## Developer Credit

Developed by [@samsonadmasu](https://github.com/samsonadmasu).

<Card title="View on GitHub" icon="github" href="https://github.com/openhome-dev/abilities/tree/dev/community/google-tasks">
  Source code for the `google-tasks` community ability.
</Card>
