PromptShop

Harvest Automation

The Harvest Automation skill allows users to automate time tracking and project management tasks within the Harvest platform directly from Claude Code.

Install

npx promptshop add Harvest

Details

What This Skill Does

The Harvest Automation skill allows users to automate time tracking and project management tasks within the Harvest platform directly from Claude Code. It's designed for project managers, developers, and anyone who needs to log time, manage projects, and generate reports in Harvest. Users can create time entries, manage projects, and pull reporting data using natural language commands.

When to Use

  • Log billable hours to a specific project and task.
  • List all time entries within a specified date range.
  • Update the notes or duration of an existing time entry.
  • Create a new project with client and billing configurations.
  • Retrieve details for a specific project by its ID.
  • Generate a report of time spent on a project by user.

Key Features

  • Creates and manages time entries with detailed parameters.
  • Lists and filters time entries based on various criteria.
  • Creates new projects with billing and budget configurations.
  • Retrieves project details by ID.
  • Integrates directly with Harvest via Rube MCP.
  • Uses natural language commands for task execution.

Manual Installation

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 against task_id (required) -- the task must be assigned to the project spent_date (required) -- date in YYYY-MM-DD format hours -- total hours (for duration-based accounts) started_time / ended_time -- for timestamp-based accounts notes -- 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 filters is_billed / is_running -- status filters page / 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_by options: "Project", "Tasks", "People", "none" budget_by options: "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_CLIENT requires name; accepts address, currency, is_active HARVEST_LIST_CLIENTS supports is_active filter and pagination (per_page max 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_TASK requires name; accepts billable_by_default, default_hourly_rate, is_active, is_default HARVEST_LIST_TASKS supports is_active, is_default filters and pagination (per_page max 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_date and to for date windowing Filter with is_billed: false for unbilled entries Combine project_id, user_id, client_id for cross-dimensional reporting Paginate with page and per_page to 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_id must correspond to a task that is actually assigned to the specified project_id. Use project task assignments endpoint to verify, not just HARVEST_LIST_TASKS (which returns global tasks). Duration vs. timestamp tracking: Harvest accounts are configured for either duration-based or timestamp-based tracking. hours is ignored on timestamp accounts; started_time/ended_time are ignored on duration accounts. Pagination limits vary: HARVEST_LIST_TIME_ENTRIES and HARVEST_LIST_CLIENTS support up to 2000 per page, but HARVEST_LIST_PROJECTS and HARVEST_LIST_TASKS cap at 100 per page. Date format consistency: All date parameters must use YYYY-MM-DD format. ISO 8601 with timezone is used for updated_since filters. Required fields for projects: HARVEST_CREATE_PROJECT requires five fields: name, client_id, is_billable, bill_by, and budget_by. Missing any will cause a validation error.

Quick Reference

Tool SlugDescription
HARVEST_LIST_TIME_ENTRIESList time entries with date, project, client, user filters
HARVEST_CREATE_TIME_ENTRYLog a new time entry (requires project_id, task_id, spent_date)
HARVEST_GET_TIME_ENTRYRetrieve a specific time entry by ID
HARVEST_UPDATE_TIME_ENTRYUpdate an existing time entry (requires time_entry_id)
HARVEST_LIST_PROJECTSList projects with optional client filter
HARVEST_CREATE_PROJECTCreate a new project with billing config
HARVEST_GET_PROJECTRetrieve a specific project by ID
HARVEST_LIST_CLIENTSList clients with active/inactive filter
HARVEST_CREATE_CLIENTCreate a new client (requires name)
HARVEST_LIST_TASKSList reusable task types
HARVEST_CREATE_TASKCreate a new task type (requires name)

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

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 against task_id (required) -- the task must be assigned to the project spent_date (required) -- date in YYYY-MM-DD format hours -- total hours (for duration-based accounts) started_time / ended_time -- for timestamp-based accounts note