Exporting Data via AppleScript
Simply copy the following script(s) into a new "Script Editor" document and press run.
After pasting them, consider saving the scripts to disk for future re-use. You could even save them to iCloud Drive (or e.g. Dropbox or Google Drive) to have them available on all your Macs.
Feel free to customize them for your use cases; if you need details on how a particular method works, please refer
to our AppleScript reference.
Note: We do not take responsibility for any data loss incurred by running these scripts.
Make sure to back up your data (e.g. by copying the directories mentioned here to a different location) before running these scripts.
Table of Contents
Getting a Summary of Today's Activities
-- Copyright (c) 2024 Timing Software GmbH. All rights reserved. -- This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us. tell application "TimingHelper" if not advanced scripting support available then error "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade." end if end tell tell application "TimingHelper" set usageData to get time summary between (current date) and (current date) get properties of usageData -- have a look at the results of this statement to see what you can do with it delete usageData -- this is required to avoid accumulating old summaries (and thus leaking memory) end tell
Generating a Report and exporting it
-- Copyright (c) 2024 Timing Software GmbH. All rights reserved. -- This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us. tell application "TimingHelper" if not advanced scripting support available then error "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade." end if end tell set datevar to current date set hours of datevar to 7 set minutes of datevar to 0 set seconds of datevar to 0 tell application "TimingHelper" set reportSettings to make report settings set exportSettings to make export settings get properties of reportSettings tell reportSettings set first grouping mode to by month set second grouping mode to by project set time entries included to true set time entry title included to true set also group by time entry title to true set time entry timespan included to true set time entry notes included to true set app usage included to true set application info included to true set timespan info included to true set also group by application to true end tell tell exportSettings set file format to HTML set duration format to seconds set short entries included to true end tell save report with report settings reportSettings export settings exportSettings between datevar and datevar to "/Users/daniel/Desktop/export.html" for projects (projects whose name is "ProjextXYZ") -- these commands are required to avoid accumulating old settings (and thus leaking memory) delete reportSettings delete exportSettings end tell
Saving a Summary of Today's Activities as JSON to the Desktop using JavaScript for Automation (JXA)
Simply copy one of the following script into a new "Script Editor" document, select "JavaScript" as the script's language, and press run (see this article for more detailed instructions).
After pasting them, consider saving the scripts to disk for future re-use. You could even save them to iCloud Drive (or e.g. Dropbox or Google Drive) to have them available on all your Macs.
Feel free to customize the scripts for your use cases; if you need details on how a particular method works, please refer
to our AppleScript reference.
Note: We do not take responsibility for any data loss incurred by running these scripts.
Make sure to back up your data (e.g. by copying the directories mentioned here to a different location) before running these scripts.
// Copyright (c) 2024 Timing Software GmbH. All rights reserved. // This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us. var helper = Application("TimingHelper"); if (!helper.advancedScriptingSupportAvailable()) { throw "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade."; } var app = Application.currentApplication(); app.includeStandardAdditions = true; var endDate = new Date(); var startDate = new Date(endDate); var timeSummary = helper.getTimeSummary({ between: startDate, and: endDate }).properties.get(); var str = $(JSON.stringify(timeSummary)); str.writeToFileAtomicallyEncodingError($("~/Desktop/timeSummary.json").stringByStandardizingPath, true, $.NSUTF8StringEncoding, $());