Skip to content

Latest commit

 

History

History
87 lines (65 loc) · 3.38 KB

README.md

File metadata and controls

87 lines (65 loc) · 3.38 KB

WakaTime to Toggl

Build Status Version Downloads Code style

Sync your WakaTime data in Toggl

  • Works with free accounts
  • Can be automated with GitHub Actions

Prerequisites

Option 1 - Run manually on your computer

  1. Download and install Node.js
  2. Install wakatime-to-toggl with npm i -g wakatime-to-toggl
  3. Run the following command to sync data from yesterday: wakatime-to-toggl -w <wakatime-api-key> -t <toggl-api-key>
  4. Ideally, run wakatime-to-toggl everyday

Option 2 - Run automatically everyday using GitHub Actions

  1. Fork this repository
  2. From your new fork, go to Settings > Secrets
  3. Add the following secrets using the New secret button:
  • TOGGL_API_KEY: Your Toggl API Key
  • WAKATIME_API_KEY: Your Wakatime API Key Screenshot
  1. Go to the Actions tab of your fork
  2. Click set up a workflow yourself
  3. 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 }}'
  1. 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

Things to know

  • 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

Detailed usage

$ 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