Harvest is a time tracking and invoicing tool that can streamline the way freelancers and businesses record time for various projects and tasks. By leveraging the Harvest API on Pipedream, you can automate complex workflows that integrate time tracking data with other business tools. Generate reports, sync project data, and manage invoices with minimal manual intervention. Pipedream's serverless platform lets you create these automations using simple, code-driven components, enabling a seamless connection between Harvest and a multitude of other apps.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
harvest: {
type: "app",
app: "harvest",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://id.getharvest.com/api/v2/accounts`,
headers: {
Authorization: `Bearer ${this.harvest.$auth.oauth_access_token}`,
"User-Agent": `Pipedream (pipedream.com)`,
},
})
},
})
Automated Invoicing Workflow: Create an automation that triggers at the end of each billing cycle. It compiles timesheet data from Harvest and generates invoices automatically. Then, it sends these invoices to clients via email using a service like SendGrid or directly through accounting software like QuickBooks.
Slack Time Tracking Reminders: Set up a Pipedream workflow that sends reminders to a Slack channel or directly to team members. Reminders prompt users to submit their timesheets if they haven't been completed by a certain time each day or week. The Harvest API checks for unsubmitted timesheets and triggers the Slack notifications accordingly.
Project Management Sync: Build a workflow that synchronizes project and task updates between Harvest and a project management tool such as Trello or Asana. When a new project is created or a task is updated in Harvest, the corresponding card or task in the project management app is created or updated, keeping both systems in sync and up-to-date.
Creates a new time entry object. Create a time entry via duration documentation, Create a time entry via start and end time documentation
Harvest uses OAuth authentication. When you connect your Harvest account, Pipedream will open a popup window where you can sign into Harvest and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Harvest API.
Pipedream requests the following authorization scopes when you connect your account:
GET
https://id.getharvest.com/oauth2/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://id.getharvest.com/api/v2/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://id.getharvest.com/api/v2/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}