Toggl Trackで記録した稼働状況をObsidianで可視化!「Toggl Track Integration for Obsidian」のご紹介

Toggl Trackで記録した稼働状況をObsidianで可視化!「Toggl Track Integration for Obsidian」のご紹介

Clock Icon2025.03.25

あしざわです。

最近マークダウンエディタ兼メモアプリとして、Obsidianを使い始めました。

これまではマークダウンエディタとしてVS Code、メモアプリとしてNotionを使っていましたが、なんだかしっくりきていませんでした。

Obsidianを使い始めると、マークダウンエディタとしての書き心地の良さやコミュニティプラグインを利用した機能拡張を中心にとても気に入ったので、色々試しているところです。

さて、本記事ではObsidianのコミュニティプラグインの1つ「 Toggl Track Integration for Obsidian 」を紹介します。
https://github.com/mcndt/obsidian-toggl-integration

私は業務の稼働管理のためにToggl Track を使っているのですが、ObsidianとToggl Trackを連携させる機能がないのか何気なく探してみたところ、このプラグインに出会いました。

本記事では、「 Toggl Track Integration for Obsidian 」の初期設定、基本的な機能を紹介します。

初期設定

Obsidianの設定 > コミュニティプラグイン > 閲覧から、Toggl Trackをインストール&有効化します。
image.png

Toggl Trackプラグインのオプションにて、API Token欄にToggl Track のAPIトークンを入力します。
image.png

Toggl TrackのAPIトークンはWebアプリのProfile → Profile settingsにあるAPI Tokenから取得できます。
image.png
image.png

Toggl Workspaceにワークスペース名が表示されるようになっていたらOKです。1回だと入力しただけでは表示されな胃ことがあったので更新ボタンを押したり、APIキーを再度入力し直したりしました。

基本的な機能の紹介

Toggl Report

右サイドバーの時計マークをクリックするとToggl Reportが表示されます。

image.png

このレポートの嬉しいポイントは以下の3点です。

  1. 現在進行形で記録されているレコードが表示される
  2. 棒グラフやリスト形式での本日分の稼働の一覧
  3. 1,2がほぼリアルタイムで自動更新される

Obsidianでメモを取りながら、Toggl で稼働記録ができているか、本日の稼働の内訳はどうなっているのかをチェックできますし、記録は自動更新され更新頻度も1秒単位なので見ていてストレスがありません。大変便利だと感じました。

タイマーの停止/開始

また、サイドバー上から記録の開始/停止ができます。
CleanShot 2025-03-25 at 00.30.43.png
停止時のイメージ、記録の開始ができます

また、Mac版だと「Command + P」で開くコマンドパレットに、Toggl のタイマーの停止/開始に関連するコマンドがありました。
image.png

同様の機能は、Toggl Track デスクトップアプリやRaycastのRaycast拡張を使えば、タイマーの開始/停止を気軽に実行できます。
https://dev.classmethod.jp/articles/toggl-track-desktop-app-solving-timer-problems/
https://dev.classmethod.jp/articles/raycast_toggl_track_extension/

個人的にはわざわざObsidianでやる必要はないかな、と思っています。

ノート内での時間レポート表示

任意のノートで以下のコードブロックを作成します。

```toggl
SUMMARY
TODAY
```

すると、当日の稼働サマリが表示されます。めちゃめちゃ簡単にいい感じのレポートが出ました。
image.png

このクエリはToggl Query Language(TQL)という、Dataview's DQLから着想を得た言語で記載します
https://github.com/mcndt/obsidian-toggl-integration/wiki/Toggl-Query-Language-(TQL)-Reference

TQLのクエリは、ブロックごとに以下のフォーマットで記載します。

Report type
Time range
Project filter (option)
Grouping and sorting (option)
Visualization options (option)

Optionと記載のない行は必須で、記載のある行は任意です。
TQLのどこかで何らかのエラーが発生すると以下のようなエラー表示となります。
CleanShot 2025-03-25 at 00.59.48.png
Time rangeでのエラー例

ここからはTQLのクエリ行について、よく使うものに絞って解説・用途の紹介をやってみます。

よく使うものとは、必須の行である以下の2つです

  • Report Type
  • Time range

「Report Type」には2パターンあります。

  • SUMMARY
  • LIST

SUMMARYを使うと、棒グラフ、円グラフ、プロジェクト毎のリストの3つの形式で表示されます。
前述した通りのイメージと同じです。
image.png

LISTを使うと、期間内のレコードの一覧が表示されます。
表示のイメージはこちら。

CleanShot 2025-03-25 at 00.50.09.png

得られる情報は特に変わりません。
日次レポートなど単体の内訳を見たいときはLIST、週次レポートのような複数のまとまりのサマライズしたいときはSUMMARYのような使い分けがいいかもしれないです。

「Time range」で表示させる日付の範囲を指定できます。
サポートされる形式は以下です

  • TODAY
  • WEEK (this week)
  • MONTH (this month)
  • PAST ... {DAYS|WEEKS|MONTHS)
  • FROM ... TO ...

TODAYを始めとして相対的に日付を指定するものが多いことがわかります。

相対日付指定は、手軽で便利です。ただし、そのレポートを「表示した日」から数えた当日(TODAY)や今週(this week)が表示されることになり、過去の情報を閲覧する日報のような用途には不向きです。

私はObsidianを日報の用途で使っているため、今回は絶対日付を指定できるFROM ... TO ...を使いました。
From 2025-03-21 TO 2025-03-25のように書きます。From 2025-03-25 TO 2025-03-25とFROMとTOに同じ日付を入れることで1日に限定してフィルタすることもできました。

日報はObsidianデフォルト機能のデイリーノートを使ってテンプレート化しているので、以下のように表記しました。

```toggl
LISTFROM {{date: YYYY-MM-DD}} TO {{date: YYYY-MM-DD}} 
```

デイリーノートを開いたタイミングで{{date: YYYY-MM-DD}} に箇所にその日の当日の日付が自動で入力されます。嬉しいですね。

以降は、その他オプション項目についてさらっと紹介します。

「Grouping and sorting (option)」は、SORT {ASC|DESC}を使って表示をソートできます。

ソートなしで使うと以下の挙動をするようです。

  • SUMMARYもしくはプロジェクトをグループ化したLISTの場合:プロジェクト毎の合計で昇順に並べ替えられる
  • LISTを使ったレポート:タスクの時系列順に並べ替えられる

私はソート設定をデフォルトのままにしています。

INCLUDE PROJECTS "プロジェクト名"EXCLUDE TAGS #tag1, #tag2とすることでプロジェクト名やタグ名を使ってフィルタリングもできるようです。
フィルタは今回は使っていませんが、用途があれば使ってみようと思います。

さいごに

今回はObsidianのコミュニティプラグインの1つである「 Toggl Track Integration for Obsidian 」について紹介しました。

ObsidianとToggl Track、両方使っている方は是非試してみてください。

以上です、最後まで読んでいただきありがとうございます。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.