harvest · 57 tools · no triggers
Connect it
run auth harvest
run auth harvest --scope team # shared with the organization
Use it
run harvest # common commands
run harvest --all # every command
import { harvest } from "@boxd/run";
Common tools
| Tool | What it does |
|---|---|
create-client | Tool to create a new client. Use after gathering client details to register a new client in Harvest. |
create-client-contact | Tool to create a new client contact. Use when you need to add a contact under an existing client. |
create-estimate | Tool to create a new estimate. Use after gathering client and line item details. |
create-estimate-item-category | Tool to create a new estimate item category in Harvest. Use after deciding to categorize line items within an estimate. |
create-estimate-message | Tool to create a new message for an estimate. Use when you have an estimate ID and want to send a message or run an event (send, accept, decline… |
create-expense | Tool to create a new expense entry. Use when recording costs against projects. |
create-invoice | Tool to create a new invoice. Use when you have gathered all invoice details and need to bill a client in Harvest. |
create-invoice-item-category | Tool to create a new invoice item category. Use after you have decided on the category name to register it in Harvest. |
create-invoice-message | Creates a new message for an invoice in Harvest. Use this to send invoice notifications to clients, create draft messages, or change invoice states (close/reopen). |
create-invoice-payment | Tool to create a new payment on an invoice. Use when recording a payment against an existing invoice. |
create-project | Create a new project in Harvest. A project is a container for tracking time, expenses, and invoices for a specific client engagement. |
create-task | Creates a new task in Harvest. Tasks are reusable activity types (e.g., “Development”, “Design”, “Consulting”) that can be assigned to projects for time tracking. |
create-time-entry | Tool to create a new time entry. Use when logging hours for a project by specifying start/end times or duration. |
create-user | Creates a new user in Harvest and sends an invitation email to the specified address. |
delete-client | Tool to delete a client. Use when you need to remove a client that has no associated projects, invoices, or estimates. |
delete-client-contact | Permanently deletes a client contact from Harvest. Use when you need to remove a contact that is no longer relevant. |
delete-estimate | Tool to delete an estimate. Use when you need to remove an estimate that is no longer needed. |
delete-estimate-message | Tool to delete an estimate message. Use when you need to remove a message from an estimate. |
delete-invoice | Delete an invoice from Harvest. Removes the specified invoice permanently. |
delete-invoice-item-category | Tool to delete an invoice item category from Harvest. Returns 200 OK on success with no response body. |
delete-invoice-message | Tool to delete a message from an invoice. Use when you need to remove a specific message that is no longer relevant. |
delete-invoice-payment | Tool to delete an invoice payment. Use when you need to remove a payment from an invoice after confirming payment details. |
delete-project | Tool to delete a project. Use when you need to remove a project and all its associated time entries and expenses; invoices remain intact. |
delete-task | Tool to delete a task. Use when you need to remove a task that has no associated time entries. |
delete-time-entry | Tool to delete a time entry. Use when removing an existing time entry that is deletable (not closed or on archived projects/tasks). |
All 57 tools
All 57 tools
| Tool | What it does |
|---|---|
create-client | Tool to create a new client. Use after gathering client details to register a new client in Harvest. |
create-client-contact | Tool to create a new client contact. Use when you need to add a contact under an existing client. |
create-estimate | Tool to create a new estimate. Use after gathering client and line item details. |
create-estimate-item-category | Tool to create a new estimate item category in Harvest. Use after deciding to categorize line items within an estimate. |
create-estimate-message | Tool to create a new message for an estimate. Use when you have an estimate ID and want to send a message or run an event (send, accept, decline… |
create-expense | Tool to create a new expense entry. Use when recording costs against projects. |
create-invoice | Tool to create a new invoice. Use when you have gathered all invoice details and need to bill a client in Harvest. |
create-invoice-item-category | Tool to create a new invoice item category. Use after you have decided on the category name to register it in Harvest. |
create-invoice-message | Creates a new message for an invoice in Harvest. Use this to send invoice notifications to clients, create draft messages, or change invoice states (close/reopen). |
create-invoice-payment | Tool to create a new payment on an invoice. Use when recording a payment against an existing invoice. |
create-project | Create a new project in Harvest. A project is a container for tracking time, expenses, and invoices for a specific client engagement. |
create-task | Creates a new task in Harvest. Tasks are reusable activity types (e.g., “Development”, “Design”, “Consulting”) that can be assigned to projects for time tracking. |
create-time-entry | Tool to create a new time entry. Use when logging hours for a project by specifying start/end times or duration. |
create-user | Creates a new user in Harvest and sends an invitation email to the specified address. |
delete-client | Tool to delete a client. Use when you need to remove a client that has no associated projects, invoices, or estimates. |
delete-client-contact | Permanently deletes a client contact from Harvest. Use when you need to remove a contact that is no longer relevant. |
delete-estimate | Tool to delete an estimate. Use when you need to remove an estimate that is no longer needed. |
delete-estimate-message | Tool to delete an estimate message. Use when you need to remove a message from an estimate. |
delete-invoice | Delete an invoice from Harvest. Removes the specified invoice permanently. |
delete-invoice-item-category | Tool to delete an invoice item category from Harvest. Returns 200 OK on success with no response body. |
delete-invoice-message | Tool to delete a message from an invoice. Use when you need to remove a specific message that is no longer relevant. |
delete-invoice-payment | Tool to delete an invoice payment. Use when you need to remove a payment from an invoice after confirming payment details. |
delete-project | Tool to delete a project. Use when you need to remove a project and all its associated time entries and expenses; invoices remain intact. |
delete-task | Tool to delete a task. Use when you need to remove a task that has no associated time entries. |
delete-time-entry | Tool to delete a time entry. Use when removing an existing time entry that is deletable (not closed or on archived projects/tasks). |
delete-user | Tool to delete a user. Use when you need to remove a user that has no associated time entries or expenses. |
get-client | Retrieves a specific client by ID from Harvest. Use this to get detailed information about a client including their name, active status, address… |
get-company-info | Retrieves detailed information about the company associated with the authenticated Harvest account. |
get-estimate | Tool to retrieve a specific estimate by ID. Use after confirming the estimate ID. |
get-invoice | Tool to retrieve a specific invoice by ID. Use when you need the full details of an invoice after selecting or creating it. |
get-project | Tool to retrieve a specific Harvest project by ID. Use when you have a project ID and need its details. |
get-task | Tool to retrieve a specific task by ID. Use when you have a task ID and need its detailed information. |
get-time-entry | Tool to retrieve a single time entry by ID. Use when you have a specific time entry ID and need its full details. |
get-user | Tool to retrieve a specific user by ID. Use after obtaining a valid user ID (for example via List Users). |
list-client-contacts | Tool to list client contacts. Use when you need to retrieve contacts with optional filtering and pagination. |
list-clients | Tool to list clients. Use when you need to retrieve a paginated list of clients from Harvest. |
list-estimate-messages | Lists all messages associated with a specific estimate in Harvest. |
list-expense-categories | Tool to list expense categories. Use when you need to retrieve a paginated list of expense categories, optionally filtering by active status or last update timestamp. |
list-invoice-item-categories | Tool to retrieve invoice item categories. Use when you need to fetch a paginated list of invoice item categories in Harvest. |
list-invoice-messages | Tool to list messages associated with a given invoice. Use when you need to retrieve invoice messages with optional filtering by update time and pagination. |
list-invoice-payments | List all payments recorded for a specific invoice. Returns payment details including amounts, dates, payment gateway information, and who recorded each payment. |
list-invoices | Tool to list invoices. Use when you need to retrieve invoices filtered by client, project, date range, or state. |
list-projects | Tool to list projects. Use when you need to retrieve a paginated list of projects from Harvest. |
list-tasks | Tool to list tasks. Use when you need to retrieve a paginated list of tasks from Harvest. |
list-time-entries | Tool to retrieve a list of time entries. Use when you need to fetch tracked hours with filters or date ranges for reporting or invoicing. |
list-users | Tool to list users. Use when you need to retrieve a paginated list of users from Harvest. |
update-client | Tool to update an existing client. Use after retrieving client details to modify its properties. |
update-client-contact | Tool to update a client contact. Use when you have a contact_id and need to modify its details. |
update-company-info | Updates company time tracking settings in Harvest. This endpoint allows modification of two company settings: 1. wants_timestamp_timers - Controls… |
update-estimate | Tool to update an existing estimate. Use when you need to modify specific fields of an estimate; omit parameters to leave other fields unchanged. |
update-estimate-item-category | Updates an existing estimate item category’s name in Harvest. |
update-expense | Tool to update an existing expense. Use after retrieving an expense to modify project, category, date, cost, or delete a receipt; omit fields to leave unchanged. |
update-invoice | Tool to update an existing invoice. Use after retrieving invoice details to modify its fields. |
update-project | Tool to update an existing project. Use when you need to modify one or more fields of a project by its ID. |
update-task | Tool to update an existing task. Use after retrieving task details to modify its attributes such as name, billing defaults, or status. |
update-time-entry | Tool to update an existing time entry. Use after retrieving the entry to adjust hours, notes, project, or task details. |
update-user | Tool to update an existing user. Use when you need to modify a user’s profile or settings after confirming the user ID. |