# Harvest AI employee

Viktor works in Harvest for you. Ask in Slack or Microsoft Teams.

Viktor is an AI employee that connects to Harvest and helps you track billable hours and timesheets, running 37 Harvest actions for you like Get Me, Get User, and List Tasks. Ask in plain English from your workspace; Viktor does the work in Harvest and reports back. Viktor connects in one click via OAuth.

- Tool: Harvest
- Category: Productivity
- Connection: One-click OAuth
- Actions available: 37
- Currently available in: Slack, Microsoft Teams, and Discord
- Page: https://viktor.com/integrations/harvest

## What can your AI employee do in Harvest?

Viktor connects to your Harvest account and completes work in it. He doesn't just answer questions about Harvest, he takes the actions on your behalf and delivers the finished result to your workspace.

Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right Harvest actions, chains them with the other 9,800+ tools he connects to, and asks for approval before anything sensitive runs.

### About Harvest

Online Time Tracking and Invoicing Software

### How a run works

1. **You ask in your workspace** - Describe what you need in plain English
2. **Viktor picks the actions** - Selects from 37 Harvest actions, chains them together
3. **Runs in Harvest** - Helps you track billable hours and timesheets - your real data.
4. **Reports back** - Delivers the finished result to your workspace

## Use Harvest from Slack and Microsoft Teams

Message Viktor in a Slack channel, a Microsoft Teams chat or a direct message. He opens Harvest, does the work and posts the result in the same thread, so nobody has to switch tabs.

He can also run Harvest work on a schedule, like a weekly Harvest summary posted to your team's channel. Anything sensitive waits for your approval before it runs.

## Security and permissions

- One-click OAuth - Viktor never sees your password, and you can revoke access at any time.
- Review-first approvals: sensitive Harvest actions wait for your sign-off before they run.
- Isolated compute per team, encrypted in transit and at rest - and your data is never used to train models.
- SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.
- Viktor is not affiliated with or endorsed by Harvest.

## What can you ask Viktor to do in Harvest?

- "Log today's hours in Harvest against this project."
- "Pull this week's tracked hours from Harvest and flag anyone over budget."
- "Post a summary of this week's Harvest timesheets to #ops every Friday."
- "Watch Harvest for missing timesheet entries and remind the team every Monday."

## How does Viktor work with Harvest?

1. Open Viktor in a supported workspace.
2. Connect Harvest with one-click OAuth - Viktor handles authentication.
3. Ask in plain English. Viktor runs the Harvest actions, chains them with your other tools when needed, and reports back. Sensitive actions wait for your approval.

## What can Viktor do in Harvest? (37 actions)

- **Create Invoice** - Create a new free-form invoice for a client. Provide Line Items as a JSON array to itemize the invoice.
- **Create Project** - Create a new project.
- **Create Task Assignment** - Assign a task to a project. Use Get Projects to find a project ID and List Tasks to find a task ID.
- **Create Timesheet Entry** - Create a new time entry. Two ways to log time, matching the account's Company setting: on duration-based accounts (wantstimestamptimers is false — the common case) set Hours to log a completed entry directly. On timestamp-based accounts (wantstimestamptimers is true) leave Hours blank and use Started Time/Ended Time instead — leave both time fields blank too to start a running timer now, or set both to log a completed entry with explicit start/end times. Passing Started/Ended Time on a duration-based account is silently ignored by Harvest (it starts a running timer instead) — if that happens, switch to Hours. Use Get Projects to find a Project ID, List Tasks to find a Task ID, and List Users to find a User ID. Example (duration-based): call with projectId, taskId, spentDate=\"2026-09-17\", hours=3.5. Example (timestamp-based): the same call with hours omitted and startedTime/endedTime set instead. and start/end time variant.
- **Create User Assignment** - Assign a user to a project. Use Get Projects to find a project ID, and List Users to find user IDs.
- **Create User** - Create a new user in the Harvest account.
- **Delete Invoice** - Permanently delete an invoice. Use List Invoices to find a valid ID.
- **Delete Project** - Permanently delete a project and all time entries and expenses tracked to it (invoices are not deleted). Use Get Projects to find a project ID.
- **Delete Task Assignment** - Delete a task assignment from a project (only possible if it has no time entries). Use List Task Assignments to find IDs.
- **Delete Time Entry** - Permanently delete a time entry. Use List Time Entries to find a valid ID.
- **Delete User Assignment** - Delete a user assignment from a project (only possible if it has no time entries or expenses). Use List User Assignments to find IDs.
- **Delete User** - Permanently delete a user (only possible if they have no time entries or expenses). Use List Users to find a valid ID.
- **Get Invoice** - Retrieve a single invoice by ID. Use List Invoices to find a valid ID.
- **Get Me** - Retrieve the currently authenticated user from GET /users/me. Takes no ID input.
- **Get Project** - Retrieve a single project by ID.
- **Get Projects** - Retrieve one or more projects. Omit Project IDs to list every project in the account (up to ) — use this to discover project IDs for other Harvest tools. Provide Project IDs to fetch specific projects instead.
- **Get Task Assignment** - Retrieve a single task assignment on a project. Use List Task Assignments to find IDs.
- **Get Time Entry** - Retrieve a single time entry by ID. Use List Time Entries to find a valid ID.
- **Get Time Report** - Retrieve total hours logged, aggregated by a chosen dimension (clients, projects, tasks, or team) over a date range, automatically following pagination up to results. Use when the user asks "how many hours were logged/worked on X", "how much time did the team spend on Y", or wants a time report/summary/breakdown — this is the only tool that returns aggregated totals; List Time Entries returns individual raw entries you would have to sum yourself. The Report By value selects which \/reports/time/{dimension}\ endpoint is called.
- **Get User Assignment** - Retrieve a single user assignment on a project. Use List User Assignments to find IDs.
- **Get User** - Retrieve a single user by ID. Use List Users to find a valid ID. To fetch the authenticated user, use Get Me instead.
- **List Account ID Options** - List the Harvest accounts (companies) the authenticated user has access to, each with its Account ID. Use this first to find the Account ID required by every other Harvest tool.
- **List Clients** - List clients in the Harvest account, automatically following pagination up to clients. Use this to discover client IDs for Create Invoice, Create Project, and other tools that accept a Client ID.
- **List Invoices** - List invoices with optional filters, automatically following pagination up to invoices. Use this to discover invoice IDs for Get Invoice, Update Invoice, or Delete Invoice.
- **List Task Assignments** - List task assignments, automatically following pagination up to . Omit Project ID to use the global endpoint; provide a Project ID to list assignments for a single project.
- **List Tasks** - List tasks in the Harvest account, automatically following pagination up to tasks. Use this to discover task IDs for Create Task Assignment, Create Timesheet Entry, and other tools that accept a Task ID.
- **List Time Entries** - Retrieve a list of time entries from Harvest, with optional filters, automatically following pagination up to entries. Use this to discover time entry IDs for Get Time Entry, Update Time Entry, or Delete Time Entry. For a pure "how many entries are there" question, set \countOnly\ to skip fetching any entries and just return the true total — safe even on a huge, unfiltered result set that would otherwise exceed the response-size limit. Pass \notes\ to filter results to entries whose notes contain that text (client-side, case-insensitive substring) — useful for finding one entry inside a large result set without hitting the output-size limit.
- **List User Assignments** - List user assignments, automatically following pagination up to . Omit Project ID to use the global endpoint; provide a Project ID to list assignments for a single project.
- **List Users** - List users in the Harvest account, automatically following pagination up to users. Use this to discover user IDs for Create User Assignment, Create Timesheet Entry, and other tools that accept a User ID.
- **Start Time Entry** - Restart a stopped time entry so it resumes running. Use List Time Entries with Is Running set to false to find a stopped entry to restart.
- **Stop Time Entry** - Stop a currently running time entry. Use List Time Entries with Is Running set to true to find a running entry to stop.
- **Update Invoice** - Update an existing invoice. Use List Invoices to find a valid ID.
- **Update Project** - Update an existing project. Use Get Projects to find a project ID.
- **Update Task Assignment** - Update a task assignment on a project. Use List Task Assignments to find IDs.
- **Update Time Entry** - Update an existing time entry. Use List Time Entries to find a valid ID.
- **Update User Assignment** - Update a user assignment on a project. Use List User Assignments to find IDs.
- **Update User** - Update an existing user. Use List Users to find a valid ID.

## Viktor uses Harvest together with

- [Slack](https://viktor.com/integrations/slack)
- [Gmail](https://viktor.com/integrations/gmail)
- [Google Sheets](https://viktor.com/integrations/google-sheets)
- [HubSpot](https://viktor.com/integrations/hubspot)
- [Salesforce](https://viktor.com/integrations/salesforce)
- [Stripe](https://viktor.com/integrations/stripe)

## More Productivity integrations

- [GitHub](https://viktor.com/integrations/github)
- [Jira & Confluence](https://viktor.com/integrations/jira-confluence)
- [Asana](https://viktor.com/integrations/asana)
- [Monday.com](https://viktor.com/integrations/monday-com)
- [Linear](https://viktor.com/integrations/linear)
- [Notion](https://viktor.com/integrations/notion)
- [Miro](https://viktor.com/integrations/miro)
- [ServiceM8](https://viktor.com/integrations/servicem8)

## FAQ

### Does Viktor integrate with Harvest?

Yes. Harvest is one of the 9,800+ tools Viktor connects to, in one click via OAuth. Once connected, anyone on your team can put Viktor to work in Harvest from their workspace - no workflow builder, no code.

### How do I connect Harvest to Viktor?

Ask Viktor in your workspace to connect Harvest, then approve the one-click OAuth prompt. Viktor never sees your password, handles authentication itself, and starts working right away. Setup takes about two minutes, and you can revoke access at any time.

### What can Viktor do in Harvest?

Viktor can run 37 Harvest actions, including Get Me, Get User, and List Tasks - and chain them with other tools in a single request. In practice that means Viktor helps you track billable hours and timesheets. If a task spans several actions, Viktor plans the sequence itself and reports back when the work is done.

### Do I need to build workflows for Harvest?

No. Viktor isn't a workflow builder - there are no triggers to map and nothing to maintain. You ask for the outcome in plain English in your workspace, and Viktor decides which Harvest actions to take, runs them, and reports back.

### Is my Harvest data secure with Viktor?

Yes. Viktor connects to Harvest in one click via OAuth, runs in an isolated environment per team, and never trains models on your data. Sensitive actions wait for your approval, and you can revoke access at any time. Viktor is SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.

### How much does the Harvest integration cost?

Nothing extra - every integration, including Harvest, is available on every plan. You can start free with up to $100 in credits, no credit card required; the Team plan is $100 a month.

### Can Viktor use Harvest together with my other tools?

Yes - that's the point. Viktor connects to 9,800+ tools and works across them in a single run: he can pull data from Harvest, cross-reference it with another tool - for example Slack or Gmail, and deliver the finished result in your workspace.

## Get started

Viktor is free to start - up to $100 in credits, no credit card required. All 9,800+ integrations are included on every plan. Sign up at https://viktor.com or browse all integrations at https://viktor.com/integrations.
