Harvest Forecast integration summary

Stitch’s Harvest Forecast integration replicates data using the Harvest Forecast Experimental API. Refer to the Schema section for a list of objects available for replication.

Harvest Forecast feature snapshot

A high-level look at Stitch's Harvest Forecast integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Singer Community

Stitch Plan

Free

Singer GitHub Repository

Harvest Forecast Repository

DATA SELECTION
Table Selection

Unsupported

Column Selection

Unsupported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Harvest Forecast

Harvest Forecast setup requirements

To set up Harvest Forecast in Stitch, you need:

  • A Harvest account with access to Harvest Forecast. Your Harvest ID will be used to authorize the integration using OAuth.

Step 1: Add Harvest Forecast as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Harvest Forecast icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Harvest Forecast” would create a schema called stitch_harvest_forecast in the destination. Note: Schema names cannot be changed after you save the integration.

  5. Enter your Harvest Forecast account ID in the Harvest Forecast Account ID field. For example: If your Harvest Forecast account shows the URL as forecastapp.com/123456/schedule/projects, you’d enter 123456 in this field.

Step 2: Define the historical sync

The Sync Historical Data setting will define the starting date for your Harvest Forecast integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Harvest Forecast’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Harvest Forecast integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 4: Authorize Stitch to Access Harvest Forecast

Lastly, you’ll be directed to Harvest’s website to complete the setup.

  1. If not already logged into Harvest Forecast, enter your credentials and click Sign In.
  2. A screen asking for authorization to Forecast will display. Note that Stitch will only ever read your data.
  3. Click Connect.
  4. After the authorization process successfully completes, you’ll be redirected back to Stitch.
  5. Click All Done.

Initial and historical replication jobs

After you finish setting up Harvest Forecast, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Harvest Forecast table schemas

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

The assignments table contains info about the assignments assigned to the people in your Harvest Forecast account.

id
INTEGER

The assignment ID.

updated_at
STRING

The time the assignment was last updated.

active_on_days_off
BOOLEAN

If true, the assignment takes place on a non-work day.

allocation
INTEGER

The number of hours allocated to the assignment.

end_date
STRING

The day the assignment ended.

notes
STRING

Any notes about the assignment.

project_id
INTEGER

The ID of the project associated with the assignment.

Reference:

person_id
INTEGER

The ID of the assignee.

Reference:

placeholder_id
INTEGER

If the assignment is a placeholder, this column will contain the placeholder ID.

repeated_assignment_set_id
INTEGER

start_date
STRING

The day the assignment started.

updated_by_id
INTEGER

The ID of the person who last updated the assignment.

Reference:


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

The clients table contains info about the clients in your Harvest Forecast account.

id
INTEGER

The client ID.

Reference:

updated_at
STRING

The time the client was last updated.

archived
BOOLEAN

If true, the client has been archived.

harvest_id
INTEGER

The ID of the client in Harvest.

name
STRING

The name of the client.

updated_by_id
INTEGER

The ID of the person who last updated the client.

Reference:


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

The milestones table contains info about the project milestones in your Harvest Forecast account.

id
INTEGER

The milestone ID.

updated_at
STRING

The time the milestone was last updated.

date
STRING

The date of the milestone.

name
STRING

The name of the milestone.

project_id
INTEGER

The ID of the project associated with the milestone.

Reference:

updated_by_id
INTEGER

The ID of the person who last updated the milestone.

Reference:


Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

The people table contains info about the people in your Harvest Forecast account.

id
INTEGER

The person ID.

Reference:

updated_at
STRING

The last time the person was updated.

admin
BOOLEAN

If true, the person is an admin in Harvest Forecast.

archived
BOOLEAN

If true, the person has been archived.

avatar_url
STRING

The full URL of the avatar associated with the person.

color_blind
STRING

Indicates if the person uses Harvest Forecast’s color blind-friendly version of the heat map feature.

email
STRING

The email address associated with the person.

first_name
STRING

The person’s first name.

harvest_user_id
INTEGER

The ID of the person in Harvest.

last_name
STRING

The person’s last name.

login
STRING

personal_feed_token_id
INTEGER

roles
ARRAY

A list of the roles assigned to the person.

value
STRING

The name of the role assigned to the person.

people (table), roles (attribute)

subscribed
BOOLEAN

If true, the person is subscribed to the weekly schedule digest.

updated_by_id
STRING

The ID of the person who last updated the person.

Reference:

weekly_capacity
INTEGER

The total number of hours the person is available during the week.

working_days
OBJECT

Details about the person’s availability during the week.

monday
BOOLEAN

If true, the person is available to work on s.

tuesday
BOOLEAN

If true, the person is available to work on s.

wednesday
BOOLEAN

If true, the person is available to work on s.

thursday
BOOLEAN

If true, the person is available to work on s.

friday
BOOLEAN

If true, the person is available to work on s.

saturday
BOOLEAN

If true, the person is available to work on s.

sunday
BOOLEAN

If true, the person is available to work on s.

people (table), working_days (attribute)

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

id

The projects table contains info about the projects in your Harvest Forecast account.

id
INTEGER

The project ID.

Reference:

updated_at
STRING

The time the project was last updated.

archived
BOOLEAN

If true, the project has been archived.

code
STRING

The code associated with the project.

color
STRING

The color label associated with the project.

client_id
INTEGER

The ID of the client associated with the project.

Reference:

end_date
STRING

The end date of the project.

harvest_id
INTEGER

The ID of the project in Harvest.

name
STRING

The name of the project.

notes
STRING

Any notes about the project.

start_date
STRING

The start date of the project.

tags
ARRAY

A list of the tags associated with the project.

value
STRING

The tag associated with the project.

projects (table), tags (attribute)

updated_by_id
STRING

The ID of the person who last updated the project.

Reference:



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.