Community코딩 & 개발github.com

Harvest 자동화

Harvest에서 시간 추적, 프로젝트 관리, 인보이싱 워크플로를 자동화합니다. 자연어 명령으로 시간 기록, 프로젝트, 클라이언트, 작업을 관리할 수 있습니다.

지원 대상Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/composio-skills/harvest-automation
AI Overview & Summary

이 스킬은 Claude Code에서 직접 Harvest 시간 추적 및 프로젝트 관리 작업을 완전히 자동화할 수 있게 해줍니다. 시간 항목 생성, 프로젝트 및 클라이언트 관리, 작업 생성, 보고 데이터 조회 등 Harvest의 주요 기능을 자연어 명령만으로 터미널에서 수행할 수 있습니다. Rube MCP 서버를 통해 Claude Code에 연결되며, Composio 플랫폼에서 제공하는 11개의 도구(HARVEST_CREATE_TIME_ENTRY, HARVEST_LIST_PROJECTS 등)를 사용합니다. 특히 시간 항목 생성 시 필수 파라미터(project_id, task_id, spent_date)를 정확히 설정해야 하며, Harvest 계정의 시간 추적 방식(기간 기반 vs 타임스탬프 기반)에 따라 hours와 started_time/ended_time 사용이 달라지므로 주의가 필요합니다. 또한 프로젝트 생성 시 5개 필수 필드(name, client_id, is_billable, bill_by, budget_by)를 모두 제공해야 하며, 태스크 이름은 전체 Harvest 계정에서 고유해야 합니다.

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

문서

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

  1. Add the Rube MCP server to your Claude Code config with URL: https://rube.app/mcp
  2. When prompted, authenticate your Harvest account through the connection link provided
  3. 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)

Powered by Composio

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

관련 스킬