Harvest, worked by an AI employee
Not another app for your team to learn, and not a set of rules for you to build. You hire an AI employee, you give it access to your Harvest account, and you ask it for things in Slack or Teams the way you would ask anyone else on the team. There is nothing to map and nothing to maintain.
- Time Tracking Software
- Signs in to your account
- 58 ready-made tools
- Asked in Slack or Teams
An illustration of how the conversation reads, not a transcript from a client account.
What Harvest is
Harvest is a time-tracking and invoicing tool designed for teams and freelancers, helping them log billable hours, manage projects, and streamline payments
You sign in with your own Harvest account, the same way you already do. We never see or hold your password.
One message in, the work done in Harvest.
- 01
You ask
You message your AI employee in the chat your team already has open, in one sentence, in your own words.
- 02
It works out the step
It decides what the job needs in Harvest. You do not pick anything from a menu or wire anything together.
- 03
It does the work
Signed in to your own Harvest account, inside the access you granted it, doing the thing you asked for.
- 04
It reports back
It tells you what it did, in the same thread. If it could not do something, it says so rather than guessing.
What it can do in Harvest
These are the ready-made tools your AI employee already has in Harvest. It is not limited to them, but it never has to be taught these.
- Create ClientTool to create a new client. use after gathering client details to register a new client in harvest.
- Create Client ContactTool to create a new client contact. use when you need to add a contact under an existing client. call after you've retrieved or confirmed the client id.
- Create EstimateTool to create a new estimate. use after gathering client and line item details.
- Create Estimate Item CategoryTool to create a new estimate item category in harvest. use after deciding to categorize line items within an estimate.
- Create Estimate MessageTool 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, re-open) on the estimate.
- Create ExpenseTool to create a new expense entry. use when recording costs against projects. ensure either units or total cost is provided.
- Create InvoiceTool to create a new invoice. use when you have gathered all invoice details and need to bill a client in harvest.
- Create Invoice Item CategoryTool to create a new invoice item category. use after you have decided on the category name to register it in harvest.
- Create Invoice MessageTool to create a new message for an invoice. use after confirming the invoice id when you need to notify a client with invoice details.
- Create Invoice PaymentTool to create a new payment on an invoice. use when recording a payment against an existing invoice.
- Create ProjectTool to create a new project. use after confirming the client exists.
- Create TaskTool to create a new task. use after identifying task details to register it in harvest.
- Create Time EntryTool to create a new time entry. use when logging hours for a project by specifying start/end times or duration.
- Create UserTool to create a new user. use after gathering user details to invite them to harvest.
- Delete ClientTool to delete a client. use when you need to remove a client that has no associated projects, invoices, or estimates. call after confirming the client id exists and has no depende
- Delete Client ContactTool to delete a client contact. use when you need to remove a contact that is no longer relevant. call after confirming the contact id exists.
- Delete EstimateTool to delete an estimate. use when you need to remove an estimate that is no longer needed. call after confirming the estimate id exists and has no dependent resources.
- Delete Estimate MessageTool to delete an estimate message. use when you need to remove a message from an estimate. call after confirming estimate id and message id are correct.
- Delete InvoiceTool to delete an invoice. use when you need to remove an invoice that has no associated payments. call after confirming the invoice id exists.
- Delete Invoice Item CategoryTool to delete an invoice item category. use when you need to remove an obsolete or incorrect invoice item category. call after confirming the invoice item category id exists.
- Delete Invoice MessageTool to delete a message from an invoice. use when you need to remove a specific message that is no longer relevant. call after confirming the invoice id and message id.
- Delete Invoice PaymentTool to delete an invoice payment. use when you need to remove a payment from an invoice after confirming payment details.
- Delete ProjectTool to delete a project. use when you need to remove a project and all its associated time entries and expenses; invoices remain intact. call after confirming the project id exist
- Delete TaskTool to delete a task. use when you need to remove a task that has no associated time entries. call after confirming the task id exists and has no dependent time entries.
- Delete Time EntryTool to delete a time entry. use when removing an existing time entry that is deletable (not closed or on archived projects/tasks). call after confirming the time entry id exists.
- Delete UserTool to delete a user. use when you need to remove a user that has no associated time entries or expenses. call after confirming the user id exists and has no dependent time entrie
- Get ClientTool to retrieve a specific client by id. use when you need details of a client before invoicing or reporting.
- Get Client ContactTool to retrieve a specific client contact. use when you have client id and contact id to fetch and verify contact details.
- Get Company InfoTool to retrieve information about the authenticated user's company. use after authentication to fetch company settings for display or configuration.
- Get EstimateTool to retrieve a specific estimate by id. use after confirming the estimate id. example: "get estimate with id 123456".
- Get InvoiceTool to retrieve a specific invoice by id. use when you need the full details of an invoice after selecting or creating it. example: 'get invoice with id 13150378.'
- Get ProjectTool to retrieve a specific harvest project by id. use when you have a project id and need its details.
- Get TaskTool to retrieve a specific task by id. use when you have a task id and need its detailed information.
- Get Time EntryTool to retrieve a single time entry by id. use when you have a specific time entry id and need its full details.
- Get UserTool to retrieve a specific user by id. use after obtaining a valid user id (for example via list users). example: "get details of user 3230547".
- List Client ContactsTool to list client contacts. use when you need to retrieve contacts with optional filtering and pagination.
- List ClientsTool to list clients. use when you need to retrieve a paginated list of clients from harvest. ensure you have a valid access token in metadata before calling.
- List Estimate MessagesTool to list messages for an estimate. use after obtaining an estimate id to retrieve associated messages, supports pagination and filtering by update time.
- List Expense CategoriesTool 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 CategoriesTool to retrieve invoice item categories. use when you need to fetch a paginated list of invoice item categories in harvest.
- List Invoice MessagesTool 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 PaymentsTool to retrieve payments for a specific invoice. use when you need to list all payments applied to an invoice after confirming the invoice exists.
- List InvoicesTool to list invoices. use when you need to retrieve invoices filtered by client, project, date range, or state. example: 'list invoices for client 5735776 from 2023-01-01 to 2023-
- List projectsTool to list projects. use when you need to retrieve a paginated list of projects from harvest. ensure a valid access token is present in metadata before calling.
- List TasksTool to list tasks. use when you need to retrieve a paginated list of tasks from harvest. ensure you have a valid access token in metadata before calling.
- List Time EntriesTool to retrieve a list of time entries. use when you need to fetch tracked hours with filters or date ranges for reporting or invoicing. example: "list time entries for project 12
- List UsersTool to list users. use when you need to retrieve a paginated list of users from harvest.
- Update ClientTool to update an existing client. use after retrieving client details to modify its properties. supports partial updates; omit fields to leave them unchanged.
- Update Client ContactTool to update a client contact. use when you have a contact id and need to modify its details.
- Update Company InfoTool to update information about the company. use to modify company settings such as name, timezone, or formatting options. use after obtaining current settings to apply changes.
- Update EstimateTool 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 CategoryTool to update an estimate item category. use after retrieving the category to change its name.
- Update ExpenseTool 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 InvoiceTool to update an existing invoice. use after retrieving invoice details to modify its fields. supports partial updates; omit fields to leave unchanged.
- Update ProjectTool to update an existing project. use when you need to modify one or more fields of a project by its id. invoke after confirming the project id and desired changes.
- Update TaskTool to update an existing task. use after retrieving task details to modify its attributes such as name, billing defaults, or status. supports partial updates; omit fields to leav
- Update Time EntryTool to update an existing time entry. use after retrieving the entry to adjust hours, notes, project, or task details. supports partial updates; omit fields to leave unchanged.
- Update UserTool to update an existing user. use when you need to modify a user's profile or settings after confirming the user id.
You stay the boss of your Harvest account.
Nothing connects until you approve it. You grant access one app at a time, you can take it back the same way, and everything your AI employee does in there is written down where you can see it.
How we handle your data- It signs in to your own Harvest account. You are not moving anything into ours.
- You grant access one app at a time, and you can take it back the same way.
- Everything it does in Harvest is written down, with what it did and when.
- Anything you tell it to check with you first, it checks with you first.
It works in Harvest and the rest of your software in the same job
A real job rarely stays in one place. Reading a message in one app, checking a record in another and writing the result in a third is one request to your AI employee, not three.
Questions people ask about Harvest
- Can an AI employee really work inside Harvest?
- Yes. It signs in to your own Harvest account and works in it the way a new hire would, from the chat your team already has open. Nobody installs anything, and nobody learns a new screen.
- Do I have to move anything out of Harvest?
- No. Nothing moves and nothing is replaced. Your records stay in Harvest, your team carries on in the same screens they used yesterday, and your AI employee works alongside them in there.
- How does it get into my Harvest account?
- You sign in with your own Harvest account, the same way you already do. We never see or hold your password. You approve it before anything connects, and you can take the access back the same way you gave it.
- What can it actually do in Harvest?
- It has 58 ready-made tools in Harvest today, among them Create Client, Create Client Contact and Create Estimate. The full list is on this page. It is not limited to those, but it never has to be taught them.
- Can it use Harvest and the rest of my software in the same job?
- Yes, and that is usually the point. Reading a message in one app, checking a record in Harvest and writing the result somewhere else is one request to your AI employee, not three separate ones you stitch together.
- Who decides what it is allowed to do in Harvest?
- You do. You grant access one app at a time and can withdraw it at any time, anything you ask it to check with you first it checks with you first, and everything it does in Harvest is written down with what it did and when.