Mycelia Present · rendered 2026-05-25T17:23:20.048Z · source: ../convivium/clients/emerson_fry/EF_SLACK_WEBHOOK_SETUP_v0.1.md

EF Slack Webhook Setup — 5-minute guide

For: Billy Why: When Ryan clicks any decision card on /tour/decide (sign / discuss / explore / send-summary), the platform POSTs to /api/tour/decide which both persists to .data/tour_decisions.json on the VM AND posts to Slack if a webhook URL is configured. Without the webhook, you'd cat the file on the VM to check — fine for fallback, but a real-time DM is the right experience during the reveal week.


Steps

1. Create the Slack webhook (in your Slack workspace)

Either:

Go to: https://api.slack.com/messaging/webhooks → "Create your Slack app" (or use an existing app) → "Incoming Webhooks" → "Activate" → "Add New Webhook to Workspace" → pick the channel/DM → authorize.

You'll get a URL like:

https://hooks.slack.com/services/T0XXXXXXX/B0YYYYYYY/abc123def456ghi789jkl

2. Drop it onto the VM

The webhook URL goes into the EF platform's env file. Two ways:

Option A — via Faber (cleanest): Tell Faber on his next boot:

Add SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... to /opt/ef/.env.local on the VM, then restart ef.service.

He'll handle it in ~5 min.

Option B — yourself via gcloud SSH:

gcloud compute ssh ef-vm --zone=YOUR_ZONE --command='echo "SLACK_WEBHOOK_URL=https://hooks.slack.com/services/..." | sudo tee -a /opt/ef/.env.local && sudo systemctl restart ef.service'

Substitute YOUR_ZONE (check gcloud compute instances list) and the webhook URL.

3. Test

After restart, click any decision card on /tour/decide while logged in as billy. You should see a Slack message land in your DM/channel within a second.

Expected format (Faber's per his #75):

🟢 [explore | sign | discuss | send-summary]

Time spent in tour: [duration]
Last station: [station-name]
[Optional: email address if send-summary]

4. Until then — the fallback

The decision persists to /opt/ef/.data/tour_decisions.json on the VM regardless. To check it manually during the reveal week:

gcloud compute ssh ef-vm --zone=YOUR_ZONE --command='sudo cat /opt/ef/.data/tour_decisions.json'

Or ask Faber to cat it on a boot. Or ask Mycelia to spin up a small monitor.


Recommended for the reveal week

Do option (b) — create the #ef-reveal-signal private channel. It also becomes the place Faber posts hosted-smoke results + Praetor posts contract-package status + Mycelia posts deck/comms updates. One channel, all signal, mutable when nothing's happening.


— Mycelia, 2026-05-25