Introduction
channelBar is a macOS application that lives in the menu bar and allows you to receive, display, and organize messages from various sources. The app serves as a central hub for notifications and status messages from your tools, automations, and smart home systems.
What makes channelBar special:
- Multiple channels: Organize messages into thematic categories
- Flexible inputs: Receive messages via URLs, webhooks, MQTT, files, and more
- Customizable outputs: Menu bar, system notifications, audio, or command-line application
- Powerful templates: Format messages exactly the way you want
Basic Concepts
Channels
A channel is a container for related messages. Think of channels as thematic folders:
work– Messages from build systems, CI/CD pipelineshome– Smart home notificationsweather– Weather alerts and updatesserver– Monitoring alerts
Each channel has:
- A unique identifier (name)
- A position in the menu bar (order)
- Its own providers (inputs)
- Its own outputs (menu bar, notifications, audio)
- Its own templates for message formatting
- Retention rules (how many/how long messages are stored)
Messages
A message is the actual content that arrives in a channel via a provider. Each message contains:
| Field | Description |
|---|---|
text | The message content |
provider | Where the message came from (Webhook, MQTT, etc.) |
source | Optional label (e.g., "Jenkins", "GitHub Actions") |
createdAt | Timestamp |
link | Optional URL (opened in browser) |
open | Optional command/path to execute |
openArgs | Optional arguments for the command |
messageContext | Optional context data (for templates) |
Providers (Inputs)
Providers are the ways messages reach channelBar. There are nine different provider types:
| Provider | Description |
|---|---|
| URL Scheme | channelbar:// URLs from other apps |
| Webhook | HTTP endpoint for remote systems |
| MQTT | Pub/Sub protocol for IoT and automation |
| RSS/Atom Feed | Subscribe to web feeds, podcasts, and YouTube channels |
| File Watcher | Monitor local files |
| Apple Shortcuts | Apple Shortcuts integration |
| Home Assistant | Smart home integration |
| Command-Line Application | Local command-line application |
| Cloud | channelBar Cloud Service |
Each channel can have multiple providers active at the same time.
Outputs
Outputs define how and where messages are displayed. Each channel has four independently configurable outputs:
| Output | Description |
|---|---|
| Menu Bar | Display in the macOS menu bar |
| Notifications | macOS system notifications |
| Audio | Sound output for new messages |
| Command-Line Application | Output to the command-line application |
Templates
Templates determine how messages are formatted and displayed. With variables like {message}, {date}, or {source}, you can customize the appearance individually.
The User Interface
Menu Bar
channelBar displays an element in the macOS menu bar for each active channel. Clicking opens the channel menu with:
- The current message (formatted according to template)
- The message history as a submenu
- Optional actions like "New Message..." or "Clear History..."
Menu Bar Icon: When enabled, a permanent channelBar icon also appears, giving you quick access to settings.
Settings Window
You can access the settings window via:
- Click on the channelBar icon → "Settings..."
- Right-click on any channel element → "Settings..."
The window has four tabs:
- General – Global app settings
- Channels – Channel and provider management
- Connections – Server connections (MQTT, Home Assistant, Cloud)
- Servers – Local servers (gRPC, Webhook)
General Settings
In the General tab you'll find:
Language
Choose the app's display language. Available options:
- System (automatic based on macOS setting)
- Deutsch
- English
- Español
- Français
The language change takes effect immediately, without restart.
Launch at Login
Enable this option so channelBar starts automatically when you log into macOS.
Always Show Menu Bar Icon
When enabled, channelBar always shows an icon in the menu bar – even when no channels are active. Useful for quick access to settings.
App Version
Shows the current version and build number of channelBar.
Command-Line Application
Shows the status of the connected command-line application, including version information and compatibility.
Configuration
Here you'll find the functions for exporting and importing your channelBar configuration. More on this in the chapter Exporting and Importing Configuration.
Managing Channels
Creating a Channel
- Open Settings → Channels tab
- Click on + (Plus) below the channel list
- Enter an identifier (e.g., "work", "home")
- Configure the desired settings
- Click Save
A new channel is enabled by default and displayed in the menu bar.
Editing a Channel
Select a channel in the list to edit its settings. The settings are divided into several areas:
Basic Settings
| Setting | Description |
|---|---|
| Identifier | The channel name (displayed in the menu bar) |
| Enabled | On/Off toggle for the channel |
| Display Limit | How many messages are shown in the menu (1-1000) |
| Channel Context | Optional metadata for templates |
Changing Position
Change the order of channels in the menu bar via drag & drop in the channel list.
Deleting a Channel
- Select the channel in the list
- Click on − (Minus) below the channel list
- Confirm the deletion
Warning
When deleting a channel, all associated messages are also permanently deleted.
Configuring Retention
Retention settings determine how long and how many messages are stored:
| Setting | Description | Options |
|---|---|---|
| Retention (Count) | Maximum number of stored messages | 100, 500, 1000, 2500, 5000, Unlimited |
| Retention (Days) | Delete messages older than X days | 1, 3, 5, 7, 14, 30, 120, 240, 365, Unlimited |
| Display Limit | Messages shown in menu | 1, 2, 3, 5, 10, 25, 50, 100, 250, 500, 1000 |
Cleanup happens automatically in the background. Both retention rules (count and days) are applied independently.
Group by Source
When enabled, messages in the history menu are grouped by their source label. Each source appears as a separate submenu section.
| Setting | Description |
|---|---|
| Group by Source | Group messages by source label |
| Show Source Image | Display favicon/image next to source headers |
| Source Image Size | Small, Medium, or Large |
Text Truncation
| Setting | Description | Default |
|---|---|---|
| Menu Bar Max Characters | Maximum characters for menu bar display | 50 |
| Submenu Max Characters | Maximum characters for submenu items | 50 |
| Detail Max Characters | Maximum characters for detail items | 75 |
Providers
Providers are the inputs through which messages reach channelBar. Each channel can use multiple providers simultaneously. Each provider has its own dedicated documentation page.
| Provider | Best For |
|---|---|
| URL Scheme | Automations, AppleScript, other apps |
| Webhook | CI/CD, remote systems, HTTP integrations |
| MQTT | IoT devices, home automation, sensors |
| RSS/Atom Feed | News, blogs, podcasts, YouTube |
| File Watcher | Log files, shell scripts |
| Apple Shortcuts | Siri, personal automations |
| Home Assistant | Smart home entities, sensors |
| Command-Line App | Terminal workflows, scripting |
| Cloud | Remote systems, cross-network |
See the Providers section for detailed documentation of each provider.
Message Filters
Each channel can define filter rules to control which messages are accepted. Messages that do not match the filter criteria are discarded.
Filter Configuration
| Setting | Description | Options |
|---|---|---|
| Match Type | How the pattern is matched | contains, equals (case-insensitive) |
| Pattern | Text to match against | Any text string |
| Target | Which message field to filter on | message, link, messageContext |
Multiple filters can be configured per channel. A message must match at least one filter to be accepted. If no filters are configured, all messages are accepted.
Examples
- Only errors: Match Type
contains, Targetmessage, Patternerror– accepts only messages containing "error" - Specific source: Match Type
contains, TargetmessageContext, Patternproduction– accepts messages with "production" in context
Processor Pipelines
Processor Pipelines are reusable data transformation chains that process message values before display. They are particularly useful with MQTT topics and Home Assistant entities.
A pipeline consists of one or more steps that are applied in sequence. Each step transforms or filters the value before passing it to the next step.
Available Steps
Round
Rounds numeric values to a specified number of decimal places.
| Setting | Description | Options |
|---|---|---|
| Decimals | Number of decimal places | 0, 1, 2, ... |
| Keep Trailing Zeros | Preserve trailing zeros | On / Off |
| Decimal Separator | Number format | Auto, Dot, Comma |
| On Parse Error | Behavior if value is not a number | Skip (pass through), Discard |
Threshold
Filters values based on a numeric comparison. Only values matching the condition are passed through.
| Setting | Description | Options |
|---|---|---|
| Operator | Comparison operator | >, ≥, <, ≤, =, ≠ |
| Value | Threshold value | Any number |
| Decimal Separator | Number format | Auto, Dot, Comma |
| On Parse Error | Behavior if value is not a number | Skip, Discard |
Filter
Matches values against a text pattern. Only matching (or non-matching) values pass through.
| Setting | Description | Options |
|---|---|---|
| Pattern | Text to match | Any text |
| Match Type | How to match | Contains, Equals |
| Negate | Invert the match | On / Off |
| Case Sensitive | Case-sensitive matching | On / Off |
Map
Transforms values using a lookup table. Maps input values to configured output values.
| Setting | Description | Options |
|---|---|---|
| Entries | Key-value mapping pairs | List of key → value |
| Case Sensitive | Case-sensitive key matching | On / Off |
| Unmatched Behavior | What to do with unmatched values | Pass Through, Discard |
Replace
Performs search-and-replace on the value.
| Setting | Description | Options |
|---|---|---|
| Search | Text to find | Any text |
| Replacement | Replacement text | Any text |
| Replace All | Replace all occurrences | On / Off |
| Case Sensitive | Case-sensitive search | On / Off |
Trim
Removes unwanted characters from the value.
| Setting | Description | Options |
|---|---|---|
| Characters | Characters to remove (default: whitespace) | Custom character set |
| Mode | Where to trim | Edges (start/end only), All (everywhere) |
Usage
Processor Pipelines are linked to individual MQTT topics or Home Assistant entities via the Processor setting. A single pipeline can be reused across multiple topics and entities.
Outputs in Detail
Each channel has four independently configurable outputs.
Menu Bar Output
The primary output displays messages in the macOS menu bar.
Configuration:
| Setting | Description |
|---|---|
| Show in Menu Bar | Show/hide channel in menu bar |
| Show History Menu | Submenu with message history |
| Show History Circle | Indicator for new messages |
| Show Link Icon | Icon for messages with link |
| Link Icon | Custom icon (e.g., 🔗) |
| Show Open Icon | Icon for messages with open action |
| Open Icon | Custom icon (e.g., 🚀) |
Menu Structure
▶ Current Message
├── 📜 Message History
│ ├── Message 1
│ ├── Message 2
│ └── ...
├── ➕ New Message... (optional)
└── 🗑 Clear History... (optional)
You can configure the history menu display in detail under Customizing Submenu Display.
Notifications
Shows macOS system notifications for new messages.
Configuration:
| Setting | Description |
|---|---|
| Enabled | Turn notifications on/off |
| Template | Message format for notification |
| Custom Icon | Optional custom icon |
Selecting Icon
- Enable "Use Custom Icon"
- Click "Select..."
- Choose an image file (PNG, JPG recommended)
Template examples:
{message}– Message text only{channel}: {message}– With channel name{source}: {message}– With source
Note
Make sure channelBar has permission to send notifications in macOS System Settings under Notifications.
Audio
Plays a sound for new messages.
Configuration:
| Setting | Description |
|---|---|
| Enabled | Turn sound on/off |
| Sound Source | System sound or custom file |
| System Sound | Selection from macOS system sounds |
| Custom File | Path to an audio file |
System Sounds:
macOS offers numerous system sounds like:
- Basso, Blow, Bottle, Frog
- Funk, Glass, Hero, Morse
- Ping, Pop, Purr, Sosumi
- Submarine, Tink
Custom Audio File
- Select "Custom File" as sound source
- Click "Select..."
- Choose an audio file (MP3, WAV, AIFF, etc.)
Preview: Use the Play button to test the selected sound.
Command-Line Application
For querying channel messages via the terminal.
Configuration:
| Setting | Description |
|---|---|
| Enabled | Turn command-line output on/off |
How It Works:
When enabled, the command-line application can query messages in the channel.
Templates for Command-Line Application:
The command-line application output uses its own templates:
- channelbar get – Formatting for current message
- channelbar list – Formatting for history
See Template Contexts for details.
Configuring Templates
Templates determine how messages are formatted. Each channel has its own templates for different contexts.
Template Variables
The following variables are available in templates:
| Variable | Description | Example |
|---|---|---|
{message} | Message text | "Build successful" |
{channel} | Channel name | "work" |
{provider} | Provider type | "webhook" |
{source} | Source label | "Jenkins" |
{message_id} | Unique ID | "abc123..." |
{link} | Message URL | "https://..." |
{open} | Open command | "/Applications/..." |
{relativeTime} | Relative time | "5 minutes ago" |
{date} | Date | "01/26/2026" |
{time} | Time | "14:30:00" |
{message_context} | Message context | "build_id=123" |
{channel_context} | Channel context | "env=prod" |
{error} | Error message (e.g. feed errors) | "HTTP 502 — example.com/rss" |
{error_short} | Short error message | "HTTP 502" |
{state_new#newText#oldText} | Conditional text based on read state | "{state_new#●#}" → "●" if new, empty if read |
{icon:name} | Icon from Icon Repository (displayed inline) | "{icon:star}" → ★ |
{favicon} | Feed source favicon (displayed inline) | 🌐 |
{message-id} | Unique message identifier | "550e8400-..." |
{channel-id} | Channel identifier (UUID) | "660e8400-..." |
Formatting Date and Time
Date and time can be displayed with custom formats:
{date#FORMAT}
{time#FORMAT}
Format Characters:
| Character | Meaning | Example |
|---|---|---|
yyyy | Year (4-digit) | 2026 |
yy | Year (2-digit) | 26 |
MMMM | Month (name) | January |
MMM | Month (short) | Jan |
MM | Month (number) | 01 |
dd | Day | 26 |
EEEE | Weekday | Monday |
E | Weekday (short) | Mon |
HH | Hour (24h) | 14 |
hh | Hour (12h) | 02 |
mm | Minute | 30 |
ss | Second | 45 |
a | AM/PM | PM |
Examples:
| Template | Output |
|---|---|
{date#MM/dd/yyyy} | 01/26/2026 |
{date#E, MMMM d, yyyy} | Mon, January 26, 2026 |
{time#HH:mm} | 14:30 |
{time#HH:mm:ss} | 14:30:45 |
{date#yyyy-MM-dd} {time#HH:mm} | 2026-01-26 14:30 |
Template Contexts
Each channel has four different templates, divided into two groups:
App Templates:
| Template | Usage | Default |
|---|---|---|
| Menu Bar | Current message in menu bar | ▶ {message} |
| History Menu | Messages in history submenu | {message} |
Command-Line Templates:
| Template | Usage | Default |
|---|---|---|
| channelbar get | Output of channelbar get command | {message} ({relativeTime}) |
| channelbar list | Output of channelbar list command | [{date#yyyy-MM-dd} / {time#HH:mm:ss}] {message} |
Editing Templates
- Go to Settings → Channels → select channel
- Switch to the Templates section
- Edit the desired templates under "App Templates" or "CLI Templates"
- Changes are saved automatically
Additional App Templates
In addition to the main templates, each channel has the following app templates:
| Template | Usage | Default |
|---|---|---|
| Error | Error indicator in menu bar | ⚠️ |
| Tooltip | Tooltip on hover over message | {relativeTime} |
| Error Tooltip | Tooltip on hover over error | {error} |
Conditional Rendering
Templates support conditional rendering using the syntax:
{variable[condition,prefix,postfix]}
The prefix and postfix are only shown if the condition is met.
Operators:
| Operator | Meaning | Example |
|---|---|---|
| (empty) | Variable exists and is not empty | {source[, from ,]} → " from Jenkins" |
= | Equal to | {provider[=webhook,🆕 ,]} |
!= | Not equal to | {source[!=,⚠ ,]} |
> | Greater than (numeric) | {message[>100,HIGH: ,]} |
>= | Greater than or equal | – |
< | Less than (numeric) | – |
<= | Less than or equal | – |
Escape Sequences
Templates support the following escape sequences:
\n– Newline\t– Tab\\– Literal backslash
Example Templates:
# With source and time
[{source}] {message} ({relativeTime})
# Compact with date
{date#MM/dd} {time#HH:mm} - {message}
# With icon based on provider
{provider}: {message}
# Detailed for logs
[{date#yyyy-MM-dd}T{time#HH:mm:ss}] [{source}] {message}
Customizing Submenu Display
The history menu (submenu) can be configured in detail. These settings determine what information is displayed for each message in the history.
Display Options
| Option | Description |
|---|---|
| Show Relative Time | "5 minutes ago" |
| Show Timestamp | Full date and time |
| Show Source | Message source |
| Show Message Context | Message context data |
| Show Channel Context | Channel context data |
| Show Open | Open command as menu item |
| Show Link | Link as menu item |
| Show Feed Image | Display feed source image |
| Always Expand Message Context | Always show full message context |
| Always Expand Open | Always show full open command |
| Always Expand Link | Always show full link URL |
| Message Context Line Break Mode | How to handle line breaks: Keep, Reduce, or Eliminate |
Menu Functions
| Option | Description |
|---|---|
| Show "New Message..." | Menu item to create new messages |
| Show "Clear History..." | Menu item to clear history |
| Show "Copy to Clipboard" | Option to copy messages |
| Show "Delete Entry..." | Option to delete individual messages |
| Show "Mark as Read" | Option to mark messages as read |
Submenu Element Templates
Each submenu element has its own template:
| Element | Default | Example Output |
|---|---|---|
| Relative Time | {relativeTime} | 5 minutes ago |
| Timestamp | {date#E MMM d, YYYY}, {time#HH:mm:ss} | Mon Jan 26, 2026, 14:30:00 |
| Source | 🏷 {source} | 🏷 Jenkins |
| Message Context | 📝 {message_context} | 📝 build_id=123 |
| Channel Context | 📁 {channel_context} | 📁 env=prod |
| Open | 🚀 {open} | 🚀 /Applications/Terminal.app |
| Link | 🔗 {link} | 🔗 https://example.com |
Customizing
- Go to Settings → Channels → select channel
- Switch to the Menu Bar section
- Enable/disable the desired options
- Customize templates as needed
Managing Connections
Under Settings → Connections you manage reusable server connections. These can be shared by multiple channels.
MQTT Connections
MQTT connections define the connection parameters to an MQTT broker.
Creating a New Connection
- Click + next to MQTT Connections
- Enter a name (e.g., "Local Mosquitto")
- Configure the connection parameters
Parameters:
| Setting | Description | Default |
|---|---|---|
| Host:Port | Broker host and port | localhost:1883 |
| Username | Optional for authentication | – |
| Password | Optional for authentication | – |
| Use TLS | Encrypted connection | Off |
| Insecure TLS | Allow self-signed certificates | Off |
Example URLs:
localhost:1883– Local brokermqtt.example.com:8883– Remote with TLS192.168.1.100:1883– IP address
Test Connection:
Click "Test Connection" to check broker reachability.
Security:
The MQTT password is securely stored in Apple Keychain – encrypted and only accessible to channelBar.
Home Assistant Connections
Home Assistant connections enable integration with your smart home hub.
Prerequisites:
- Home Assistant instance reachable on the network
- Long-Lived Access Token
Creating Access Token in Home Assistant
The access token allows channelBar secure access to your Home Assistant instance.
- Open Home Assistant in browser (e.g.,
http://homeassistant.local:8123) - Click on your username at bottom left (your profile)
- Scroll to the Long-Lived Access Tokens section at the bottom
- Click Create Token
- Enter a name, e.g., "channelBar"
- Click OK
- Important: Copy the displayed token immediately – it's only shown once!
The token looks something like:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI...
Security Notes
- Treat the token like a password
- The token grants full access to your Home Assistant instance
- You can revoke the token at any time in Home Assistant
- channelBar stores the token securely in Apple Keychain
Creating New Connection in channelBar
- Go to Settings → Connections
- Click + next to Home Assistant Connections
- Enter a name (e.g., "Home Assistant")
- Configure the connection parameters
Parameters:
| Setting | Description | Default |
|---|---|---|
| Host:Port | HA instance address | homeassistant.local:8123 |
| Access Token | Long-lived token | – |
| Use TLS | HTTPS connection | On |
| Insecure TLS | Self-signed certificates | Off |
Cloud Connection
The Cloud connection enables use of the channelBar Cloud Service.
Status:
- Connected – Active connection to Cloud Service
- Disconnected – No connection
- Connecting... – Connection in progress
Activating Connection
- Go to Settings → Connections
- Enable "Cloud Connection"
- Authentication happens automatically
Managing Buffers:
Once connected, your Cloud buffers are displayed:
- Buffer name
- API key (for sending from external tools)
New buffers can be created via the Cloud web interface.
Note
Cloud setup details are documented separately.
Configuring Servers
Under Settings → Servers you configure channelBar's local server services.
CLI Server (Command-Line Application)
The CLI server enables communication with the channelBar command-line application.
Settings:
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn server on/off | On |
| Port | Local port | 51515 |
Valid Port Range: 1024 – 65535
Status Display:
- Running – Server is active and ready
- Stopped – Server is disabled
- Error – Startup error (e.g., port in use)
Version:
Shows the version of the connected command-line application and checks compatibility.
Webhook Server
The Webhook server receives HTTP requests from external systems.
Settings:
| Setting | Description | Default |
|---|---|---|
| Port | HTTP port | 8080 |
| Enable CORS | Allow cross-origin requests | Off |
| Rate Limit | Max requests per minute | 100 |
CORS (Cross-Origin Resource Sharing):
Enable CORS if you want to send webhooks from browser-based applications. When CORS is enabled, the appropriate HTTP headers are set.
Rate Limiting:
Protects against excessive load. Requests over the limit are answered with HTTP 429 (Too Many Requests).
Endpoints:
| Endpoint | Description |
|---|---|
POST /message/{channel} | Send message to channel |
GET /health | Check server status |
Security Note
The Webhook server is only locally accessible (127.0.0.1 / localhost). This is an intentional security decision – the server does not accept connections from outside your Mac.
It would technically be possible to expose the server to the internet via a reverse proxy (e.g., nginx). However, this is strongly discouraged as it creates an attack surface. For receiving messages from the internet, use the channelBar Cloud Service instead – it offers secure authentication and requires no open ports on your system.
Exporting and Importing Configuration
channelBar allows exporting and importing your entire configuration. Ideal for:
- Backing up your settings
- Migrating to a new Mac
- Sharing configurations
Exporting
- Go to Settings → General
- Click Export
- Choose a save location
- The configuration is saved as a
.channelbarfile
Exported Data:
- All channels with settings
- All provider configurations
- All output configurations
- All templates
- All connections (MQTT, Home Assistant)
- General settings (language, launch at login, etc.)
Not Exported:
- Message history
- Cloud connection status
- Passwords, API keys, and other credentials – these must be re-entered after import
Importing
- Go to Settings → General
- Click Import
- Select a
.channelbarfile - Confirm the import
Warning: Import Behavior
When importing a configuration, the existing configuration is completely replaced:
- All existing channels are deleted
- All messages are deleted
- The imported channels are newly created
- Connections with the same name are reused, new connections are added
Note
After import, all providers are restarted to apply the new settings.
Advanced Settings
The Advanced tab in Settings provides storage management and global podcast configuration. It is divided into two main areas, accessible via a sidebar: Storage and Podcasts.
Storage
Messages
Displays message storage statistics and provides tools to manage stored messages.
- Overview showing total message count and number of channels
- Expandable list of channels with message count and per-source breakdown
- Delete messages per channel or per source
Deletion options:
- Delete all messages
- Delete messages older than a specified number of days, months, or years
- Delete messages before a specific date
Cache
Displays and manages cached images used by channelBar.
| Cache Type | Description |
|---|---|
| Favicons | Cached website favicons used in templates and source display. Can be deleted entirely. |
| Feed Images | Cached images from RSS/Atom feeds. Linked to feed configuration. |
| Provider Images | Cached images grouped by provider type (Webhook, MQTT, Home Assistant, etc.). Can be deleted per provider or per source. |
Podcasts
Global Settings
Default podcast settings that apply to all feeds unless overridden per feed.
| Setting | Description | Options |
|---|---|---|
| Mode | How episodes are played | Streaming, Download |
| Episodes to Keep | Maximum episodes stored per feed | Unlimited, or a fixed number |
| Auto-Download New | Automatically download new episodes | On / Off |
| Silence Trimming | Remove silent passages during playback | On / Off |
| Silence Threshold | Duration threshold for silence detection | 0.5s, 1s, 1.5s, 2s, 3s, 4s, 5s |
| Playback Speed | Global playback speed | 0.5×, 0.75×, 1×, 1.25×, 1.5×, 2× |
Expert Settings
Fine-tuning options for streaming and download behavior.
| Setting | Description | Options |
|---|---|---|
| Lookahead Buffer | How far ahead audio is pre-loaded during playback | 15s, 30s, 60s (default), 120s, 180s, 300s |
| Segment Size | Size of audio chunks requested from the server | 256 KB, 512 KB, 1 MB (default), 2 MB, 4 MB |
| Max Parallel Segments | Number of simultaneous segment downloads | 1, 2, 4 (default), 6, 8 |
| Detection Level | Audio level threshold for silence detection | -15 dB to -50 dB (default: -40 dB) |
Downloads
Manage downloaded podcast episodes. Each entry shows the episode title, feed name, file size, and download status (Pending, Downloading, Completed, or Failed).
Available actions:
- Cancel active downloads
- Retry failed downloads
- Delete individual episodes
- Delete all downloads
- Retry all failed downloads
Tips and Best Practices
Channel Organization
- Thematic Separation: One channel per topic area (work, home, monitoring)
- Clear Names: Choose descriptive identifiers
- Sensible Order: Important channels to the left
Provider Selection
| Use Case | Recommended Provider |
|---|---|
| Shell scripts | URL Scheme, Command-Line Application |
| CI/CD systems | Webhook |
| IoT devices | MQTT |
| Apple Shortcuts | Apple Shortcuts |
| Smart home | Home Assistant |
| Log files | File Watcher |
| Remote systems | Cloud, Webhook |
Template Tips
- Short and concise: The menu bar has limited space
- Relative time:
{relativeTime}is often more useful than absolute timestamps - Label source: With multiple providers,
{source}helps - Use emojis: Visual distinction (⚠ warning, ✅ success, etc.)
Performance
- Limit retention: Don't store more than necessary
- Adjust display limit: 25-50 messages usually suffice
- Disable unused providers: Saves resources
Security
- Set API keys: Secure webhook endpoints
- Use TLS: For MQTT and Home Assistant when possible