Harvest
This connector captures data from Harvest into Flow collections.
It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-harvest:dev
provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.
This connector is based on an open-source connector from a third party, with modifications for performance in the Flow 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 a Flow 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 Flow 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 before 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:dev
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
{...}