Count hours for each client from your calendar

Every meeting matched to a client, with total hours for each client and each week, in a sheet.

  • You start it: When you start it

What it does

The task

Read my events in Google Calendar from start date to end date. Match each event to a client by the event title, the e-mail domains of the guests, and this list: client list. Skip declined events, all-day events, and events with no outside guests unless the title names a client. Put one row for each event in a new Google Sheet: date, client, title, start, end and hours. Add a tab with the total hours for each client and each week, and list the events that you could not match.

  • It works in Google Calendar and Google Sheets, in the workspace you pick, and signs in with passwords from your Cuiar vault.
  • It runs once, when you start it.

What you give it

BlankWhat to giveExample
start dateThe first day to count2026-10-01
end dateThe last day to count2026-10-31
client listClient names and their e-mail domainsSolano Health (solanohealth.com), Tarn Energy (tarn.energy), Corvid Freight (corvidfreight.com)

What you get back

An example run with the example values above. Your run uses your own data.

Events read: 1 to 31 October 2026, 142 events

Matched: 118 events, 96.5 hours

ClientHoursEvents
Solano Health31.034
Tarn Energy24.529
Corvid Freight22.031
Marlow Bakery Group19.024

Not matched: 9 events, for example 'Catch-up' on 14 October (no guests)

Skipped: 15 internal or declined events

Sheet: Hours October 2026, 2 tabs

Run it in Cuiar

  1. 01

    Open it

    Click Use in Cuiar on this page. The side panel opens with the task in the composer.

  2. 02

    Fill in 3 blanks

    Type start date, end date and client list. Tab moves to the next blank.

  3. 03

    Run it

    Run sends it to the agent. Follow each step in the panel, and stop it at any time.

From the terminal

cuiar exec "Read my events in Google Calendar from 2026-10-01 to 2026-10-31. Match each event to a client by the event title, the e-mail domains of the guests, and this list: Solano Health (solanohealth.com), Tarn Energy (tarn.energy), Corvid Freight (corvidfreight.com). Skip declined events, all-day events, and events with no outside guests unless the title names a client. Put one row for each event in a new Google Sheet: date, client, title, start, end and hours. Add a tab with the total hours for each client and each week, and list the events that you could not match."

Run it from your AI agent

Claude Code, Codex, Cursor and other MCP clients reach Cuiar at https://mcp.cuiar.com/mcp. Add the server one time, then ask for the task in plain words, or call run_task yourself.

1. Add Cuiar to Claude Code

claude mcp add --transport http cuiar https://mcp.cuiar.com/mcp

2. Ask your agent

Use the Cuiar tool run_task to run my "Count hours for each client from your calendar" template with start date = 2026-10-01; end date = 2026-10-31; client list = Solano Health (solanohealth.com), Tarn Energy (tarn.energy), Corvid Freight (corvidfreight.com).

Setup for other agents: AI agents.

The tool call

{
  "name": "run_task",
  "arguments": {
    "task": "Read my events in Google Calendar from 2026-10-01 to 2026-10-31. Match each event to a client by the event title, the e-mail domains of the guests, and this list: Solano Health (solanohealth.com), Tarn Energy (tarn.energy), Corvid Freight (corvidfreight.com). Skip declined events, all-day events, and events with no outside guests unless the title names a client. Put one row for each event in a new Google Sheet: date, client, title, start, end and hours. Add a tab with the total hours for each client and each week, and list the events that you could not match."
  }
}
All data templates
  • Ops

    Review your recurring meetings

    Each repeating meeting with its cost in hours, its declines and its agenda, and advice to keep, shorten or cancel.

    You start it: When you start it
    • Google Calendar
    • Google Sheets
  • Finance

    Build a mileage log from your calendar

    Each business trip with its date, purpose, route and distance, and the total claim at your rate.

    You start it: When you start it
    • Google Calendar
    • Google Maps
    • Google Sheets
  • Data

    Turn a list on a website into a sheet

    Each item from each page, one row for each, with no duplicates.

    You start it: When you start it
    • Any website
    • Google Sheets
  • Data

    List local businesses with their contacts

    Name, address, phone, website, rating and e-mail for each business.

    You start it: When you start it
    • Google Maps
    • Google Sheets
  • Data

    Export your order history

    For stores with no export: each order in a sheet, with totals for each year.

    You start it: When you start it
    • Any online store
    • Google Sheets
  • Data

    Pull tables from PDFs into a spreadsheet

    Each matching table from your PDFs and scans in one sheet, with numbers as numbers and the page noted.

    You start it: When you start it
    • Google Drive
    • Google Sheets