Setting Up and Using Harvest for Zendesk (Zendesk Classic)

team professional enterprise plans

Note: This article is relevant for the setup of the Harvest integration in the classic Zendesk interface.  For instructions on how to set up the Harvest app in the new Zendesk, please refer to the article Tracking support time with Harvest (new Zendesk) .

Welcome to the new and improved Harvest for Zendesk integration. The updated widget includes the following improvements:

  • The Harvest widget now utilizes a shared session with Harvest.  What does this mean?  Once you log into Harvest via the widget or the site, you are logged into both systems so you no longer have to log in twice!
  • Timer functionality has been added.  You now have access to a start/stop timer to track the amount of time you are spending on a ticket. Alternatively, you can still enter time by duration as before.
  • The project and task for a proposed new timer are picked intelligently. We look for the words "Zendesk" and "Support" in projects and tasks, but you can configure this to match your most frequently used projects or tasks.
  • Quick link to the Harvest timesheet for the logged in Harvest user.
  • Time logged against a ticket by any Harvest user is displayed in the widget.
  • In Harvest timesheets, a quick link back to the Zendesk ticket is provided.
  • "Notes" in the Harvest for Zendesk widget can be automatically populated with default information.  It can even be populated with Zendesk placeholders.

To add the updated widget for use, please follow the steps below.  If you already have the Harvest widget configured, we will automatically update it to latest version.

Locating the widget directory

  1. Navigate to your "Settings" tab and click on "Extensions".
  2. Click on the "add widget" button.
  3. Locate the "Harvest" widget listing and click to configure.
  4. Now you should see the below configuration screen for the Harvest for Zendesk widget.  You will need to fill out the following items:

    • Title: Enter the name for the widget here.  We recommend just naming it "Harvest", but the naming of it is up to you.
    • Available for: Select who should be able to use this widget.  You will most likely want to select "People who have logged in and are agents".
    • Subdomain: Enter your Harvest subdomain here (ie if your subdomain is , then you will want to enter t imetracking here).
    • Magic Words: Enter the terms here that you would want to automatically match in your project/task lists in Harvest.  If a match is found, the drop lists for project/task in the Harvest for Zendesk widget will automatically default to the Magic Word value.  You can even use Zendesk placeholders here if you want to dynamically match a default project/task.
    • Default Note: Enter the default note that you would like to be attached to a time entry in Harvest.  Zendesk placeholders are available here as well.


  5. Your new "Harvest" widget should now appear in the list of "Active widgets" and can be added to your ticket pages within Zendesk.

Adding the Harvest widget to your Tickets page

  1. To add your new Harvest for Zendesk widget to the tickets page, first navigate to a ticket. Then proceed to click on the "Edit widgets on the this page" link.
  2. Select the "Harvest" widget from the list.
  3. The new widget should now appear in the widgets panel on the right side of the ticketing screen.
  4. Clicking on the "Connect to Harvest" link will take you to an authentication page where you can enter your Harvest credentials. Enter your email and password here and you will be logged into your Harvest account.  If you flip over to Harvest, you will not have to log in again.  To log out of the widget, log out of your Harvest account directly from Harvest. 6.png
  5. Once authenticated, you will now have access to all of your projects and tasks in Harvest. The "Notes" will automatically be populated with the Zendesk ticket number as well as the subject line of the ticket (or any additional information you may have configured in "default note" field from the configuration page). You can either choose to start a timer when you begin work on a ticket, or you can manually add a time duration by clicking on the "Add duration" link.  When a time entry is added, a list of time entries attached to a ticket and who entered the time is displayed at the bottom of the widget as well.

  6. If you want to see all of your timesheet entries, you can click on the Harvest logo in the widget and you will be brought to the Harvest interface to review your time entries for the selected project and task.

Have more questions? Submit a request


  • 0

    Thank you! The functionality is good! Some comment about color scheme. The scheme does not look very nice (attached). Can you tell me how I can change internal gray background to orange background of the widget area, please?

  • 0

    Make that two of us wondering about the colour scheme.

    Also, now that I've jumped to lotus, will this widget become an app that I can use in Lotus anytime soon?

    Many thanks,


  • 0

    The "Add duration" button doesn't seem to work as advertised:

    • Clicking "Add duration" opens the input window, changes the button from "Start timer" to "Save"

    • Adding "1h" and clicking "Save" changes the button to "Stop timer", and adding a 0:00 in Harvest.



  • 0

    @Alexander when entering time, the field should accept numerical values only.  "1h" should not be a valid entry, although we should have some validation in place to prevent this type of entry.  An entry of 1 hour should be entered as simply "1".  For half an hour, you will want to enter "0.5".  I'll make note of this as something we should fix so invalid entries throw an error instead of starting a timer.

  • 0

    I really like the functionality of the start & stop timer! Very nicely done. 

  • 0

    @Eric, thanks for explaining. if it would be possible I'd love to see support for typing 1h45m, 30m, etc.

  • 0

    The Harvest widget additions are useful, but there are two quibbles:

    1) The Stop/Start Timer is something not everybody will use.  Because the button is large, it's prone to accidental clicks.  I've tried to hide it with a CSS widget to no avail because it loads last.

    e.g. This doesn't work:  #widget-container .harvest-btn { display: none !important; }

    2) On the contrary, we always used to input our hours in the Hours field.  Now it requires clicking the "Add duration" each time.

    If only there was an option to reverse or control the way they're displayed.

  • 0

    I set up the widget to run harvest with the correct information, including subdomain, but when I deploy the widget all I see is the name of the widget. There is no link to log in or anything. What did I do wrong?

  • 0

    @John, can you confirm what browser you are using?  We do know there is an existing issue with Internet Explorer 8 that is causing the widget to not load.  

    @Toan, we can try to take a look for you to see if there's anything we can do.  

  • 0

    I am using IE8 at the moment. Is there a work around or a setting in IE8 that needs to be set or is the current solution to upgrade to IE9 or use another browser?



  • 0

    @John, the current work around is to upgrade to IE9 or use another browser at the moment.  There's a small piece of code that rendering the widget relies on that is apparently not supported in IE8 (but other versions are fine).  We are working to add this in, but it may take us a little bit of time to get this updated.

  • 0

    It appears that the magic words only match the Harvest Project Name field, is this true? We have "support" as an ongoing project for each of our customers, and it would be ideal to have the magic project/task selection choose the correct customer.  I tried using the placeholder {{}}, but that does not appear to match.  I also tried inserting the ZenDesk Customer ID into Harvest's Project Code field, and matching with the {{}} placeholder, but that didn't seem to work either. 

  • 0

    So... still no way to transfer time tracked with Harvest into GoodData?


    Now I understand why you don't want to put time tracking directly into Zendesk - )))

  • 0

    Hi Eric!

    So many disadvantages of your way of time tracking implementation... I told you about this problems half year ago.

    1) Comments are located in 2 places (Zendesk + Harvest). How can I see what time in Harvest corresponds to what action/comment in ticket's log? Should I see in both Harvest and Zendesk to get full picture? I can't see any information in ticket's log in Zendesk. In Harvest I can get only comment and link to ticket, but not link to comment in Zendesk.

    2) Reports now are located in 2 places: GoodData and Harvest.

    3) I can't put comment + track time in one cick.

    4) Screenshot with grey Harvest widget (after I added {{ticket.latest_comment_formatted}} to widgett's comment. I was trying to get last ticket's comment from Zendesk.

    5) And I should pay for such ugly integration to get basic helpdesk's feature - time tracking... I understand Zendesk's long term love to Harvest but may be your customers are more important? ;-)


    Eric, I once again convinced of the correctness of my original opinion on time tracking:

    1) Track time internally in Zendesk (it'll be much more usable for agents);

    2) Transfer data to GoodData for people who need reports;

    3) Transfer data to Harvest or any other app for people who need billing.

  • 0

    Problem 1:

    How can I pickup customer? Or should I create "Support" project with different name for each customer?

    My config (Entity: Zendesk <-> Harvest):

    Customer: Customer - Customer

    Project: No mapping - "Support"

    Task: Category (custom field) - Task

    I can pickup categories automagicaly, but I can't do the same for customer in Harvest.

    My "Magic Words": Support,{{ticket.ticket_field_option_title_21050922}}

    Problem 2:

    I can't see customer in Harvest widget.


  • 0

    Ok, this works for me:

    Magic Words: {{}},{{ticket.ticket_field_option_title_21050922}}

    Can we solve problem #2?

  • 0

    Per the folks at Harvest, the "magic words" only query against the Project Title and Task Title fields.  I am unable to get any matching against client (in the example where there is a "support" project for each client).

  • 0

    Kyle, for me {{}},{{ticket.ticket_field_option_title_21050922}} works well.

    I have same names for customer in both Zendesk and Harvest. And I have only one project in Harvest per customer ("Support").

  • 0

    Taras, what's in your "ticket.ticket_field_option_title_21050922" ? I assume that's a custom field...? 

  • 0

    Kyle, yes, it's custom field "Category".

    I have 7 ticket's categories in Zendesk and 7 Tasks for each support project in Harvest. 

  • 0

    Gotcha, that makes sense.  I'm still mystified about how you are able to match the customer name, though.  It doesn't work for me, and Harvest support says that they don't match against customer name at this point.  Perhaps those "magic words" really are magic.

  • 0

    What I would love to see is the ability to easily map a ticket from an organization in Zendesk, to a customer in Harvest. I want to be able to report on how much time each organization has taken to support. Currently the process to do this takes way too long. It should be easier to migrate Organizations from Zendesk over to Harvest.

  • 0

    Taras is absolutly right with his assessment to ultimatly implement basic time tracking into Zendesk, where time is posted against comments within tickets and summarized by ticket. This could then be synced to Harvest and Gooddata... that's it.

    Ideally we'd like to be able to extend not just Zendesk, but Harvest as well to have Zendesk placeholders and custom fields mapped 1:1 to their corresponding Harvest fields. We tried a workaround using a special character (°) as a delimiter between placeholders in the notes field. But parsing this out of Harvest reports is simply not feasible as a permanent solution.

    I can only encurage everyone to push Zendesk and Harvest to realize, that only tracked time is money and tracking time on a very granular level is key to success in the support business! We also do large procects and track time on a duration basis by day, but the support business requires time tracking on a task level and that usually corresponds to a comment in Zendesk.

    Hey Zendesk guys, I hope you get it!

    I have been in touch with Eric Chen of Zendesk since August 2011 about various issues surrounding Zendesk/Harvest time tracking. Eric reassured me that they are aware of the importance of time tracking, nonetheless not much really happened ever since. I even wrote an entire procect plan for them with three phases of improvements, but nothing other than the ability to use the start/stop timer through the widget got implemented.

    The issue with  {{ticket.latest_public_comment_formatted}} beraking the widget is known at least since February 2012 and confirmed to be a bug - nothing happend so far!


    Hi Hasso,


    Thanks for the reminder.  If you haven't checked the forum recently, check it out for the updated code.  It should resolve the character limit issue at least which should allow for you to make use of more placeholders and values for parsing out later.  As for the {{ticket.latest_public_comment_formatted}} issue, it seems this particular placeholder still does not work (and in fact breaks the widget).  This is definitely a bug and has to do with how the code gets read.  I have brought it up with development, but it is highly unlikely they will get to this very quickly.  


    I'm definitely still trying to actively find out how we are going to handle this internally as well, and I'd love to be able to share more information as I get it.  




  • 0

    @Taras and @Hasso

    Thanks for all of your feedback, and we do definitely have all of your original feedback and I certainly don't disagree.  I use it for reference material whenever anyone mentions time tracking and what customers want.  Unfortunately, we haven't been able to move as quickly as I'd like on this, but the ideas still definitely stand as the baseline of what we would like to be able to accomplish in the future with regards to time tracking.  


  • 0

    In widget I can't see customer title in Russian. And magic don't work for such customer title :(

    @Eric, thanks for your comment. But it's not clear for me what to expect and when in regard to the topic. Seems you pay much more attention to other "cool" things than time tracking.

  • 0

    Can someone explain how the magic words function works? We have client projects in harvest that are all titled "<company name> Support" and they each have an "IT Support" task. In the widget, we use "{{}} Support" (no quotes) for our magic words. All organizations (in zendesk) correspond exactly to one <company name> in harvest. Magic words selects the correct task for probably 70% of our companies, but not for the rest. I cannot find anything special about the ones that work vs those that do not. A fundamental understanding of what the magic words algorithm does would be helpful, or any other clues would be great too. Thanks!

  • 0
  • 0

    Unfortunately If I can't get my times exported to Gooddata this will not work for me.

    I would love to see a comprehensive time tracking to track on times spend per ticket and associated dimensions to dice and slice as I need it.

  • 0

    Just a warning to everyone who is planning to upgrade to new ZenDesk interface with standard Harvest integration: IT DOES NOT WORK!  


    I opened a supportcase in September and and it is still not solved.  The problem : you get an OK confirmation from the Zendesk interface when posting tickets into Harvest,  but there are nothing in Harvest.  The main problem is that it does not happen every time - sometimes it IS ok.... to bad Zendesk won´t fix this problem.

  • 0

    Hey Trond: 

    I took a quick gander at the ticket you referenced and want to apologize for the troubles/delay. This is still an ongoing issues that is actively being worked on. 

Powered by Zendesk