A Raycast extension that runs a Pomodoro timer on macOS and saves work logs to Notion.
It combines work/break BGM, alarms, work notes, focus levels, early finish, pause, and resume in one workflow.
macOS only
Raycast also has a Windows app, but this extension targets Raycast on macOS. Audio playback and other OS-specific features are not available on Windows.
Author: Kohinada Makoto
High / Medium / Low)After installation:
Configure Notion, set Notion Token and Notion Database ID, and validate the connectionStart Pomodoro or Pomodoro StatusWhen using the template, follow the duplicated Getting Started page for Connect setup and database ID retrieval. See Notion setup below for details.
Session Type): Main Work / Writing / Reading / AdminTimer lengths, volume, and BGM can be changed in Raycast → Extension Preferences.
Review: Use the Notion dashboard (weekly charts) or the work log database Today / This Week views. Breaks are not saved to Notion. If dashboard charts do not appear on the free plan, use the work log database views instead (see Notion free plan and dashboard).
Search for these in the Raycast command palette:
| Command | Purpose |
|---|---|
| Start Pomodoro | Start a new work session |
| Pause Pomodoro | Pause the current session |
| Resume Pomodoro | Resume a paused session |
| Finish Current Session | Finish the current work or break and continue |
| Discard Session | During work: save to Notion then stop / during break: stop without saving |
| Pomodoro Status | View status, pause/resume, enter work logs, early finish, edit timer and session types |
| Configure Notion | Validate Notion connection and database schema |
Default BGM and alarm files:
| Use | Content | Source |
|---|---|---|
| Work | Rain ambience (loop) | Pixabay — Nature copyright free rain sounds |
| Break | Piano (loop) | Pixabay — Musical the last piano |
| Session end | Bell | Pixabay — Film special effects bell fx |
All are from Pixabay under the Pixabay Content License.
Replace them in Raycast → Extension Preferences via Work Sound File, Break Sound File, and Alarm Sound File.
You need one Notion database for work logs.
Recommended: duplicate the public PomoNotion Dashboard (Minimal) (includes dashboard, work log DB, and a Getting Started guide). The Raycast extension itself does not ship a Notion template.
Duplicate link: https://steady-lighter-6fe.notion.site/PomoNotion-Dashboard-Minimal-e88cd1874cd5837d9b19013da2c206e0?source=copy_link
| Item | Contents |
|---|---|
| Dashboard (top) | Three weekly summary charts (daily work time / session type / focus) |
| Work log DB | Extension target. Views (All / Today / This Week) and two charts |
| Getting Started | Notion setup guide |
Notion free plan and dashboard
Saving work logs via this extension (Configure Notionand database writes) works on Notion's free plan.
The Minimal template Dashboard places three chart views on one page. On the free plan, Notion limits how many charts can appear on a single page, so dashboard charts may not all render (the template has 3 dashboard charts plus 2 in the work log DB).
On the free plan, review logs with the work log DB Today / This Week table views. For the full dashboard experience, Notion Plus (paid) or higher is recommended.
Template workflow:
Issue an access token from Notion Connect (usually starts with secret_…).
Recommended (browser)
PomoNotion), choose access token and workspace, then click Create ConnectFrom the Notion app
Treat the access token like a password. Do not share it outside Raycast Notion Token.
Set this token as Notion Token in Raycast.
Using the template
Use the duplicated work log database as-is. Property names, types, and views are preconfigured.
Creating manually
Create a new Notion database with at least these properties using exact names and types:
| Property | Type | Notes |
|---|---|---|
Name | Title | Filled automatically by the extension |
Start | Date | Include time: ON |
End | Date | Include time: ON |
Work Note | Text | Work note (optional). Rich text also works |
Focus | Select | Options High / Medium / Low |
Session Type | Select | Register options matching session types below |
Time | Number | Number, not Formula |
Focus (required options)HighMediumLowSession Type (extension defaults = Minimal template)The extension manages session types in Raycast and writes them to Session Type on save.
Keep Notion Select options and extension session types in sync (the extension does not auto-create Notion options).
Default session types (same in the template DB):
Main WorkWritingReadingAdminTo change them, update both Pomodoro Status → Edit Session Types and the Notion Session Type options.
Without this connection, saving will fail even with a valid token.
Open the work log DB as a full page and copy the database ID (about 32 alphanumeric characters) from the URL.
?v=Set this value as Notion Database ID in Raycast.
Configure NotionNotion TokenNotion Database IDFocus and Session Type option warnings are warnings only — do not confuse them with connection failureTime property worksTime must be a Number property.
The extension calculates active work minutes (excluding paused time) and writes the value directly — not via a Notion Formula.
| Property | Role |
|---|---|
Start / End | Start and end timestamps |
Time | Aggregated active work time in minutes (excluding pauses) |
Use it directly in Notion charts and dashboards.
| Data | Stored in |
|---|---|
Notion Token / Notion Database ID | Raycast extension preferences only |
| Active session / timer state | Raycast on your Mac |
| Work logs (notes, focus, time, etc.) | Your configured Notion database |
No data is sent to the extension author’s servers.
hk_raycast