# Connect EMQX Agents to Google Tasks

The Google Tasks connector lets EMQX Agents create and manage task lists and tasks. Use it to turn device events, analysis results, and chat decisions into trackable work.

## Common Use Cases

- Create a maintenance task after detecting an abnormal device state.
- List overdue tasks before generating a daily operations summary.
- Move a task under another task to organize a checklist.
- Update task details when an incident changes.

Example chat prompt:

```text
Use the operations-tasks connector to create a task in the Device Maintenance list for device chiller-17. Set the title to Inspect high temperature alert.
```

## Prerequisites

Before adding the connector, prepare:

- A Google account with access to Google Tasks.
- Permission to authorize Composio to create, modify, organize, and delete Google Tasks data.
- Access to the task lists required by the workflow.

## Add a Google Tasks Connector

1. In the left navigation menu, click **Connectors**.
2. On the **Available** tab, locate **Google Tasks** and click **Add**.
3. Enter a descriptive connector name.
4. Click **Confirm**. The Google authorization flow opens in a dialog.
5. Select the Google account to connect, or click **Use another account**.
6. Review the requested permission. Composio can create, modify, organize, and delete all tasks available to the authorized account.
7. Click **Continue** to grant access.
8. Wait for Composio to display the successful connection message and return you to EMQX Agents.
9. On the **Added** tab, verify that the connector status is **Authorized**.

Review the requested access before continuing. For a managed Google Workspace account, organization policies may prevent you from authorizing third-party applications.

## Supported Tools

### Create and Update Tasks

| Tool | Access | Description |
|---|---|---|
| `GOOGLETASKS_CREATE_TASK_LIST` | Write | Creates a task list. |
| `GOOGLETASKS_INSERT_TASK` | Write | Creates a task in a task list. |
| `GOOGLETASKS_MOVE_TASK` | Write | Moves a task or changes its parent-child position. |
| `GOOGLETASKS_PATCH_TASK` | Write | Partially updates a task. |
| `GOOGLETASKS_PATCH_TASK_LIST` | Write | Partially updates a task list. |
| `GOOGLETASKS_UPDATE_TASK_FULL` | Write | Replaces all supported information for a task. |

### Delete Tasks

| Tool | Access | Description |
|---|---|---|
| `GOOGLETASKS_DELETE_TASK` | Destructive | Deletes a task. |
| `GOOGLETASKS_DELETE_TASK_LIST` | Destructive | Deletes a task list. |

### Read Tasks

| Tool | Access | Description |
|---|---|---|
| `GOOGLETASKS_GET_TASK` | Read | Gets task details. |
| `GOOGLETASKS_GET_TASK_LIST` | Read | Gets task list details. |
| `GOOGLETASKS_LIST_ALL_TASKS` | Read | Lists tasks across all task lists. |
| `GOOGLETASKS_LIST_TASK_LISTS` | Read | Lists task lists. |
| `GOOGLETASKS_LIST_TASKS` | Read | Lists tasks in a task list. |

::: warning Important Notice
Deleting a task or task list removes work items from the authorized account. Verify the task list and task IDs before deletion.
:::

## Use the Connector in a Chat

1. In the chat input area, click the connector icon.
2. Select the authorized **Google Tasks** connector.
3. In the prompt, identify the external resource and operation that the agent should use.
4. Review the generated agent definition and confirm that it contains only the required tools.

## Permissions and Data Access

The connector uses the authorized Google account and can access task lists available to that account, subject to Google Workspace policies.

Do not include external service credentials or access tokens in the chat prompt or agent instructions.

## Limitations

- Google Tasks API quotas apply.
- Task fields and hierarchy behavior are defined by Google Tasks.
- Deleting a task list can remove all tasks contained in that list.

<!-- TODO: Confirm service-specific result size limits, file limits, API rate limits, plan restrictions, and unsupported resource types. -->

## Troubleshooting

| Symptom | Resolution |
|---|---|
| The connector remains **Unauthorized**. | Retry authorization, select the intended Google account, and click **Continue** to grant the requested access. For a managed Google Workspace account, verify that your administrator allows Composio. |
| A tool returns a permission error. | Verify that the authorized account can access the target task list and that the required Google Tasks permission is still granted. Reauthorize the connector if necessary. |
| A required tool is unavailable. | Verify that the tool is supported and approved for this connector, then select the connector again in the chat. |
| Requests are rejected intermittently. | Check the external service status, API quota, rate limits, and account plan. |

## Related Links

- [Connectors](../connectors.md)
- [Start a Chat](../chats.md)
- [Manage Agents](../agents.md)
