Harvest
Harvest is a time-tracking app that includes invoicing, expensing, and team management features. It's an excellent tool for capturing critical project data that allows you to learn from the past, keep current projects on track, and better estimate future projects.
- 1 Authorization
- 2 Harvest Connections
- 3 Action
- 3.1 Get users
- 3.2 Get Clients
- 3.3 Create Task
- 3.4 Create Project
- 3.5 Get Invoices
- 3.6 Get user by ID
- 3.7 Get Projects
- 3.8 Get time entries
Authorization
OAuth 2.0
If the user selects OAuth 2.0, they need to enable it for Harvest using the developer console. The application can be created from the "Developers" section of Harvest ID. When you create your Harvest app, you must be sure to enter Sapper's OAuth callback URL -Sapper.
After setting the following connection properties, you are ready to connect:
AuthScheme: Set this to OAuth.
OAuthClientId: Set this to the client ID that you specified in your app settings.
OAuthClientSecret: Set this to the client secret that you specified in your app settings.
CallbackURL: Set this to the Redirect URI cthat you specified in your app settings.
InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage how the driver obtains and refreshes the OAuthAccessToken.
Name: Provide the name of the application.
Redirect URL: The URL in your integration; successful authentications will be redirected to by default.
Multi-Account: Does your integration support multiple user account access or works with only one authenticated account.
Products: Scope of access requested; can be either Harvest, Forecast or both. It is advised to pick the minimal scope required for the integration to work.
Example
Profile=C:\profiles\Harvest.apip;Authscheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url; |
The following section provides a complete list of the options you can configure in the connection string for this provider.
Property | Description | Example |
AccountId | Provide your Harvest Account ID. |
|
APIKey | Provide your Harvest Personal Access Token. |
|
AuthScheme | It’s the scheme used for authentication. Accepted entries are None or OAuth. | Allowed values are: NONE, OAUTH |
CallbackURL | The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings. |
|
InitiateOAuth | Set this property to initiate the process to obtain or refresh the OAuth access token when you connect. | Allowed values are: OFF, GETANDREFRESH, REFRESH |
OAuthClientId | The client ID assigned when you register your application with an OAuth authorization server. |
|
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
|
For more details please visit https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/
Harvest Connections
Harvest OAuth2.0 Connection
Input | Key | Description | Example |
Select Application | application | Select Harvest application |
|
Connection Type | connection type | Select the type of connection. | REST |
REST Connection Type | rest connection type | Select the type of REST connection. | OAuth2.0 |
Connection Name | name | Provide a name for the connection. | Harvest connection |
Connection Description | description | Provide a description for the connection. |
|
Host Name | host | Provide a string value for the URL of user's Harvest account. |
|
Grant Type | grant type | Provide the grant type - authorization code, password, client credentials. |
|
Action
Get users
Get Users | key: getUsers
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id for the user. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Get Clients
Get Clients | key: getClients
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id associated with the client. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Create Task
Create Task | key: createTask
Input | Key | Description | Example |
---|---|---|---|
Task Name | taskName | Mention the name of the task. | The task can be "Design: Logo", “Manage: expense” |
Harvest Account Id | accountID | Provide the specific Harvest account id for accessing the task. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Create Project
Create Project| key: createProject
Input | Key | Description | Example |
---|---|---|---|
Client Id | clientID | Mention the client id. A client id is a unique eight-digit number generated by the depository participants to easily identify their clients. | 5735776 |
Project Name | projectName | Provide the name of the project. Project name refers to the project title as stated in the legal agreement of the organization. | The project name can be : Time & Materials, Fixed Fee, Non-Billable, and so on. |
Is Billable | isBillable | Mention is the status of the project billable. This field explains if the project is billable or not. | The status can be True/ False |
Harvest Account Id | accountID | Provide the specific Harvest account id associate with project. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Get Invoices
Get Invoices | key: getInvoices
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id. Harvest ID is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Get user by ID
Get user by Id | key: getUsersbyID
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id. Harvest ID is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
User Id | userID | Mention the Harvest user id. User identification (user id) is a logical entity used to identify a user on the Harvest software. | jbu3470 |
Get Projects
Get Projects | key: getProjects
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id for the particular project. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|
Get time entries
Get time entries | key: getTimeEntries
Input | Key | Description | Example |
---|---|---|---|
Harvest Account Id | accountID | Provide the specific Harvest account id. Harvest account id is an integrated authentication system that comes with security benefits and makes it easy to access multiple accounts that use the same email address. |
|