One-tap access to your Macs from iPhone/iPad.
- Tailscale installed and connected on iPhone/iPad
- Webhook server running on at least one Mac:
tc serveortc install - SSH app installed (Termius recommended)
tc install # Installs as launchd service, auto-starts on bootYour webhook URL is: http://YOUR-MAC-HOSTNAME:8765
Example: http://mac-mini:8765
Sends Wake-on-LAN to wake a sleeping Mac.
Actions:
- URL:
http://mac-mini:8765/wake - Get Contents of URL
- Method: POST
- Headers:
Content-Type: application/json - Request Body:
{"device": "macbook1"}
- Show Notification
- Title: "Tailcode"
- Body: "Waking macbook1..."
Check which devices are online.
Actions:
- URL:
http://mac-mini:8765/status - Get Contents of URL (Method: POST)
- Get Dictionary Value: Key =
devices - Repeat with Each item in Devices:
- Get Dictionary Value:
name - Get Dictionary Value:
online - If online = true:
- Add to Text: "[name]: Online"
- Otherwise:
- Add to Text: "[name]: Offline"
- Get Dictionary Value:
- Show Result
Opens Termius and connects to a specific host.
Actions:
- Open URL:
termius://host/macmini
Note: Replace macmini with the host name configured in Termius.
Wake a device, wait, then connect.
Actions:
- URL:
http://mac-mini:8765/wake - Get Contents of URL (POST, body:
{"device": "macbook1"}) - Wait: 20 seconds
- Open URL:
termius://host/macbook1
Wake device, wait, connect with AI assistant (OpenCode/Claude) ready.
Actions:
- Get Contents of URL:
http://mac-mini:8765/wake(POST, device: macmini) - Wait: 15 seconds
- Open URL:
termius://host/macmini - Show Notification: "Run 'tc ai' to start coding"
More reliable than fixed wait time.
Actions:
- Get Contents of URL: Wake endpoint
- Repeat 12 times:
- Wait 5 seconds
- Get Contents of URL: Status endpoint
- Get Dictionary Value from devices for your target
- If online = true:
- Open URL: Termius
- Stop Repeat
- If not connected after 60s:
- Show Notification: "Device didn't wake up"
| Action | URL |
|---|---|
| Open app | termius:// |
| Connect to host | termius://host/HOSTNAME |
| Connect with command | termius://host/HOSTNAME?cmd=COMMAND |
URL-encode special characters in commands (space = %20).
| Endpoint | Method | Body | Response |
|---|---|---|---|
/health |
GET | - | {"ok": true} |
/wake |
POST | {"device": "name"} |
{"ok": true, "method": "relay:macmini"} |
/status |
POST | - | {"devices": [...]} |
/notify |
POST | {"message": "text", "title": "optional"} |
{"ok": true} |
/discover |
POST | - | {"ok": true, "hostname": "...", "webhook_port": 8765} |
If you have multiple Macs that might run the webhook, use discovery:
Shortcut: Find Active Webhook
- Create a list of potential hosts:
["mac-mini", "macbook-pro-1", "macbook-pro-2"] - Repeat with Each host:
- Get Contents of URL:
http://[host]:8765/health - If response contains "ok":
- Set Variable
ActiveHostto current host - Stop Repeat
- Set Variable
- Get Contents of URL:
- Use
ActiveHostfor subsequent API calls
- Create your shortcut
- Tap ••• (three dots)
- Tap "Add to Home Screen"
- Choose an icon and name
Name your shortcuts naturally:
- "Wake Mac Mini"
- "Connect to MacBook"
- "Start Coding"
Then say: "Hey Siri, wake Mac Mini"
Add Shortcuts widget to Lock Screen for fastest access.
Different shortcuts for different contexts:
- Work Focus: Show coding shortcuts
- Home Focus: Show all devices