Pipeline Examples & Ideas
This page contains complete pipeline examples and ideas to inspire your own automations.
Text Transformation
Section titled “Text Transformation”Uppercase
Section titled “Uppercase”Convert text to uppercase.
- Trigger: “uppercase” (Contains)
- Command:
tr '[:lower:]' '[:upper:]'Lowercase
Section titled “Lowercase”Convert text to lowercase.
- Trigger: “lowercase” (Contains)
- Command:
tr '[:upper:]' '[:lower:]'Title Case
Section titled “Title Case”Convert text to title case.
- Trigger: “title case” (Contains)
- Command:
python3 -c "import sys; print(sys.stdin.read().title())"Remove Punctuation
Section titled “Remove Punctuation”Strip all punctuation from text.
- Trigger: “no punctuation” (Contains)
- Command:
tr -d '[:punct:]'Reverse Text
Section titled “Reverse Text”Reverse the characters in the text.
- Trigger: “reverse this” (Starts with)
- Command:
revDate & Time
Section titled “Date & Time”Current Date
Section titled “Current Date”Get today’s date in a nice format.
- Trigger: “what’s the date” (Exact match)
- Command:
date "+%A, %B %d, %Y"Output: “Monday, January 20, 2025”
Current Time
Section titled “Current Time”Get the current time.
- Trigger: “what time is it” (Exact match)
- Command:
date "+%I:%M %p"Output: “3:45 PM”
Timestamp
Section titled “Timestamp”Insert a timestamp.
- Trigger: “timestamp” (Exact match)
- Command:
date "+%Y-%m-%d %H:%M:%S"Output: “2025-01-20 15:45:30”
ISO Date
Section titled “ISO Date”Insert ISO-8601 formatted date.
- Trigger: “iso date” (Exact match)
- Command:
date -u "+%Y-%m-%dT%H:%M:%SZ"Output: “2025-01-20T22:45:30Z”
Clipboard Operations
Section titled “Clipboard Operations”Copy Only (No Paste)
Section titled “Copy Only (No Paste)”Copy text to clipboard without pasting.
- Trigger: “just copy” (Starts with)
- Command:
pbcopy# Empty output = skip pastePaste Clipboard
Section titled “Paste Clipboard”Paste current clipboard contents.
- Trigger: “paste clipboard” (Exact match)
- Command:
pbpasteAppend to Clipboard
Section titled “Append to Clipboard”Add text to existing clipboard content.
- Trigger: “append to clipboard” (Starts with)
- Command:
content=$(pbpaste)echo -e "$content\n$(cat)" | pbcopyWeb & URLs
Section titled “Web & URLs”Google Search
Section titled “Google Search”Search Google for the spoken query.
- Trigger: “search for” (Starts with)
- Command:
query=$(cat | sed 's/^search for //')encoded=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$query'))")open "https://google.com/search?q=$encoded"Open URL
Section titled “Open URL”Open a spoken URL in browser.
- Trigger: “open website” (Starts with)
- Command:
url=$(cat | sed 's/^open website //')open "https://$url"Wikipedia Search
Section titled “Wikipedia Search”Search Wikipedia.
- Trigger: “wikipedia” (Starts with)
- Command:
query=$(cat | sed 's/^wikipedia //')encoded=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$query'))")open "https://en.wikipedia.org/wiki/Special:Search?search=$encoded"YouTube Search
Section titled “YouTube Search”Search YouTube.
- Trigger: “youtube” (Starts with)
- Command:
query=$(cat | sed 's/^youtube //')encoded=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$query'))")open "https://youtube.com/results?search_query=$encoded"System Control
Section titled “System Control”Open Application
Section titled “Open Application”Open a Mac application by name.
- Trigger: “open app” (Starts with)
- Command:
app=$(cat | sed 's/^open app //')open -a "$app"Lock Screen
Section titled “Lock Screen”Lock the Mac.
- Trigger: “lock screen” (Exact match)
- Command:
pmset displaysleepnowEmpty Trash
Section titled “Empty Trash”Empty the Trash.
- Trigger: “empty trash” (Exact match)
- Command:
osascript -e 'tell application "Finder" to empty trash'Toggle Do Not Disturb
Section titled “Toggle Do Not Disturb”Toggle Focus mode.
- Trigger: “do not disturb” (Exact match)
- Command:
osascript -e 'tell application "System Events" to keystroke "D" using {control down, command down}'Screenshot
Section titled “Screenshot”Take a screenshot.
- Trigger: “take screenshot” (Exact match)
- Command:
screencapture -i ~/Desktop/screenshot-$(date +%Y%m%d-%H%M%S).pngFile Operations
Section titled “File Operations”Create Note
Section titled “Create Note”Create a quick note file.
- Trigger: “new note” (Starts with)
- Command:
content=$(cat | sed 's/^new note //')filename=~/Desktop/note-$(date +%Y%m%d-%H%M%S).txtecho "$content" > "$filename"echo "Note saved to Desktop"Append to File
Section titled “Append to File”Append text to a specific file.
- Trigger: “add to journal” (Starts with)
- Command:
content=$(cat | sed 's/^add to journal //')echo "$(date '+%Y-%m-%d %H:%M'): $content" >> ~/Documents/journal.txtecho "Added to journal"Read File
Section titled “Read File”Read contents of a file.
- Trigger: “read todo” (Exact match)
- Command:
cat ~/Documents/todo.txtDeveloper Tools
Section titled “Developer Tools”Git Status
Section titled “Git Status”Show git status for current directory.
- Trigger: “git status” (Exact match)
- Command:
cd ~/Projects/current && git status --shortFormat JSON
Section titled “Format JSON”Pretty-print JSON.
- Trigger: “format json” (Starts with)
- Command:
python3 -m json.toolDecode Base64
Section titled “Decode Base64”Decode base64 encoded text.
- Trigger: “decode base64” (Starts with)
- Command:
cat | sed 's/^decode base64 //' | base64 -dEncode Base64
Section titled “Encode Base64”Encode text to base64.
- Trigger: “encode base64” (Starts with)
- Command:
cat | sed 's/^encode base64 //' | base64Generate UUID
Section titled “Generate UUID”Generate a random UUID.
- Trigger: “generate uuid” (Exact match)
- Command:
uuidgen | tr '[:upper:]' '[:lower:]'Notifications & Sounds
Section titled “Notifications & Sounds”Show Notification
Section titled “Show Notification”Display a system notification.
- Trigger: “notify” (Starts with)
- Command:
message=$(cat | sed 's/^notify //')osascript -e "display notification \"$message\" with title \"Freeway\""Say Text
Section titled “Say Text”Use text-to-speech to read the text.
- Trigger: “say this” (Starts with)
- Command:
message=$(cat | sed 's/^say this //')say "$message" &echo "$message"Play Sound
Section titled “Play Sound”Play a system sound.
- Trigger: “play sound” (Exact match)
- Command:
afplay /System/Library/Sounds/Glass.aiff &Math & Calculations
Section titled “Math & Calculations”Calculator
Section titled “Calculator”Evaluate a math expression.
- Trigger: “calculate” (Starts with)
- Command:
expr=$(cat | sed 's/^calculate //')python3 -c "print(eval('$expr'))"Convert Units
Section titled “Convert Units”Convert between units (requires units package).
- Trigger: “convert” (Starts with)
- Command:
# Install with: brew install gnu-unitsinput=$(cat | sed 's/^convert //')units "$input" 2>/dev/null || echo "Unknown conversion"Advanced Examples
Section titled “Advanced Examples”Weather (using curl)
Section titled “Weather (using curl)”Get current weather.
- Trigger: “weather” (Exact match)
- Command:
curl -s "wttr.in/?format=%l:+%c+%t+%h" 2>/dev/null || echo "Could not fetch weather"Define Word (using Dictionary)
Section titled “Define Word (using Dictionary)”Look up a word definition.
- Trigger: “define” (Starts with)
- Command:
word=$(cat | sed 's/^define //')open "dict://$word"Translate with Google
Section titled “Translate with Google”Open Google Translate.
- Trigger: “translate” (Starts with)
- Command:
text=$(cat | sed 's/^translate //')encoded=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$text'))")open "https://translate.google.com/?sl=auto&tl=es&text=$encoded"Pipeline Ideas
Section titled “Pipeline Ideas”Productivity
Section titled “Productivity”- Meeting timer — Start a countdown timer
- Pomodoro — Start/stop Pomodoro sessions
- Quick reminder — Create a reminder in Reminders.app
Communication
Section titled “Communication”- Email draft — Open Mail with pre-filled content
- Slack message — Send to a Slack channel via webhook
- SMS — Send text message via Messages.app
Home Automation
Section titled “Home Automation”- HomeKit control — Control smart home devices
- Shortcuts — Run iOS/macOS Shortcuts
Development
Section titled “Development”- Run tests — Trigger test suite
- Deploy — Trigger deployment script
- Open in VS Code — Open current project
Creative
Section titled “Creative”- Random quote — Fetch and paste a random quote
- Lorem ipsum — Generate placeholder text
- Color picker — Open color picker
Tips for Building Pipelines
Section titled “Tips for Building Pipelines”- Start simple — Begin with basic transformations, then add complexity
- Use scripts — For complex logic, write a script file
- Test in Terminal — Debug commands before adding to Freeway
- Handle edge cases — Check for empty input, errors
- Chain commands — Use
&&and||for conditional execution - Background tasks — Use
&for commands that don’t need output