Ready-to-run workflows you can copy and personalize
This tab covers the shared sandbox configuration for Telegram messaging used by the Daily Personal News Digest, optionally by the Calendar Negotiator (when you choose proxy / proxy-auto delivery), and optionally by the Software Development Agent and Deck Reviewer for "ready for review" notifications. Each application tab has its own policy setup section for the filesystem mounts and network egress that workflow needs — this page only covers Telegram, which is shared.
Set your sandbox name once so the commands below read cleanly:
export SANDBOX_NAME=my-assistant # replace with the name you chose at NemoClaw onboard
IMPORTANT
Telegram uses long-polling — the sandbox pulls messages from Telegram servers. No public URL or cloudflared tunnel is required for Telegram. cloudflared is only for exposing the Web UI dashboard remotely (optional Step 2 below).
Express install on DGX Spark runs onboarding non-interactively and never shows a Messaging channels prompt, so it does not attach the Telegram channel plugin. That prompt only appears in the custom onboarding wizard: re-run the NemoClaw installer and answer n when it offers Express install, then pick telegram. If the sandbox already exists, register the plugin without recreating it: nemoclaw $SANDBOX_NAME channels add telegram (see Optional — Set up Messaging Channel (Telegram) in Run NemoClaw with a Local LLM). policy-add alone cannot register the channel plugin.
Add the Telegram network egress preset so the sandbox can reach api.telegram.org:
nemoclaw $SANDBOX_NAME policy-add
When prompted, enter the number shown next to telegram in the preset list, then press Y to confirm. The prompt takes a number, not a preset name. This is a hot-reload — the sandbox stays up.
Confirm the policy now allows Telegram egress:
openshell policy get $SANDBOX_NAME --full | grep -A2 telegram
You should see one or more entries with host: api.telegram.org and port: 443 under network_policies.
IMPORTANT
If you skipped Telegram at the NemoClaw onboard step, nemoclaw $SANDBOX_NAME policy-add will open the egress preset but the bot will still reply Error: Channel is unavailable: telegram. The channel plugin is not added by policy-add. Register it with nemoclaw $SANDBOX_NAME channels add telegram, or follow the messaging-channel steps in Run NemoClaw with a Local LLM.
Open Telegram, find your bot, and send hello. You should get a reply from the local model within 30–90 seconds (first-response cold start can be slow on large models). After that, hand off to the application tab you want to set up.
Skip this step unless you need a public URL for the Web UI dashboard. It is unrelated to Telegram messaging.
Install cloudflared (one-time, required for the tunnel). It is not always present on DGX Spark. Skip this block if command -v cloudflared already returns a path.
On ARM64 hardware platforms:
curl -L --output cloudflared.deb \
https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared.deb
cloudflared --version
Start and verify the tunnel:
nemoclaw tunnel start
nemoclaw status
Expected: ● cloudflared with a *.trycloudflare.com URL.