# SOP — iOS Shortcut for One-Tap Going Live

**Established:** 2026-05-03 (S83-H158)
**Owner:** Brady
**Goal:** Fire a Live announce from your iPhone home screen in one tap, before you hit Go Live in TikTok.

---

## What this does

Tapping the shortcut on your iPhone home screen:

1. Asks for a one-line **Title** (e.g. "In the Lab — wiring the dashboard")
2. POSTs to the n8n webhook `https://roseinthegrove.app.n8n.cloud/webhook/rc-going-live`
3. The webhook creates a `Live_Sessions` Airtable row (Status=Live), posts to Discord `#content`, and updates `https://rosecourt.co/live/`
4. Opens the TikTok app so you can hit **Go Live** with your usual flow

Total taps from home screen to live: **3** (icon → type title → done → TikTok Go Live).

---

## Setup (one-time, ~5 min)

### Step 1 — Open Shortcuts app
On iPhone, open **Shortcuts** (purple swirl icon, comes pre-installed). Tap the **+** in the top-right.

### Step 2 — Add the actions

Tap **Add Action** and add these in order:

**Action 1: Ask for Input**
- Search "Ask for Input" → tap it
- Prompt: `What's the title?`
- Input Type: `Text`
- Default Answer: `In the Lab` (so you can just hit Done if you don't want to retype)

**Action 2: Get Contents of URL**
- Search "Get Contents of URL" → tap it
- URL: `https://roseinthegrove.app.n8n.cloud/webhook/rc-going-live`
- Tap the chevron `>` to expand options
- Method: `POST`
- Headers: tap "+", add `Content-Type` = `application/json`
- Request Body: `JSON`
- Add the following JSON keys (tap "+ Add new field" for each):
  - `action` (Text) = `announce`
  - `title` (Text) = tap the field, then tap the magic-variable button at the top, select **Provided Input** (this pulls from Action 1)
  - `format` (Text) = `Lab`
  - `brand` (Text) = `RoseCourt`
  - `platforms` (Array) = tap `+ Add new item` once, set value to `TikTok`
  - `description` (Text) = `Build-in-public session — come hang.` (or leave blank)

**Action 3: Open URL**
- Search "Open URL" → tap it
- URL: `tiktok://`  (this opens the TikTok app directly)

### Step 3 — Name + icon

- Tap the shortcut name at the top → rename to **🔴 Go Live**
- Tap the icon → pick a red color + a microphone or video icon
- Save (top-right Done)

### Step 4 — Add to home screen

- Open the shortcut → tap **Share** (square with up arrow)
- Pick **Add to Home Screen**
- Confirm name + icon → Add

You now have a one-tap Going Live button on your phone home screen.

---

## Optional: voice trigger

After saving, you can also say **"Hey Siri, Go Live"** to fire it without unlocking your phone — useful when you're walking around or hands are full.

To enable: Open the shortcut → tap the settings icon (top-right) → **Add to Siri** → record the phrase.

---

## Optional: end-Live shortcut

Same pattern, but with `action=end` and no other fields needed:

```json
{ "action": "end" }
```

Name it **⏹ End Live**, give it a gray icon. Add to home screen alongside the red one.

---

## What happens behind the scenes

1. **Airtable row** created: `Title=<your input>`, `Status=Live`, `Format=Lab`, `Brand=RoseCourt`, `Platforms=[TikTok]`, `Actual Start=now`
2. **Discord post** to `#content` (or `#general`): "📺 LIVE NOW — `<your title>`" + link to `/live/`
3. **`/live/` page** updates within 30 min (next admin-brady-rebuild cron) to show "🔴 LIVE NOW"
4. **You hit Go Live in TikTok** as usual. Paste the TikTok URL into the dashboard's 📺 Going Live form when you have a moment so the page can deep-link to your live stream

---

## Troubleshooting

- **"Couldn't connect"** — check WiFi. Webhook is hosted on n8n cloud (`roseinthegrove.app.n8n.cloud`).
- **"Title required"** error response — Action 1 didn't capture input. Re-edit Action 2 → make sure `title` field has the magic variable `Provided Input`.
- **Discord post didn't fire** — check `#system-health` for DLQ entries. The webhook still creates the Live_Sessions row even if Discord errors.
- **Forgot to End Live** — the workflow's `end` action without a `sessionId` automatically picks the most recent open `Status=Live` row, so the End shortcut works any time. If you have multiple open Lives (shouldn't happen normally), end them via the dashboard `⏹ End Live` button which lets you target a specific one.

---

## See also

- **Pre-flight checklist (read before every Live):** `~/docs/ecosystem/sops/going_live_preflight_2026-05-03.md`
- **H158 Live Streaming + CMS handoff:** `~/docs/ecosystem/briefs/session_83_h158_handoff_2026-05-03.md`

## Reference

- Webhook URL: `https://roseinthegrove.app.n8n.cloud/webhook/rc-going-live`
- Workflow: `RC: Going Live Notifier` (`8IsVBleYwsFMi05X`)
- Live_Sessions table: RC base `appyBWszyrVuyhWOz`, table `tblM7N9qDqgbucpyE`
- Public surface: `https://rosecourt.co/live/`
- Dashboard surface: `https://roseinthegrove.com/admin/brady/` → 📺 Going Live section

---

_Filed S83-H158-C (2026-05-03 by CC)._
