Test Skill Xyz999
by @crxiaobailiu-gif
Connect your iPhone/Apple Watch Apple Health data to OpenClaw via a local webhook to analyze recovery, detect anomalies, and get health alerts.
1. Start the webhook server
npx healthclaw-webhook-server
The server starts on port 3000 by default. Keep it running (consider a LaunchAgent / systemd service for persistence).
Optional environment variables:
PORT=3000 # Server port
HEALTHCLAW_DATA_DIR=~/custom/path # Override data directory
ADMIN_TOKEN=your-secret # Protect admin endpoints
2. Expose to the internet (for iOS sync)
The iOS app needs to reach your server from outside your local network.
#### Option A: Tailscale Funnel (recommended)
Tailscale Funnel gives your machine a stable public HTTPS URL tied to your Tailscale domain β no dynamic DNS, no port forwarding needed.
# 1. Install Tailscale and log in (skip if already done)
https://tailscale.com/download
tailscale login2. Enable Funnel for port 3000
tailscale funnel --bg 3000
Your public URL will be:
https://..ts.net
To find it:
tailscale funnel status
or
tailscale status --json | grep DNSName
> Note: Funnel runs in the background (--bg). It persists across reboots.
> To stop it: tailscale funnel --bg --off
#### Option B: Cloudflare Tunnel
# Install cloudflared: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
cloudflared tunnel --url http://localhost:3000
Cloudflare prints a randomly-assigned https://xxxxx.trycloudflare.com URL
> URLs are ephemeral β you'll need to re-pair the iOS app each time you restart the tunnel.
#### Option C: ngrok
ngrok http 3000
ngrok prints a https://xxxxx.ngrok-free.app URL
> Same caveat as Cloudflare β URL changes on restart unless you have a paid plan.
Note your public URL β you'll need it in the next step when generating the pairing link.
3. Generate a pairing link
curl -X POST https://your-public-url/admin/generate-pairing
Response:
{
"pairingToken": "abc123...",
"deepLink": "healthclaw://pair?url=...&token=...",
"openUrl": "https://your-public-url/pair/open?token=...",
"expiresInSeconds": 120
}
Open openUrl on your iPhone, or paste deepLink into Safari. The page has a button
that opens the HealthClaw app directly.
> Token expires in 2 minutes. If it expires, run the curl command again.
4. Install the iOS app
The HealthClaw iOS companion app handles background HealthKit syncing.
Current status: App is pending App Store review.
TestFlight (beta):
Once installed, open the app and follow the pairing flow. After pairing, the app will sync data automatically in the background β no need to keep it open.
5. Verify the connection
curl https://your-public-url/health
β { "status": "ok", "paired": true, ... }
Check that data is flowing:
tail -f ~/Library/Application\ Support/healthclaw-webhook/health-data.jsonl
clawhub install test-skill-xyz999