Actions
Actions extend Summon with custom commands, quick links, and automated workflows. They appear in search results alongside apps and files, giving you instant access to frequently-used tasks.
Types of Actions
Quick Links
Open URLs with a single keystroke:
- Favorite websites
- Internal dashboards
- Documentation pages
- Project management tools
Shell Commands
Execute terminal commands without opening a terminal:
- Build scripts
- Deploy commands
- System utilities
- Custom scripts
Python Scripts
Run Python scripts with full access to:
- System APIs
- Network requests
- File operations
- Custom libraries
Creating Actions
From Settings
- Open Settings → Actions
- Click "Add Action" (+ button)
- Choose action type
- Configure the action
- Save
Quick Link Example
| Field | Value |
|-------|-------|
| Name | GitHub Dashboard |
| Keyword | gh |
| URL | https://github.com/dashboard |
| Icon | GitHub icon |
Now typing gh in Summon opens your GitHub dashboard.
Shell Command Example
| Field | Value |
|-------|-------|
| Name | Open Project in VS Code |
| Keyword | code project |
| Command | code ~/Projects/my-app |
| Run in terminal | No |
Python Script Example
# ~/.summon/actions/weather.py
import requests
import json
def run():
response = requests.get("https://wttr.in/?format=j1")
data = response.json()
current = data["current_condition"][0]
temp = current["temp_C"]
desc = current["weatherDesc"][0]["value"]
return f"{temp}°C - {desc}"
Action Properties
| Property | Description | Required | |----------|-------------|----------| | Name | Display name in results | Yes | | Keyword | Search trigger | Yes | | Type | quick-link, shell, python | Yes | | Icon | Custom icon or emoji | No | | Enabled | Toggle action on/off | Yes | | Category | Group for organization | No |
Keyboard Shortcuts
| Action | Shortcut |
|--------|----------|
| Run action | Enter |
| Edit action | ⌘ + E |
| Delete action | ⌘ + Delete |
| Toggle enabled | ⌘ + T |
Built-in Actions
Summon includes several built-in actions:
| Action | Keyword | Description |
|--------|---------|-------------|
| Lock Screen | lock | Lock your Mac |
| Sleep | sleep | Put Mac to sleep |
| Restart | restart | Restart Mac |
| Shut Down | shutdown | Shut down Mac |
| Empty Trash | empty trash | Empty the Trash |
| Eject All | eject | Eject all volumes |
Categories
Organize actions into categories for easier management:
- Work: Project-specific actions
- Development: Build, deploy, test commands
- System: System utilities and controls
- Web: Frequently visited sites
- Personal: Personal shortcuts
Filter by category in Settings → Actions sidebar.
Import & Export
Export Actions
- Go to Settings → Actions
- Click Export (↑) button
- Choose format (JSON or YAML)
- Save file
Import Actions
- Go to Settings → Actions
- Click Import (↓) button
- Select your actions file
- Review and confirm
Share actions with team members or back up your configuration.
Tips
Parameterized Actions
Use {query} placeholder for dynamic input:
Name: Google Search
Keyword: g
URL: https://google.com/search?q={query}
Typing g weather today searches Google for "weather today".
Chained Actions
Create actions that trigger other actions:
# Run multiple commands in sequence
cd ~/project && npm test && npm run build
Environment Variables
Shell commands have access to environment variables:
echo $HOME
open $EDITOR
Silent vs Terminal
- Silent: Command runs in background, no terminal window
- Terminal: Opens Terminal.app with the command
Use silent for quick tasks, terminal for interactive commands.
Troubleshooting
Action Not Appearing
- Check if enabled in Settings
- Verify keyword isn't too short (min 2 chars)
- Confirm action was saved
Command Failing
- Test command in Terminal first
- Check for correct path to executables
- Verify permissions
Python Script Errors
- Check Python installation (
which python3) - Verify required packages are installed
- Check script syntax