BurrowTime docs

Export to Clockify

An optional plugin for uploading completed local entries, with client-aware project mapping, per-entry rounding, and an editable review.

Install the optional plugin

BurrowTime works without Clockify. Install the separate connector only if you need it. Nothing syncs in the background, and your local records stay unchanged.

Clockify support is currently on main, not in the latest tagged release. Update both executables:

go install github.com/fabean/BurrowTime/cmd/burrowtime@main
go install github.com/fabean/BurrowTime/cmd/burrowtime-clockify@main

Keep both executables on your PATH.

Configure and preview

Provide CLOCKIFY_API_KEY, CLOCKIFY_WORKSPACE_ID, andCLOCKIFY_USER_ID through your shell environment or secret manager. The user must own the API key. BurrowTime stores the environment variable name, never the key, in its configuration.

burrowtime clockify configure --rounding up --increment 15m
burrowtime clockify sync --today --dry-run
burrowtime clockify sync --today

Dry-run opens the same mapping and review screens, but does not upload entries or save mappings or receipts. Only completed entries are eligible.

Choose projects with their clients visible

When a local project has no mapping, sync opens a project picker. Similar names appear first as suggestions. Every option includes its Clockify client so you can tell two projects named "Development - US" apart.

  • Move with arrow keys or j/k, then Enter to select.
  • Press / to search project names, clients, or IDs.
  • Use Page Up and Page Down for longer lists.
  • Press s to skip a project or q to cancel.

Mappings save when you confirm a nonempty upload batch. Named connections support different Clockify workspaces. Jira and Tempo are not supported yet.

Review before uploading

The review shows destinations, descriptions, timestamps, recorded and exported durations, billable settings, and totals. Select an entry and press Enter ore to edit it. In the editor, p changes the project,d the description, t the duration, and btoggles billable. Edits apply only to that export.

From the review, press s to skip an entry or p to open upload confirmation, then y to approve. Cancel with q. Dry-run finishes the preview without offering an upload.

Only the tag goes in the description

burrowtime start sema +SEMA-123
# Work on the ticket, then stop the timer.
burrowtime stop

The Clockify description is SEMA-123. It contains no local project name, leading plus sign, or BurrowTime tracking ID. Multiple tags are sorted and joined with spaces. No tags means an empty description unless you edit it.

These are descriptions, not native Clockify tags or task assignments. Previously uploaded descriptions are not rewritten automatically.

Round each completed entry

Rounding is off by default. Choose up to round up ornearest for the closest increment. With up and15m, a 16-minute entry exports as 30 minutes. Three separate 2-minute entries export as 45 minutes total.

Rounding adjusts the exported end time and can create overlaps or cross midnight. Your local timestamps stay exact. An edited duration overrides rounding for that upload.

Rerun without uploading the same entry twice

BurrowTime keeps configuration in integrations.json and upload receipts in integration-sync.json in its data directory. A successful upload is recorded before moving to the next entry. Later runs skip it.

If a request may have reached Clockify but no response arrived, that entry stays pending. Sync will not blindly retry it. Check Clockify, then useresolve with the remote entry ID or retry --confirmed-not-createdonly after confirming no entry was created. Keep the ledger when moving or backing up your data; duplicate protection depends on it.

burrowtime clockify status

Changed local entries are flagged, not automatically updated or deleted in Clockify. For explicit date ranges, named connections, unattended--yes uploads, and recovery commands, read thefull connector reference.