Skip to main content

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

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

  1. Open Settings → Actions
  2. Click "Add Action" (+ button)
  3. Choose action type
  4. Configure the action
  5. Save

| 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

Python
# ~/.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

  1. Go to Settings → Actions
  2. Click Export (↑) button
  3. Choose format (JSON or YAML)
  4. Save file

Import Actions

  1. Go to Settings → Actions
  2. Click Import (↓) button
  3. Select your actions file
  4. Review and confirm

Share actions with team members or back up your configuration.

Tips

Parameterized Actions

Use {query} placeholder for dynamic input:

Code
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:

Terminal
# Run multiple commands in sequence
cd ~/project && npm test && npm run build

Environment Variables

Shell commands have access to environment variables:

Terminal
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

  1. Check if enabled in Settings
  2. Verify keyword isn't too short (min 2 chars)
  3. Confirm action was saved

Command Failing

  1. Test command in Terminal first
  2. Check for correct path to executables
  3. Verify permissions

Python Script Errors

  1. Check Python installation (which python3)
  2. Verify required packages are installed
  3. Check script syntax