All guides

Guide

Connect Google Tasks to Hermes Agent or OpenClaw with Composio

Capture loose follow-ups from chat, sort today’s workload, and close tasks when the work is done—while keeping deletion and bulk cleanup behind an explicit review.

A useful first job: turn a conversation into follow-ups

Suppose a planning chat ends with three loose commitments: send a draft, call a supplier, and review numbers next Friday. The agent can turn those into a clean task list, but it should first show what already exists. That prevents duplicates and makes sure “Work” means the list you intended.

Connect the managed integration

The dashboard path is identical for hosted Hermes Agent and OpenClaw because both use the same OpenClaw Launch Composio connection layer.

  1. Open Dashboard → Integrations and search for Google Tasks.
  2. Select that exact card and click Connect. The verified toolkit slug is googletasks.
  3. Complete Google OAuth with the account whose task lists you want the agent to use.
  4. When the card shows Connected, ask the agent to list task lists and make no changes.

Composio documents managed OAuth2 and the current actions in its Google Tasks toolkit reference. A Connected badge proves that OAuth finished; the read-only list proves that the chosen Google account exposes the expected data.

Use verified actions and inspect their schemas

composio connections
composio search googletasks task lists
composio search googletasks insert task
  • GOOGLETASKS_LIST_TASK_LISTS finds the available lists.
  • GOOGLETASKS_LIST_TASKS reads one list.
  • GOOGLETASKS_LIST_ALL_TASKS helps review work across lists.
  • GOOGLETASKS_INSERT_TASK creates a task.
  • GOOGLETASKS_PATCH_TASK changes selected fields without replacing the whole task.
  • GOOGLETASKS_MOVE_TASK changes task placement or hierarchy.

Do not write action parameters from memory. Have the agent read the current schema after discovery, especially for list IDs, task IDs, pagination, and status values.

Use my connected Google Tasks account. List my task lists, then show incomplete tasks due in the next seven days. Do not create, update, move, clear, or delete anything.

Once you recognize the list and the proposed tasks, follow with:

In the Work list, prepare three new tasks from these notes. Show each title, notes, and due date first. After I approve, create only those tasks and return their IDs.

Due dates have an important limitation

Google's official Tasks resource reference says the API's due field records only the date; its time component is discarded. “Friday at 3 PM” can become a Friday task, but the API cannot preserve 3 PM as its due time. Put time-specific commitments in Google Calendar, and use Tasks for work that is due on a day.

A safe follow-up workflow separates changes: create approved tasks, later list them again, then patch the status when you confirm completion. Avoid “clean up my tasks” as a first prompt because the toolkit also exposes GOOGLETASKS_DELETE_TASK and GOOGLETASKS_CLEAR_TASKS. Ask for candidate IDs before any destructive call.

Practical routines

  • At the start of the day, summarize overdue and due-today work by list.
  • After reading connected Gmail, draft task candidates from messages that clearly require a reply.
  • Before a weekly review, group incomplete tasks by due date and identify items without dates.
  • After the work is confirmed, patch the matching task to completed and leave unrelated tasks alone.

Troubleshooting Google Tasks

  • The expected list is missing: check which Google account completed OAuth. Personal and work accounts commonly have different lists.
  • The due time vanished: this is provider behavior, not a conversion bug. Google's API stores a due date only.
  • 401 or invalid_scope: reconnect the account. If you configured custom Google OAuth, verify its redirect URI, scopes, consent screen, and enabled Tasks API; these are called out in Composio's toolkit FAQ.
  • Quota exhausted: slow bulk workflows, avoid repeatedly listing every task, and retry after the provider's quota window.
  • A task appears twice: list the target list and match existing titles and dates before inserting. Keep returned task IDs for later updates.
  • An assigned task cannot be edited like a normal task: Google documents restrictions for tasks assigned from Docs or Chat Spaces. Inspect the item and its origin before retrying a write.

Self-hosted setup for Hermes Agent and OpenClaw

For an installation you run yourself, create a server in your own Composio project, select this app and the tools you need, and connect the intended account. Copy the complete generated MCP URL for that user. The examples below use Composio Platform MCP and a Composio project API key in x-api-key. An app password or provider API key belongs in the app connection flow, not in this header.

Set COMPOSIO_API_KEY in the environment of the agent process and replace the URL placeholder below. Merge the entry into your existing configuration. Keep your project key out of chat and source control. A connection on OpenClaw Launch does not automatically transfer to your own Composio project; Composio connections are scoped to their project and user.

Hermes Agent

Add the server under mcp_servers in ~/.hermes/config.yaml. You can set the environment variable in ~/.hermes/.env.

mcp_servers:
  composio:
    url: "YOUR_GENERATED_PLATFORM_MCP_URL"
    headers:
      x-api-key: "${COMPOSIO_API_KEY}"
    connect_timeout: 60
    timeout: 180

Run hermes mcp test composio to check discovery, then start a new session or use /reload-mcp in the Hermes CLI. See the Hermes MCP configuration reference for reload behavior and tool filters.

OpenClaw

Use a release with the native openclaw mcp commands. Its server definitions belong under mcp.servers in ~/.openclaw/openclaw.json:

{
  "mcp": {
    "servers": {
      "composio": {
        "url": "YOUR_GENERATED_PLATFORM_MCP_URL",
        "transport": "streamable-http",
        "headers": {
          "x-api-key": "${COMPOSIO_API_KEY}"
        }
      }
    }
  }
}

Ensure the Gateway service receives the environment variable, restarting that service after changing its environment. Run openclaw mcp doctor composio --probe and begin a new agent session. If your version lacks these commands, update before using this config. The native registry is separate from mcporter. See OpenClaw's MCP reference and HTTP transport fields.

Discovery confirms the MCP connection. Finish with this guide's first read request to check access to the actual app. The hosted composio shell commands earlier in this guide are supplied by OpenClaw Launch; a standalone MCP setup exposes tools through the agent's MCP client instead.

Frequently asked questions

Does Google Tasks through Composio work with Hermes Agent?

Yes. Managed Hermes Agent and OpenClaw instances connect Google Tasks through the same Integrations page and can use the same task actions.

Can the agent set a precise due time?

Not through the Google Tasks API. Google documents that the due field keeps the date but discards the time portion. Use Google Calendar when an exact time matters.

Can it delete completed tasks automatically?

The toolkit has delete and clear actions, but start by listing completed tasks and asking for a review. Clearing or deleting is destructive and should be a separate approved step.

Why does Google say the Tasks API is disabled?

With custom Google OAuth credentials, enable the Google Tasks API in the same Google Cloud project, then reconnect. Managed OAuth normally handles the provider setup.

Related guides

Connect Google Tasks to your agent

Add Google Tasks to a managed Hermes Agent or OpenClaw instance, then verify the right task list with a read-only request.

Open Integrations