
Toggl Trackで記録した稼働状況をObsidianで可視化!「Toggl Track Integration for Obsidian」のご紹介
あしざわです。
最近マークダウンエディタ兼メモアプリとして、Obsidianを使い始めました。
これまではマークダウンエディタとしてVS Code、メモアプリとしてNotionを使っていましたが、なんだかしっくりきていませんでした。
Obsidianを使い始めると、マークダウンエディタとしての書き心地の良さやコミュニティプラグインを利用した機能拡張を中心にとても気に入ったので、色々試しているところです。
さて、本記事ではObsidianのコミュニティプラグインの1つ「 Toggl Track Integration for Obsidian 」を紹介します。
私は業務の稼働管理のためにToggl Track を使っているのですが、ObsidianとToggl Trackを連携させる機能がないのか何気なく探してみたところ、このプラグインに出会いました。
本記事では、「 Toggl Track Integration for Obsidian 」の初期設定、基本的な機能を紹介します。
初期設定
Obsidianの設定 > コミュニティプラグイン > 閲覧から、Toggl Trackをインストール&有効化します。
Toggl Trackプラグインのオプションにて、API Token欄にToggl Track のAPIトークンを入力します。
Toggl TrackのAPIトークンはWebアプリのProfile → Profile settings
にあるAPI Tokenから取得できます。
Toggl Workspaceにワークスペース名が表示されるようになっていたらOKです。1回だと入力しただけでは表示されな胃ことがあったので更新ボタンを押したり、APIキーを再度入力し直したりしました。
基本的な機能の紹介
Toggl Report
右サイドバーの時計マークをクリックするとToggl Reportが表示されます。
このレポートの嬉しいポイントは以下の3点です。
- 現在進行形で記録されているレコードが表示される
- 棒グラフやリスト形式での本日分の稼働の一覧
- 1,2がほぼリアルタイムで自動更新される
Obsidianでメモを取りながら、Toggl で稼働記録ができているか、本日の稼働の内訳はどうなっているのかをチェックできますし、記録は自動更新され更新頻度も1秒単位なので見ていてストレスがありません。大変便利だと感じました。
タイマーの停止/開始
また、サイドバー上から記録の開始/停止ができます。
停止時のイメージ、記録の開始ができます
また、Mac版だと「Command + P」で開くコマンドパレットに、Toggl のタイマーの停止/開始に関連するコマンドがありました。
同様の機能は、Toggl Track デスクトップアプリやRaycastのRaycast拡張を使えば、タイマーの開始/停止を気軽に実行できます。
個人的にはわざわざObsidianでやる必要はないかな、と思っています。
ノート内での時間レポート表示
任意のノートで以下のコードブロックを作成します。
```toggl
SUMMARY
TODAY
```
すると、当日の稼働サマリが表示されます。めちゃめちゃ簡単にいい感じのレポートが出ました。
このクエリはToggl Query Language(TQL)という、Dataview's DQLから着想を得た言語で記載します
TQLのクエリは、ブロックごとに以下のフォーマットで記載します。
Report type
Time range
Project filter (option)
Grouping and sorting (option)
Visualization options (option)
Optionと記載のない行は必須で、記載のある行は任意です。
TQLのどこかで何らかのエラーが発生すると以下のようなエラー表示となります。
Time rangeでのエラー例
ここからはTQLのクエリ行について、よく使うものに絞って解説・用途の紹介をやってみます。
よく使うものとは、必須の行である以下の2つです
- Report Type
- Time range
「Report Type」には2パターンあります。
- SUMMARY
- LIST
SUMMARYを使うと、棒グラフ、円グラフ、プロジェクト毎のリストの3つの形式で表示されます。
前述した通りのイメージと同じです。
LISTを使うと、期間内のレコードの一覧が表示されます。
表示のイメージはこちら。
得られる情報は特に変わりません。
日次レポートなど単体の内訳を見たいときは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、両方使っている方は是非試してみてください。
以上です、最後まで読んでいただきありがとうございます。