Skip to main content

Hello there,

I’ve successfully created a teamwork (time created) to Harvest (create time).

The challenge I am having is the provided action “Create Time Entry in Harvest” does not allow you to choose the Harvest user under which to create the time entry (just defaults to mine as I did the connection).

From what I can determine, the Harvest API does allow it, it’s just missing from the Zapier provided Harvest action.

Any thoughts on how to create this?

Thanks!
Brent

Hi there @brentkobayashi,

Before we dig deeper into this, would you mind sharing a detailed screenshot of how your Zap is configured? Also, please share a screenshot of the “Action” section of the Harvest action step that shows all of its fields. Like so:

46dd6c0979e3d815d621b8da43084ef1.png
(view larger)

Please don't include personal information in the screenshot, or be sure blur out any personal information.

Thanks!


Hi @ken

Yes, for sure!

1)
 

2)

Then I find the Harvest project & task ID’s that match the Teamwork entries, like such:
 

 

 

 

3)
 

 

4)

From that I create a Harvest Time Entry:

 

 

 

5)
This all works, EXCEPT, the time entry is put into Harvest as myself as the user (in my timesheet) - only, no other option.  There doesn’t seem to be a way that I can see to Find a Harvest user, then map to a Teamwork User, and use that Harvest timesheet/user.


Hi @brentkobayashi,

I think you’re right to need to use an API request. 

This appears to be the API endpoint that matches the prebuilt zap step: https://help.getharvest.com/api-v2/timesheets-api/timesheets/time-entries/#create-a-time-entry-via-duration

I recommend using the API Request step to leverage your login as authentication:

 

From there it would look something like this:

 

Best,

Ryan Schweighart
Whole Hart Impact, LLC
whimpact.co
I help businesses with HubSpot and Zapier. 


Thank you @ryan  - I don’t seem to be seeing quite what you are showing,

I see:
1)
Add Harvest:
 

2)
Choose event:
 

then:
 

 

3)
Account as usual

 

4)
Then I switch to POST, and this looks different (tried REFRESH FIELDS):


Thanks for your thoughts!
Brent

 


 


Ah!

I think I get it…  Problem is, I still need to find the User ID that matches in Harvest…?
(Teamwork Username / ID won’t match without a lookup…?)
 

 


Thank you for the screenshots, @brentkobayashi. If you hover over the left part of the right panel and click/drag to the left, things will align like in my screenshot.

 

There’s a chance the request won’t work with the query string parameters and we will have to pass them in the body portion of the step. Let me know if what I shared doesn’t work, and I’ll share the body parameter solution.


Ah!

I think I get it…  Problem is, I still need to find the User ID that matches in Harvest…?
(Teamwork Username / ID won’t match without a lookup…?)

 

That’s correct. You’ll need to have some sort of lookup for the Harvest user id. Do you feel comfortable doing this? There’s a number of different ways to go about this.


Hi @ry.schwei 

OK, got it.  I think I can get that to work, except - How do I make the User ID for Harvest variable?

I don’t mind making a manual mapping table (we don’t change staff that often) - is that possible?
 

 


That’s correct, @brentkobayashi. You’ll need to create a lookup table and add a step to retrieve the user’s Harvest id. This can be done in something like Google Sheets or Zapier’s tables https://zapier.com/blog/zapier-tables-guide/.

So, you’ll need a column with teamwork user id or email (something unique) and another column that matches with the corresponding Harvest user id.

Before the Harvest API request step you’ll need a lookup step depending on where you built the lookup table.

Zapier Tables

 

Google Sheets