Sync your WakaTime data in Toggl
- Works with free accounts
- Can be automated with GitHub Actions
- Get your Wakatime API key in your settings
- Get your Toggl "API Token" at the bottom of your profile page
- Download and install Node.js
- Install wakatime-to-toggl with
npm i -g wakatime-to-toggl
- Run the following command to sync data from yesterday:
wakatime-to-toggl -w <wakatime-api-key> -t <toggl-api-key>
- Ideally, run wakatime-to-toggl everyday
- Fork this repository
- From your new fork, go to Settings > Secrets
- Add the following secrets using the New secret button:
- Go to the Actions tab of your fork
- Click set up a workflow yourself
- Copy-paste this workflow:
name: Run wakatime-to-toggl everyday
on:
schedule:
- cron: 30 2 * * * # Everyday at 02:30 AM UTC. You can change it according to your timezone
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx wakatime-to-toggl -w "$WAKATIME_API_KEY" -t "$TOGGL_API_KEY"
env:
TOGGL_API_KEY: '${{ secrets.TOGGL_API_KEY }}'
WAKATIME_API_KEY: '${{ secrets.WAKATIME_API_KEY }}'
- Click Start commit then Commit new file to save
That's it! wakatime-to-toggl will run every day at 2:30 AM UTC (unless you changed it in the workflow)
You can come back to the Actions tab later to see the logs
- Entries shorter than 2 minutes will be ignored. This duration is configurable
- Duplicate entries won't be added if they are detected
- Projects will be created in your default workspace. You can move them to another workspace if you want
- Time entries will be created with a default description ("Development"). You can edit it, it won't break duplicates detection
$ wakatime-to-toggl --help
Usage
$ wakatime-to-toggl -w <wakatime-api-key> -t <toggl-api-key>
Options
--wakatime, -w Your Wakatime api key
--toggl, -t Your Toggl api key
--day, -d The day to fetch. 0 is today, 1 is yesterday... Default: 1
--min-duration -m Minimum duration (in seconds) of entries to sync. Default: 120