The Harvest modules allow you to monitor, create, edit, or delete clients, contacts, projects, invoices, expenses, tasks, time entries and users in your Harvest account.
Prerequisites
A Harvest account
In order to use Harvest with {{Make}}, it is necessary to have a Harvest account. If you do not have one, you can create a Harvest account at www.getharvest.com/signup.
To connect your Harvest account to {{Make}} follow the general instructions for Connecting to services.
After you click the Continue button, {{Make}} will redirect you to the Harvest website where you will be prompted to grant {{Make}} access to your account.
Confirm the dialog by clicking the Authorize App button.
Triggers when a new client is added.
Connection |
|
Watch |
Select whether you want to watch all changes or newly added clients only. |
Limit |
Set the maximum number of clients {{Make}} will return during one execution cycle. |
Returns a list of your clients. The clients are returned sorted by creation date, with the most recently created clients appearing first.
Connection |
|
Number of Clients to Return |
Set the maximum number of clients {{Make}} will return during one execution cycle. |
Active or Inactive |
Select whether you want to return only active, only inactive, or both clients. |
Updated Since |
Returns only clients that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves details about a desired client.
Creates a new client.
Connection |
|
Name |
Enter the name of the client. |
Address |
Enter the client’s physical address. May include new line characters. |
Currency |
ISO 4217 currency code. Example: |
Active |
Set whether the client is active or archived. |
Updates the specific client by setting the provided values.
Connection |
|
Client ID |
Select or map the Client ID of the client you want to update. |
Name |
Enter the new name of the client. |
Address |
Enter the client’s new physical address. May include new line characters. |
Currency |
ISO 4217 currency code. Example: |
Active |
Set whether the client is active or archived. |
Deletes a selected client.
Connection |
|
Client ID |
Select or map the Client ID of the client you want to delete. |
Triggers when a new contact is created.
Connection |
|
Client ID |
Appears when the Filter by Client option is enabled. Allows you to return contacts that belong to the client with the provided Client ID. |
Watch |
Select whether you want to watch all changes or newly added contacts only. |
Limit |
Set the maximum number of contacts {{Make}} will return during one execution cycle. |
Returns a list of your contacts. The contacts are returned sorted by creation date, with the most recently created contacts appearing first.
Connection |
|
Number of Contacts to Return |
Set the maximum number of contacts {{Make}} will return during one execution cycle. |
Client ID |
Map or select the client ID to return contacts belonging to that client only. |
Updated Since |
Returns only contacts that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves the details of a specified contact.
Connection |
|
Client ID |
Map or select the Contact ID of the contact you want to retrieve information about. |
Create a Contact
Creates a new contact.
Connection |
|
Client ID |
Map or select the ID of the client associated with this contact. |
First Name |
Enter the client's first name. |
Last Name |
Enter the client's last name. |
Title |
Enter the title of the contact. |
|
Enter the contact’s email address. |
Office Number |
Enter the contact’s office phone number. |
Mobile Number |
Enter the contact’s mobile phone number. |
Fax |
Enter the contact’s fax number. |
Updates a specified contact.
Connection |
|
Contact ID |
Select or map the contact you want to update. |
Client ID |
Map or select the ID of the client associated with this contact. |
First Name |
Enter the client's first name. |
Last Name |
Enter the client's last name. |
Title |
Enter the title of the contact. |
|
Enter the contact’s email address. |
Office Number |
Enter the contact’s office phone number. |
Mobile Number |
Enter the contact’s mobile phone number. |
Fax |
Enter the contact’s fax number. |
Deletes a specified contact.
Connection |
|
Contact ID |
Map or select the contact you want to delete. |
Triggers when a new project is created.
Connection |
|
Watch |
Select whether you want to watch all changes or newly added projects only. |
Limit |
Set the maximum number of projects {{Make}} will return during one execution cycle. |
Returns a list of projects in your Harvest account.
Connection |
|
Number of Projects to Return |
Set the maximum number of projects {{Make}} will return during one execution cycle. |
Active or inactive |
Select whether you want to return only active, only inactive, or both project statuses. |
Client ID |
Map or select the client ID to return projects belonging to that client only. |
Updated Since |
Returns only projects that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves details about a specified project.
Connection |
|
Project ID |
Map or select the Project ID of the project you want to retrieve information about. |
Creates a new project.
Connection |
|
Client ID |
Select or map the ID of the client to associate this project with. |
Name |
Enter the name of the project. |
Bill by |
Enter the method by which the project is invoiced. |
Budget by |
Select the method by which the project is budgeted. |
Notes |
Enter notes for the project. You can see notes when creating an invoice for Fixed Fee projects. |
Code |
Enter the project code. The Project Code helps identify your project. You can use any combo of numbers or letters. |
Active |
Select whether the project is active or archived. |
Connection |
|
Project ID |
Select or map the ID of the project you want to update. |
New name |
Enter the name of the project. |
Bill by |
Enter the method by which the project is invoiced. |
Budget by |
Select the method by which the project is budgeted. |
Notes |
Enter notes for the project. You can see notes when creating an invoice for Fixed Fee projects. |
Client ID |
Select or map the ID of the client to associate this project with. |
Code |
Enter the project code. The Project Code helps identify your project. You can use any combo of numbers or letters. |
Active |
Select whether the project is active or archived. |
Deletes a project and any time entries or expenses tracked to it.
![]() |
Note |
---|---|
Invoices associated with the project will not be deleted. If you don’t want the project’s time entries and expenses to be deleted, you should archive the project using the Edit a Project module. |
Connection |
|
Project ID |
Map or select the project you want to delete. |
Returns a list of your task assignments. The task assignments are returned sorted by creation date, with the most recently created task assignments appearing first.
Connection |
|
Number of Task Assignments to Return |
Set the maximum number of task assignments {{Make}} will return during one execution cycle. |
Project ID |
Map or select the project ID you want to filter results by. |
Active or inactive |
Select whether you want to return only active, only inactive, or both task assignment statuses. |
Updated Since |
Returns only task assignments that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves details about a specified task assignment.
Connection |
|
Project ID |
Enter or map the ID of the project associated with the task assignment you want to retrieve. |
Task Assignment ID |
Enter (map) the ID of the task assignment you want to retrieve information about. |
Returns a list of your project's user assignments, active and archived.
Connection |
|
Number of User Assignments to Return |
Set the maximum number of user assignments {{Make}} will return during one execution cycle. |
Project ID |
Map or select the project ID you want to filter results by. |
User ID |
Returns only user assignments belonging to the user with the entered ID. |
Active or inactive |
Select whether you want to return only active, only inactive, or both user assignment statuses. |
Updated Since |
Returns only user assignments that have been updated since the entered date and time. The list of supported date and time formats. |
Triggers when a new invoice is created.
Connection |
|
Client ID |
Appears when the Filter by Client option is enabled. Allows you to return invoices that belong to the client with the provided Client ID. |
Watch |
Select whether you want to watch all changes or newly added invoices only. |
Limit |
Set the maximum number of invoices {{Make}} will return during one execution cycle. |
Returns a list of your invoices. The invoices are returned sorted by issue date, with the most recently issued invoices appearing first.
Connection |
|
Number of Invoices to Return |
Set the maximum number of invoices {{Make}} will return during one execution cycle. |
Updated Since |
Returns only invoices that have been updated since the entered date and time. The list of supported date and time formats. |
Client ID |
Returns only user assignments belonging to the client with the entered ID. |
Project ID |
Map or select the project ID you want to filter results by. |
From |
Enter the date in order to return invoices with an |
To |
Enter the date in order to return invoices with an |
State |
Select the state of the invoices you want to return. |
Retrieves details about a specified invoice.
Connection |
|
Invoice ID |
Enter (map) or select the ID of the invoice you want to retrieve information about. |
Creates a new invoice.
Connection |
|||||||||||||||
Client ID |
Select or map the ID of the client this invoice belongs to. |
||||||||||||||
Number |
Enter the invoice number. If no number is entered, the number will be automatically generated. |
||||||||||||||
Purchase Order Number |
Enter the purchase order number. |
||||||||||||||
Tax |
Enter the tax (percentage). This percentage is applied to the subtotal, including line items and discounts. Example: use |
||||||||||||||
Tax 2 |
Apply another tax. This percentage is applied to the subtotal, including line items and discounts. Example: use |
||||||||||||||
Discount |
Enter the discount (percentage). This percentage is subtracted from the subtotal. Example: use |
||||||||||||||
Subject |
Enter the invoice subject. |
||||||||||||||
Notes |
Enter additional notes that will be included on the invoice. |
||||||||||||||
Currency |
Enter the currency used by the invoice. If not provided, the client’s currency will be used. See a list of supported currencies. |
||||||||||||||
Issue Date |
Enter the date when the invoice was issued. Default date = today's date. The list of supported date and time formats. |
||||||||||||||
Due Date |
Enter the invoice's due date. Defaults to the |
||||||||||||||
Payment Term |
Select the timeframe in which the invoice should be paid. Defaults to |
||||||||||||||
Line Items |
Add desired line items.
|
||||||||||||||
Retainer ID |
Enter the retainer ID in order to create a retainer invoice. |
||||||||||||||
Estimate ID |
Enter the ID of the estimate associated with this invoice. |
Deletes a specified invoice.
Connection |
|
Invoice ID |
Enter (map) or select the ID of the invoice you want to delete. |
Returns a list of payments associated with the selected invoice.
Connection |
|
Invoice ID |
Select or map the ID of the invoice that the payments belongs to. |
Number of Invoices to return |
Set the maximum number of invoices {{Make}} will return during one execution cycle. |
Updated Since |
Enter the date to return invoice payments that have been updated since the date and time. The list of supported date and time formats. |
Creates a new invoice payment.
Connection |
|
Invoice ID |
Enter the invoice you want to create a payment for. |
Amount |
Enter the amount of the payment. |
Payment date |
Select whether to set time and date or the date only. |
Date |
Enter the payment date (and time). The list of supported date and time formats. |
Returns a list of your expenses.
Connection |
|
Number of Expenses to Return |
Set the maximum number of expenses {{Make}} will return during one execution cycle. |
User ID |
Returns only expenses belonging to the client with the entered ID. |
Client ID |
Returns only expenses belonging to the client with the entered ID. |
Project ID |
Map or select the project ID you want to filter expenses by. |
Updates Since |
Returns only expenses that have been updated since the entered date and time. The list of supported date and time formats. |
From |
Enter the date in order to return expenses with a |
To |
Enter the date in order to return expenses with a |
Invoiced |
Select whether to return expenses that were invoiced, not invoiced, or both. |
Retrieves a specified expense.
Connection |
|
Expense ID |
Enter (map) or select the ID of the expense you want to retrieve information about. |
Creates a new expense.
Connection |
|
Spent date |
Enter the date the expense occurred. The list of supported date and time formats. |
Project ID |
Select the ID of the project associated with this expense. |
Category ID |
Enter the ID of the expense category this expense is being tracked against. |
Total Cost |
Enter the total amount of the expense. |
Notes |
Enter the expense description. |
Billable |
Set whether this expense is billable or not. |
Updates an existing expense.
Connection |
|
Expense ID |
Select or map the ID of the expense ID you want to update. |
Spent date |
Enter the date the expense occurred. The list of supported date and time formats. |
Project ID |
Select the ID of the project associated with this expense. |
Category ID |
Enter the ID of the expense category this expense is being tracked against. |
Units |
The quantity of units to use in calculating the |
Total Cost |
Enter the total amount of the expense. |
Notes |
Enter the expense description. |
Billable |
Set whether this expense is billable or not. |
Delete receipt |
Define whether an attached expense receipt should be deleted or not. Select |
Delete an Expense
Deletes an expense.
Connection |
|
Expense ID |
Enter (map) or select the ID of the expense you want to delete. |
Triggers when a new task is created.
Connection |
|
Watch |
Select whether you want to watch all changes or newly added tasks only. |
Limit |
Set the maximum number of tasks {{Make}} will return during one execution cycle. |
List Tasks
Returns a list of your tasks.
Connection |
|
Number of Tasks to Return |
Set the maximum number of tasks {{Make}} will return during one execution cycle. |
Active or inactive |
Select whether you want to return only active, only inactive, or both task statuses. |
Updated Since |
Returns only tasks that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves information about a specific task.
Connection |
|
Task ID |
Enter (map) or select the ID of the task you want to retrieve information about. |
Creates a new task.
Connection |
|
Name |
Enter the name for the task. |
Default hourly rate |
The default hourly rate to use for this task when it is added to a project. Defaults to |
Billable by default |
Set whether default tasks should be marked billable when creating a new project. |
Default |
Set whether this task should be automatically added to future projects. |
Updates an existing task.
Connection |
|
Task ID |
Select the task you want to update. |
New Name |
Enter the new name for the task. |
Default hourly rate |
The default hourly rate to use for this task when it is added to a project. Defaults to |
Billable by default |
Set whether default tasks should be marked billable when creating a new project. |
Default |
Set whether this task should be automatically added to future projects. |
Deletes an existing task.
Connection |
|
Task ID |
Enter (map) or select the ID of the task you want to delete. |
Triggers when a new time entry is created.
Connection |
|
Name |
Enter the name for the task. |
Filter By |
Select the user, client, or project you want to filter time entries by. |
Watch |
Select whether you want to watch all changes or newly added time entries only. |
Limit |
Set the maximum number of time entries {{Make}} will return during one execution cycle. |
Returns a list of time entries based on the filter settings.
Connection |
|
Number of time entries to return |
Set the maximum number of time entries {{Make}} will return during one execution cycle. |
Invoiced or not invoiced |
Select whether you want to return only invoiced, only not invoiced, or both time entry states. |
Running or Non-running |
Select whether you want to return only running, only non-running, or both time entry states. |
User ID |
Returns only time entries belonging to the user with the entered ID. |
Client ID |
Returns only time entries belonging to the client with the entered ID. |
Project ID |
Returns only time entries belonging to the project with the entered ID. |
Updated Since |
Returns only tasks that have been updated since the entered date and time. The list of supported date and time formats. |
From |
Returns only time entries with a |
To |
Returns only time entries with a |
Retrieves details about a time entry.
Connection |
|
Time entry ID |
Enter (map) or select the ID of the time entry you want to retrieve information about. |
Creates a new time entry.
Connection |
|
Project ID |
Select the ID of the project to associate with the time entry. |
Task ID |
Select the ID of the task to associate with the time entry. |
Spent at |
Enter the date when the time entry was spent. The list of supported date and time formats. |
Notes |
Enter a description of the time entry. |
Hours |
The current amount of time tracked. If provided, the time entry will be created with the specified hours and |
Updates an existing time entry.
Connection |
|
Time entry ID |
Enter (map) the time entry you want to update. |
Project ID |
Select the ID of the project to associate with the time entry. |
Notes |
Enter a description of the time entry. |
Hours |
The current amount of time tracked. If provided, the time entry will be created with the specified hours and |
Spent at |
Enter the date when the time entry was spent. The list of supported date and time formats. |
Deletes an existing time entry.
Connection |
|
Time Entry ID |
Enter (map) or select the ID of the time entry you want to delete. |
Triggers when a new user is created.
Connection |
|
Watch |
Select whether you want to watch all changes or newly added users only. |
Limit |
Set the maximum number of users {{Make}} will return during one execution cycle. |
Returns a list of users. The users are returned sorted by creation date, with the most recently created users appearing first.
Connection |
|
Number of users to return |
Set the maximum number of users {{Make}} will return during one execution cycle. |
Active or inactive |
Select whether you want to return only active, only inactive, or both time entry states. |
Updated Since |
Returns only users that have been updated since the entered date and time. The list of supported date and time formats. |
Retrieves details about a specified user.
Connection |
|
User ID |
Enter (map) or select the ID of the user you want to retrieve information about. |
Creates a new user.
Connection |
|
First name |
Enter the new user's first name. Can’t be updated if the user is inactive. |
Last name |
Enter the new user's last name. Can’t be updated if the user is inactive. |
Email address |
Enter the new user's email address. Can’t be updated if the user is inactive. |
Telephone |
Enter the new user's phone number. |
Timezone |
The user’s timezone. Defaults to the company’s timezone. See a list of supported time zones. |
Roles |
Enter the role names assigned to this person. |
Administrator |
Select the Yes option to set the new user as the administrator with admin permissions. |
Updates an existing user.
Connection |
|
User ID |
Select or map the user ID of the user you want to update. |
First name |
Enter the new user's first name. Can’t be updated if the user is inactive. |
Last name |
Enter the new user's last name. Can’t be updated if the user is inactive. |
Email address |
Enter the new user's email address. Can’t be updated if the user is inactive. |
Telephone |
Enter the new user's phone number. |
Timezone |
The user’s timezone. Defaults to the company’s timezone. See a list of supported time zones. |
Roles |
Enter the role names assigned to this person. |
Administrator |
Select the Yes option to set the new user as the administrator with admin permissions. |
Deletes an existing user.
Deleting a user is only possible if they have no time entries or expenses associated with them.
Connection |
|
User ID |
Enter (map) or select the ID of the user you want to delete. |
Allows you to perform a custom API call.
Connection |
|
URL |
Enter a path relative to For the list of available endpoints, refer to the Harvest API V2 documentation. |
Method |
Select the HTTP method you want to use: GETto retrieve information for an entry. POSTto create a new entry. PUTto update/replace an existing entry. PATCHto make a partial entry update. DELETEto delete an entry. |
Headers |
Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String |
Enter the request query string. |
Body |
Enter the body content for your API call. |