@pipedream/harvest 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,16 +1,11 @@
1
1
  # Overview
2
2
 
3
- The Harvest API allows developers to programmatically access data and objects
4
- in Harvest, a web-based time tracking application. With the API, developers can
5
- create applications that submit and retrieve time tracking data, as well as
6
- automate various aspects of the Harvest user experience.
3
+ 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.
7
4
 
8
- Some examples of what you can build using the Harvest API include:
5
+ # Example Use Cases
9
6
 
10
- - A time tracking application that automatically submits time tracking data to
11
- Harvest on behalf of the user
12
- - A reporting application that retrieves time tracking data from Harvest and
13
- presents it in various charts and graphs
14
- - An integration with a third-party project management application that pulls
15
- in time tracking data from Harvest to provide a more complete picture of
16
- project progress
7
+ - **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.
8
+
9
+ - **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.
10
+
11
+ - **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.
@@ -10,7 +10,12 @@ export default {
10
10
  description: `Creates a new time entry object.
11
11
  [Create a time entry via duration documentation](https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/#create-a-time-entry-via-duration),
12
12
  [Create a time entry via start and end time documentation](https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/#create-a-time-entry-via-start-and-end-time)`,
13
- version: "0.0.2",
13
+ version: "0.0.3",
14
+ annotations: {
15
+ destructiveHint: false,
16
+ openWorldHint: true,
17
+ readOnlyHint: false,
18
+ },
14
19
  type: "action",
15
20
  props: {
16
21
  harvest,
@@ -5,7 +5,12 @@ export default {
5
5
  key: "harvest-get-projects",
6
6
  name: "Get Projects",
7
7
  description: "Retrieve data for a project or projects. [See docs here](https://help.getharvest.com/api-v2/projects-api/projects/projects/#list-all-projects)",
8
- version: "0.0.1",
8
+ version: "0.0.2",
9
+ annotations: {
10
+ destructiveHint: false,
11
+ openWorldHint: true,
12
+ readOnlyHint: true,
13
+ },
9
14
  type: "action",
10
15
  props: {
11
16
  harvest,
@@ -0,0 +1,24 @@
1
+ import harvest from "../../harvest.app.mjs";
2
+
3
+ export default {
4
+ key: "harvest-list-account-id-options",
5
+ name: "List Account ID Options",
6
+ description: "Retrieves available options for the Account ID field.",
7
+ version: "0.0.1",
8
+ type: "action",
9
+ annotations: {
10
+ destructiveHint: false,
11
+ openWorldHint: true,
12
+ readOnlyHint: true,
13
+ },
14
+ props: {
15
+ harvest,
16
+ },
17
+ async run({ $ }) {
18
+ const options = await harvest.propDefinitions.accountId.options.call(this.harvest);
19
+ $.export("$summary", `Successfully retrieved ${options.length} option${options.length === 1
20
+ ? ""
21
+ : "s"}`);
22
+ return options;
23
+ },
24
+ };
@@ -4,7 +4,12 @@ export default {
4
4
  key: "harvest-start-timer",
5
5
  name: "Start Time Entry",
6
6
  description: "Restart a stopped timer entry. [See docs here](https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/#restart-a-stopped-time-entry)",
7
- version: "0.0.2",
7
+ version: "0.0.3",
8
+ annotations: {
9
+ destructiveHint: true,
10
+ openWorldHint: true,
11
+ readOnlyHint: false,
12
+ },
8
13
  type: "action",
9
14
  props: {
10
15
  harvest,
@@ -4,7 +4,12 @@ export default {
4
4
  key: "harvest-stop-timer",
5
5
  name: "Stop Time Entry",
6
6
  description: "Stop a timer entry. [See docs here](https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/#stop-a-running-time-entry)",
7
- version: "0.0.3",
7
+ version: "0.0.4",
8
+ annotations: {
9
+ destructiveHint: true,
10
+ openWorldHint: true,
11
+ readOnlyHint: false,
12
+ },
8
13
  type: "action",
9
14
  props: {
10
15
  harvest,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipedream/harvest",
3
- "version": "0.0.6",
3
+ "version": "0.1.0",
4
4
  "description": "Pipedream Harvest Components",
5
5
  "main": "harvest.app.mjs",
6
6
  "keywords": [
@@ -13,8 +13,8 @@
13
13
  "access": "public"
14
14
  },
15
15
  "dependencies": {
16
- "@pipedream/platform": "^1.2.0",
16
+ "@pipedream/platform": "^1.6.8",
17
17
  "async-retry": "^1.3.3",
18
- "moment": "^2.29.3"
18
+ "moment": "^2.29.4"
19
19
  }
20
20
  }