All Collections
Timely Integrations
Sync Time Entries to Google Sheets using Zapier
Sync Time Entries to Google Sheets using Zapier

Countinuously sync new and updated time entries from Timely to Google Sheets

Philipp avatar
Written by Philipp
Updated over a week ago

Plans πŸ’³ : Everyone

User Permissions πŸ‘₯: Admin

Zapier is an amazing platform that connects countless apps and services together in just a few clicks. Here at Timely, we’ve been amazed to see all the different Zapier workflows (affectionately called β€œZaps”) created by our users - building connections between Timely and related apps.
​
If you are newer to Zapier, you can always check out our introductory article for a nuanced overview, as well as a few general sample Zaps for inspiration.
​
In this article we'll be deep diving into the process of syncing all time entries from Timely to Google Sheets using Zapier. We'll go over everything you need to prepare your blank Google Sheet and configure your Zaps to import new and updated time entries from Timely.

Preparing the Google Sheets file before creating your first Zap

Before diving into configuring your Zap, you'll want to make sure that you have a new blank Google Sheet to receive the incoming data. Once everything has been set up and your Zap is running each time entry will then be written to that sheet in Google.
​
As a first step, create the sheet in Google with the column headers as shown below. Your Google Sheet should look very similar to what's shown here with the suggested column headers, you'll see an example data entry for context:

πŸ“ Feel free to directly copy the column headers below and paste them into your Google Sheets file:

Timely Time Entry ID

Hour Date

Hour Note

Name

Duration in Minutes

Hour Tags

Project

Client

We'd recommend keeping the duration in minutes to avoid any rounding errors or data issues caused by rounded values.
​

Important Note: The fields in the Google Sheet can largely be customised according to your needs, but it's important that you always include the Timely Time Entry ID column as shown above, this will ensure your Sheet is able to receive updated time entries as part of the automation.

Zap 1 - Sync new Time Entries from Timely into Google Sheets

Now that you have your Google Sheet all set, it's time to deep dive into creating your first Zap! This first Zap handles entries that are newly added in Timely and it consists of two steps.
​

  1. Select "Timely Time Tracking" as the trigger app and chose the trigger "New and/or Updated Time Entry (Only Admin Users)". After connecting your Timely account and workspace, select the "Entry type" "New entries only". Move forward and run the test to make sure that it works as expected.
    ​


    ​

  2. In the second step, select the "Google Sheets" app with the action "Create Spreadsheet Row" in Zapier. Connect your account and move forward to the "Action" section. There you have to select the Drive, Spreadsheet and the Worksheet.
    ​


    ​
    Next, you'll need to map the information from Timely to the columns in Google Sheets - those same columns that you configured in the first section and the data you configure in this Zap:
    ​




Zap 2 - Sync updated Time Entries from Timely into Google Sheets

The second Zap takes care of entries that have been updated in Timely in any way. This Zap is important as it will make sure that the previously synced entries in your Google Sheet are updated and that there are no duplicate entries created in in the spreadsheet when changes are made. This Zap consists of three steps:

  1. Select "Timely Time Tracking" again as the trigger app and chose the trigger "New and/or Updated Time Entry (Only Admin Users)". After connecting your Timely account and workspace, select the "Entry type" "Updated entries only". Move forward and run the test to make sure that it works as expected.
    ​

  2. As the first step provides an updated entry that already exists in in the sheet, we have to find the row that this entry has been written in. Select the action "Lookup Spreadsheet Row" and connect the sheet with the Timely time entries in Zapier.
    ​


    The further settings under action are shown in the screenshot below.
    ​
    β€‹πŸ› οΈ The "Bottom-Up" setting is optional. In this example we have it set to "True" as it can be helpful towards preventing timeout issues if the list of entries gets very long.
    ​
    As shown here, we've decided not to handle entries that have been logged before this sync has been set up, this has the effect of stopping the Zap when the updated entry cannot already be found in the sheet. This is set by ensuring the "Should this step be considered a "success" when nothing is found?" option is set to "No".
    ​


    As always it is recommended to run a test to make sure that the step works. This test will only be successful if you already have the entry that has been found as updated entry in step 1 written in your sheet.

  3. The final step is to update the row that has been found in the sheet. So the action "Update Spreadsheet Row" has to be selected. After connecting the sheet with the time entries, the row number that is an output from step two has to be selected for the "Row" field. Afterwards all information apart from the entry ID is mapped the same way as in the previous Zap. All values for the entry will be overwritten and any updated values will be synced over.
    ​


​
Tada πŸŽ‰ - now you are set and all your time entries from Timely will be synced over to Google Sheets! This might help you with invoicing or with running reports and analytics on the logged entries.

Did this answer your question?