"Harvest Automation"
Automate time tracking, project management, and invoicing workflows in Harvest -- log hours, manage projects, clients, and tasks through natural language comman
Automate time tracking, project management, and invoicing workflows in Harvest -- log hours, manage projects, clients, and tasks through natural language commands.
Rate this skill
name: Harvest Automation description: "Automate time tracking, project management, and invoicing workflows in Harvest -- log hours, manage projects, clients, and tasks through natural language commands." requires: mcp: - rube
Harvest Automation
Automate your Harvest time tracking operations directly from Claude Code. Log time entries, manage projects and clients, create tasks, and pull reporting data -- all without leaving your terminal.
Toolkit docs: composio.dev/toolkits/harvest
Setup
- Add the Rube MCP server to your Claude Code config with URL:
https://rube.app/mcp - When prompted, authenticate your Harvest account through the connection link provided
- Start automating your time tracking workflows with natural language
Core Workflows
1. Log and Manage Time Entries
Create, list, update, and retrieve time entries for accurate billing and reporting.
Tools: HARVEST_CREATE_TIME_ENTRY, HARVEST_LIST_TIME_ENTRIES, HARVEST_GET_TIME_ENTRY, HARVEST_UPDATE_TIME_ENTRY
Log 3.5 hours of development work on project 12345, task 67890 for today
Key parameters for HARVEST_CREATE_TIME_ENTRY:
project_id(required) -- the project to log againsttask_id(required) -- the task must be assigned to the projectspent_date(required) -- date in YYYY-MM-DD formathours-- total hours (for duration-based accounts)started_time/ended_time-- for timestamp-based accountsnotes-- description of work performed
Key parameters for HARVEST_LIST_TIME_ENTRIES:
from_date/to-- date range filters (YYYY-MM-DD)project_id,client_id,task_id,user_id-- entity filtersis_billed/is_running-- status filterspage/per_page(max 2000) -- pagination
2. Manage Projects
Create new projects and list existing ones with client and billing configuration.
Tools: HARVEST_CREATE_PROJECT, HARVEST_LIST_PROJECTS, HARVEST_GET_PROJECT
Create a billable project called "Website Redesign" for client 456 with Tasks billing and project budget
Key parameters for HARVEST_CREATE_PROJECT:
name,client_id,is_billable,bill_by,budget_by(all required)bill_byoptions:"Project","Tasks","People","none"budget_byoptions:"project","project_cost","task","task_fees","person","none"- Optional:
budget,hourly_rate,starts_on,ends_on,is_fixed_fee
3. Manage Clients
Create and list clients that projects are organized under.
Tools: HARVEST_CREATE_CLIENT, HARVEST_LIST_CLIENTS
List all active clients in our Harvest account
HARVEST_CREATE_CLIENTrequiresname; acceptsaddress,currency,is_activeHARVEST_LIST_CLIENTSsupportsis_activefilter and pagination (per_pagemax 2000)
4. Manage Tasks
Create and list reusable task types for time tracking.
Tools: HARVEST_CREATE_TASK, HARVEST_LIST_TASKS
Create a new billable task called "Code Review" with a default rate of $150/hr
HARVEST_CREATE_TASKrequiresname; acceptsbillable_by_default,default_hourly_rate,is_active,is_defaultHARVEST_LIST_TASKSsupportsis_active,is_defaultfilters and pagination (per_pagemax 100)- Task names must be unique across all tasks (active and archived)
5. Time Entry Reporting
Pull time entries with date ranges and filters for billing summaries and utilization reports.
Tools: HARVEST_LIST_TIME_ENTRIES, HARVEST_GET_TIME_ENTRY
Show me all unbilled time entries for project 789 from January 2026
- Use
from_dateandtofor date windowing - Filter with
is_billed: falsefor unbilled entries - Combine
project_id,user_id,client_idfor cross-dimensional reporting - Paginate with
pageandper_pageto gather complete datasets
6. Update and Correct Time Entries
Modify existing time entries to fix hours, reassign projects, or update notes.
Tools: HARVEST_UPDATE_TIME_ENTRY
Update time entry 123456 to change the hours to 4.0 and add the note "Completed API integration"
- Requires
time_entry_id - Supports partial updates -- only include fields you want to change
- Can update
hours,notes,project_id,task_id,spent_date,started_time,ended_time
Known Pitfalls
- Task assignment matters: When creating time entries, the
task_idmust correspond to a task that is actually assigned to the specifiedproject_id. Use project task assignments endpoint to verify, not justHARVEST_LIST_TASKS(which returns global tasks). - Duration vs. timestamp tracking: Harvest accounts are configured for either duration-based or timestamp-based tracking.
hoursis ignored on timestamp accounts;started_time/ended_timeare ignored on duration accounts. - Pagination limits vary:
HARVEST_LIST_TIME_ENTRIESandHARVEST_LIST_CLIENTSsupport up to 2000 per page, butHARVEST_LIST_PROJECTSandHARVEST_LIST_TASKScap at 100 per page. - Date format consistency: All date parameters must use
YYYY-MM-DDformat. ISO 8601 with timezone is used forupdated_sincefilters. - Required fields for projects:
HARVEST_CREATE_PROJECTrequires five fields:name,client_id,is_billable,bill_by, andbudget_by. Missing any will cause a validation error.
Quick Reference
| Tool Slug | Description |
|---|---|
HARVEST_LIST_TIME_ENTRIES | List time entries with date, project, client, user filters |
HARVEST_CREATE_TIME_ENTRY | Log a new time entry (requires project_id, task_id, spent_date) |
HARVEST_GET_TIME_ENTRY | Retrieve a specific time entry by ID |
HARVEST_UPDATE_TIME_ENTRY | Update an existing time entry (requires time_entry_id) |
HARVEST_LIST_PROJECTS | List projects with optional client filter |
HARVEST_CREATE_PROJECT | Create a new project with billing config |
HARVEST_GET_PROJECT | Retrieve a specific project by ID |
HARVEST_LIST_CLIENTS | List clients with active/inactive filter |
HARVEST_CREATE_CLIENT | Create a new client (requires name) |
HARVEST_LIST_TASKS | List reusable task types |
HARVEST_CREATE_TASK | Create a new task type (requires name) |
Powered by Composio
Reviews (0)
Sign in to leave a review.
No reviews yet. Be the first!