Harvest
This connector captures data from Harvest into Estuary collections.
This connector is based on an open-source connector from a third party, with modifications for performance in the Estuary system.
Supported data resources
The following data resources are supported through the Harvest APIs:
- Client Contacts
- Clients
- Company
- Invoice Messages
- Invoice Payments
- Invoices
- Invoice Item Categories
- Estimate Messages
- Estimates
- Estimate Item Categories
- Expenses
- Expense Categories
- Tasks
- Time Entries
- Project User Assignments
- Project Task Assignments
- Projects
- Roles
- User Billable Rates
- User Cost Rates
- User Project Assignments
- Expense Reports
- Uninvoiced Report
- Time Reports
- Project Budget Report
By default, each resource is mapped to an Estuary collection through a separate binding.
Prerequisites
- To set up the Harvest source connector, you'll need the Harvest Account ID and API key.
Configuration
You configure connectors either in the Estuary web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Harvest source connector.
Properties
Endpoint
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/account_id | Account ID | Harvest account ID. Required for all Harvest requests in pair with Personal Access Token. | string | Required |
/start_date | Start Date | UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. | string | Required |
/end_date | End Date | UTC date and time in the format 2021-01-25T00:00:00Z. Any data after this date will not be replicated. | string | Default |
Bindings
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/stream | Stream | Resource of your Harvest project from which collections are captured. | string | Required |
/syncMode | Sync Mode | Connection method. | string | Required |
Sample
captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-harvest:v1
config:
account_id: <account id>
start_date: 2017-01-25T00:00:00Z
end_date: 2020-01-25T00:00:00Z
bindings:
- resource:
stream: clients
syncMode: incremental
target: ${PREFIX}/clients
{...}