Skip to main content

At a glance

  • Availability: Enabled by default.
  • Auth: OAuth 2.0.
  • Connection: A user authorizes the connection in the provider’s consent screen.

Credentials

Set these per environment. See Connect an integration. With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.
VariableRequiredDescription
HARVEST_CLIENT_IDYesHarvest OAuth2 Client ID (from your OAuth2 application in Harvest ID) Docs.
HARVEST_CLIENT_SECRETYesHarvest OAuth2 Client Secret Docs.

Tools

ToolAccessDescription
List AccountsReadList all Harvest accounts the authenticated user can access. Call this first to get your Harvest-Account-Id for subsequent API calls.
Get Current UserReadGet the authenticated user’s Harvest profile (id, name, email, timezone, roles)
List UsersReadList all active users in the Harvest account
List Time EntriesReadList time entries (timesheets). Filter by user, project, client, or date range.
Get Time EntryReadGet details of a specific time entry by ID
Create Time EntryWriteCreate a new time entry (timesheet). Provide either hours or start/end times.
Update Time EntryWriteUpdate an existing time entry
Delete Time EntryWriteDelete a time entry. Only unlocked, non-billed entries can be deleted.
Stop TimerWriteStop a running timer for a time entry
Restart TimerWriteRestart a stopped timer for a time entry
List ProjectsReadList all projects in the Harvest account
Get ProjectReadGet details of a specific project
List TasksReadList all tasks available in the Harvest account
List Project Task AssignmentsReadList all task assignments for a specific project (tasks billable to this project)
List ClientsReadList all clients in the Harvest account
Get ClientReadGet details of a specific client
List InvoicesReadList all invoices. Filter by client, status, or date range.
Get InvoiceReadGet details of a specific invoice including line items
Create InvoiceWriteCreate a new invoice for a client
Update InvoiceWriteUpdate an existing invoice (subject, notes, dates, line items, state)
List Invoice PaymentsReadList all payments recorded for an invoice
Create Invoice PaymentWriteRecord a payment for an invoice
Time Report by ProjectReadGet a time report aggregated by project. Requires from and to date range.
Time Report by TeamReadGet a time report aggregated by team member. Requires from and to date range.
Time Report by ClientReadGet a time report aggregated by client. Requires from and to date range.
Time Report by TaskReadGet a time report aggregated by task. Requires from and to date range.
Invoice ReportReadGet an invoiced time and expenses report. Requires from and to date range.

Example prompts

  • Log time entries for today. Show me my projects and tasks, then create time entries for the work I describe.
  • Show me my time entries for this week grouped by project. Calculate total hours per project and overall.
  • Create a new invoice for a client. Import tracked time entries for the specified period and generate the invoice.
  • Show me all open invoices with their amounts, due dates, and payment status. Flag any overdue invoices.
  • Generate a time report for the team this month. Show hours logged per person, per project, and identify anyone who hasn’t logged time.