• Stars
    star
    366
  • Rank 113,240 (Top 3 %)
  • Language
    Go
  • License
    MIT License
  • Created over 9 years ago
  • Updated 14 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Alfred Workflow for interacting with the Toggl time tracking service

alfred-toggl

⚠️ Note: This workflow is no longer being actively developed, but pull requests will still be accepted. ⚠️

An Alfred workflow for accessing the Toggl time-tracking service

Screenshot

Installation

Download the latest workflow package from the releases page and double click it — Alfred will take care of the rest.

Usage

The workflow uses one main keyword: “tgl”. The first time you use the keyword, only two items will be available: login, token, and reset. Actioning login will prompt you for your username and password, which are used to temporarily authenticate with toggl.com to retrieve your API token. The token item can be used to directly enter your API token (available at the bottom of your Toggl profile page).

Login

Once you’ve logged in, a number of commands will be available.

Main menu

Items may be either “tabbed” or “actioned”. Tabbing means to press the Tab key, and actioning means to press the Return or Enter key. In general, tabbing will auto-complete, while actioning takes an action or enters a new mode (although it may also auto-complete in certain situations).

The workflow can operate in various modes, described below. For example, the timers mode lists timers and allows the user to create, update, and delete them. To enter the timers mode, type tgl timers and press Enter. The major modes also have direct keywords. Typing tgt is equivalent to typing tgl timers and pressing Enter.

timers

The timers command (tgl timers or tgt) lists all user time entries created during the last 9 days, up to 1000. Entries are listed in reverse chronological order by start time. If a timer is active, its icon will be green.

Timers list

Actioning a time entry will show various properties for that entry, and also allow the entry to be modified or deleted. Holding Cmd while actioning a time entry from the list will continue the time entry (either creating a new instance of the entry or extending its duration, depending on the configured default behavior).

If no entries are running, hold Ctrl while actioning the most recent time entry will "unstop" it. A new entry will be created with the same start time as the original, and the original will be removed. The end result will be as if the entry had never been stopped.

In the timer property list, actioning a property will allow it to be modified. If the property involves selecting an option or a true/false value, a checklist of possible values will be presented. If the property is a string, number, or time, a new value can be entered directly. Pressing Enter will update the property.

Timer menu

projects

The projects (tgl projects or tgp) command lists all user projects. Projects are listed in reverse creation order. If a timer is active, its project icon will be green.

Projects list

Actioning a project will present a list of properties (name), subcommands (delete), and an item for listing the project’s time entries. Actioning a property will show the property’s value, and may allow it to be changed. Actioning a subcommand will execute the subcommand.

Project menu

A new project may be added by entering a unique project name when the projects list is displayed.

tags

The tags command (tgl tags) lists all user tags in alphabetical order. A new tag may be added by entering a unique tag name when the tags list is displayed.

report

The report command (tgl report or tgr) can be used to generate summary time-spent reports for the current or previous days or for the current week (starting on Monday).

Report menu

Actioning one of the report types will show the total hours for the given time frame, as well as a breakdown of how many hours were spent on each project.

This week’s report

Actioning one of the projects will show how time was spent on that project, broken up by task. Multiple time entries with the same description will be grouped into a single task. Actioning a time entry will show how that time entry was distributed over the reporting period.

The report date or period may also be specified manually. A single date may be entered using a variety of formats, such as ‘2016-08-12’ or ‘8/12’. A range of dates may be specified by separating two dates with ‘..’ (like ‘8/10..8/15’).

Custom reporting period

When using the predefined 'week' report type, the start day will be the "beginning of week" day specified in your Toggl account settings.

options

The options command (tgl options or tgo) lists user-configurable options and allows the user to modify them.

Options menu

As in other modes, actioning an option will allow a new value to be specified. Values with discrete options will allow the user to pick from a list, while numbers and strings will allow the user to directly enter a new value.

status

The status command (tgl status or tgs) will download current user data, including account info, tags, projects, and time entries for the last 9 days, from Toggl.com, and will show the currently running timer and the total time spent in the current day.

Current status

logout

The logout commmand will clear the locally stored copy of the user‘s API token, preventing the workflow from interacting with Toggl.com. Other locally cached data and configuration information will not be affected.

reset

The reset command will clear all locally cached data and configuration information, including the API token. This returns the workflow to a clean initial state.

More Repositories

1

hacs-hubitat

A Hubitat integration for Home Assistant
Python
181
star
2

alfred-weather

Get weather forecast using Alfred
Go
157
star
3

vim-js-indent

Vim indenter for standalone and embedded JavaScript
Vim Script
66
star
4

hubitat

Hubitat apps and drivers
Groovy
57
star
5

dotfiles

My dotfiles
Lua
47
star
6

jc-units

Alfred 2 Workflow for unit conversion
Python
46
star
7

go-alfred

Alfred workflow utility library in Go
Go
45
star
8

jc-nest

Alfred 2 Workflow to control a Nest
Python
40
star
9

homebrew-neovim-nightly

Homebrew Cask tap for nightly neovim
Ruby
33
star
10

jc-toggl

Alfred workflow to interacting with Toggl
Python
28
star
11

jc-weather

Alfred 2 Workflow for getting weather forecasts
Python
20
star
12

alfred-nest

An Alfred workflow for controlling a Nest thermostat
Go
16
star
13

go-toggl

Go library for accessing the Toggl API
Go
15
star
14

alfred-hue

An Alfred workflow for interacting with Philips Hue lights
Go
11
star
15

jcalfred

Python package for developing Alfred workflows
Python
10
star
16

vim-tss

TypeScript language services integration for vim
TypeScript
10
star
17

alfred-redmine

An Alfred workflow for interacting with a Redmine server
Go
9
star
18

hubitatmaker

A Python library for interfacing with a Hubitat hub via its Maker API
Python
9
star
19

intern-mocking-example

Example of mocking resources with Intern
JavaScript
8
star
20

jc-chrome-prism

Chrome Prism Alfred workflow
Python
6
star
21

alfred-slack

An Alfred workflow for Slacking
Go
5
star
22

jc-toggl-notifier

A Mac menu bar application that tells you when a Toggl timer is active
Objective-C
4
star
23

intern-cucumber-example

Example of using Intern with Cucumber
JavaScript
3
star
24

vim-wildgitignore

Parse gitignore files into wild ignore rules
Vim Script
2
star
25

go-redmine

A Go library for accessing Redmine servers
Go
2
star
26

simple-news

A super-simple RSS aggregator and reader
Rust
2
star
27

lifxgo

The LIFX API for Go
Go
2
star
28

diff-explore

A terminal program to explore git diffs
Go
2
star
29

intern-a11y

a11y testing plugin for Intern
TypeScript
2
star
30

mistycon

A simple controller app for the Misty II robot
TypeScript
1
star
31

go-hue

Go library for interacting with Philips Hue lights
Go
1
star
32

deno-todos

A simple Deno-based Todos app
TypeScript
1
star
33

spellingcee

Spelling Bee++
Svelte
1
star
34

old-intern-cli

Command line interface for Intern
JavaScript
1
star
35

action-project-manager

GitHub Actions
TypeScript
1
star
36

homeui

A simple Hubitat controller UI inspired by Apple's Home app
TypeScript
1
star