Cleans up the prose-level v2 references that the rename commit didn't touch. Skills now describe themselves and the codebase without "v2" versioning language. /add-X-v2 cross-references in setup, init-first-agent, and manage-channels updated to /add-X. Runtime path identifiers (data/v2.db, data/v2-sessions/, container name nanoclaw-v2) deliberately left as-is — renaming them breaks live installs without commensurate benefit. Verified: pnpm run build clean, 326 host tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
name, description
| name | description |
|---|---|
| add-resend | Add Resend (email) channel integration via Chat SDK. |
Add Resend Email Channel
Connect NanoClaw to email via Resend for async email conversations.
Install
NanoClaw doesn't ship channels in trunk. This skill copies the Resend adapter in from the channels branch.
Pre-flight (idempotent)
Skip to Credentials if all of these are already in place:
src/channels/resend.tsexistssrc/channels/index.tscontainsimport './resend.js';@resend/chat-sdk-adapteris listed inpackage.jsondependencies
Otherwise continue. Every step below is safe to re-run.
1. Fetch the channels branch
git fetch origin channels
2. Copy the adapter
git show origin/channels:src/channels/resend.ts > src/channels/resend.ts
3. Append the self-registration import
Append to src/channels/index.ts (skip if the line is already present):
import './resend.js';
4. Install the adapter package (pinned)
pnpm install @resend/chat-sdk-adapter@0.1.1
5. Build
pnpm run build
Credentials
- Go to resend.com and create an account.
- Add and verify your sending domain.
- Go to API Keys and create a new key.
- Set up a webhook:
- Go to Webhooks > Add webhook.
- URL:
https://your-domain/webhook/resend. - Events: select email.received.
- Copy the signing secret.
Configure environment
Add to .env:
RESEND_API_KEY=re_...
RESEND_FROM_ADDRESS=bot@yourdomain.com
RESEND_FROM_NAME=NanoClaw
RESEND_WEBHOOK_SECRET=your-webhook-secret
Sync to container: mkdir -p data/env && cp .env data/env/env
Next Steps
If you're in the middle of /setup, return to the setup flow now.
Otherwise, run /manage-channels to wire this channel to an agent group.
Channel Info
- type:
resend - terminology: Resend handles email. Each email thread (identified by subject/In-Reply-To headers) is a separate conversation. The "from address" is the bot's identity.
- how-to-find-id: The platform ID is the from email address (e.g.
bot@yourdomain.com). Each sender's email thread becomes its own conversation. - supports-threads: yes (via email threading headers -- replies to the same thread stay together)
- typical-use: Async communication -- email conversations with longer response expectations
- default-isolation: Same agent group if you want your agent to handle email alongside other channels. Separate agent group if email contains sensitive correspondence that shouldn't be accessible from other channels.