Plugin Configuration
Customize filler phrases, idle detection, and connection settings for the CrabCallr plugin.
Overview
The CrabCallr plugin supports optional configuration for filler phrases during request processing, idle detection to handle silent callers, and connection tuning. All settings go in your ~/.openclaw/openclaw.json file under the CrabCallr channel config.
Everything is optional — the plugin works out of the box with just an API key. These settings let you fine-tune the voice experience.
Required Configuration
The only required field is your API key. Add it to your ~/.openclaw/openclaw.json under channels.crabcallr.accounts.default.apiKey. See the Getting Started guide for the full setup, including the recommended dmScope setting.
Filler Phrases
When your OpenClaw agent takes time to process a request, the caller hears silence. Filler phrases break the silence with natural responses like "Working on that..." so callers know their request is being processed.
Fillers are enabled by default. The plugin cycles through phrases round-robin, starting after an initial delay and repeating at a configured interval.
Options
| Option | Default | Description |
|---|---|---|
enabled | true | Enable or disable filler phrases |
phrases | ["Working on that...", "Still thinking...", "Bear with me..."] | Array of phrases to cycle through |
initialDelaySec | 3 | Seconds to wait before the first filler |
intervalSec | 6 | Seconds between subsequent fillers |
maxPerRequest | 3 | Maximum fillers per request (0 to disable) |
Example
"fillers": {
"enabled": true,
"phrases": [
"Let me look into that...",
"One moment please...",
"Checking on that for you..."
],
"initialDelaySec": 5,
"intervalSec": 8,
"maxPerRequest": 2
} Idle Detection
If a caller goes silent, the plugin can ask if they're still there. After a configurable number of unanswered prompts, it says goodbye and ends the call. This prevents calls from hanging open indefinitely.
Idle detection is enabled by default. The idle timer pauses while a request is being processed (waiting for your OpenClaw agent to respond), so it only triggers during genuine silence.
Options
| Option | Default | Description |
|---|---|---|
enabled | true | Enable or disable idle detection |
timeoutSec | 60 | Seconds of silence before prompting |
prompt | "Are you still there?" | Message spoken when idle timeout is reached |
maxPrompts | 2 | Number of prompts before ending the call |
endMessage | "It seems like you've stepped away. Goodbye!" | Goodbye message when ending the call |
Example
"idle": {
"enabled": true,
"timeoutSec": 90,
"prompt": "Hello? Are you still on the line?",
"maxPrompts": 3,
"endMessage": "No response detected. Ending the call. Goodbye!"
} Connection Settings
These settings control how the plugin connects to the CrabCallr service. You typically don't need to change these.
| Option | Default | Description |
|---|---|---|
serviceUrl | wss://ws.crabcallr.com/plugin | WebSocket URL of the CrabCallr service |
autoConnect | true | Connect automatically when OpenClaw starts |
reconnectInterval | 5000 | Base reconnect interval in milliseconds |
maxReconnectAttempts | 10 | Max reconnect attempts (0 for unlimited) |
Security Defaults
-
Prefer
wss://service URLs for remote deployments. Only usews://for local development on loopback. -
Treat plugins as trusted code. Use explicit plugin allowlists in OpenClaw so only approved plugins can load. Add
"crabcallr"to yourplugins.allowlist inopenclaw.json. - If you add custom tools to this plugin, make side-effectful tools opt-in and restrict them with allowlists.
See: OpenClaw Security · Plugin safety notes · Plugin agent tools
Full Configuration Example
Here's a complete example showing all available options:
{
"session": {
"dmScope": "per-channel-peer"
},
"channels": {
"crabcallr": {
"accounts": {
"default": {
"apiKey": "cc_your_api_key_here",
"fillers": {
"enabled": true,
"phrases": [
"Working on that...",
"Still thinking...",
"Bear with me..."
],
"initialDelaySec": 3,
"intervalSec": 6,
"maxPerRequest": 3
},
"idle": {
"enabled": true,
"timeoutSec": 60,
"prompt": "Are you still there?",
"maxPrompts": 2,
"endMessage": "It seems like you've stepped away. Goodbye!"
}
}
}
}
}
} Need help?
See Troubleshooting for common issues, or check the Getting Started guide if you haven't set up CrabCallr yet.