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) 2025 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) 2025 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 time entry billing status included to false -- optional: include billing status if enabled
-- optional: also filter by billing status (e.g. only include billed and paid entries)
-- set billing status filter to {billed, paid}
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) 2025 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, $());