DenchClaw
What Is DenchClaw?
DenchClaw is an opinionated OpenClaw distribution purpose-built for CRM automation, sales outreach, and knowledge work. Unlike a general-purpose agent shell, it ships with a web UI (localhost:3100), an onboarding wizard, and a pre-configured agent profile (openclaw --profile dench) tuned for CRM workflows.
Bootstrap with a single command:
npx denchclaw
This spins up the full profile and web server. The web UI surfaces contact records, deal stages, and an AI chat interface where you can review and approve queued agent actions — or let the agent run autonomously on low-risk tasks. All data stays on your Mac. No cloud subscription, no SaaS lock-in. MIT licensed.
The skill store at skills.sh extends DenchClaw with domain-specific capabilities: LinkedIn scraping, email sequences, call logging, and more.
Why Ravi + DenchClaw
CRM agents hit an identity wall the moment they try to operate autonomously. To prospect effectively, an agent needs:
- A real email address with actual deliverability — not a throwaway that gets flagged on signup
- Phone verification for prospecting tools like Apollo, Hunter, and Clay — which send SMS OTPs before granting API access
- Per-agent credential vaults so the outreach agent’s accounts stay isolated from the sales rep’s personal accounts
- Credential storage for API keys that persist across sessions
Without these, the agent stalls at every verification wall and a human has to babysit the signup flow. Every new prospecting service becomes a manual task.
Ravi removes that bottleneck entirely. A DenchClaw agent with a Ravi identity can complete the full onboarding loop — signup, email verification, SMS OTP, API key storage — without any human involvement.
Setting Up Ravi with DenchClaw
Step 1: Provision a Ravi Identity for Your CRM Agent
Each outreach agent should have its own Ravi identity so credentials and communication history stay isolated:
// In your DenchClaw agent skill
const identity = await ravi_identity_create({ name: "CRM Outreach Agent" });
Use ravi_get_info() whenever the agent needs to provide its email or phone number during a signup flow.
Step 2: Autonomous Tool Onboarding
Here’s a complete example of a DenchClaw agent autonomously onboarding to Hunter.io:
// 1. Get the agent's provisioned email
const { email } = await ravi_get_info();
// 2. Complete signup on the prospecting tool using the Ravi email
// (browser automation handles the form submission)
// 3. Check for the verification email
const threads = await ravi_inbox_email({ unread: true });
const verifyThread = threads.find(t => t.subject.includes("Hunter"));
const msg = await ravi_read_email({ thread_id: verifyThread.thread_id });
// 4. Extract the verification link and complete it
const verifyLink = msg.messages[0].text_content.match(/https:\/\/[^\s]+verify[^\s]+/)?.[0];
// Navigate to verifyLink...
// 5. Store the resulting API key
await ravi_secrets_set({ key: "HUNTER_API_KEY", value: extractedApiKey });
Step 3: SMS OTP Handling
For tools that require phone verification:
const { phone } = await ravi_get_info();
// Provide phone to the signup form...
// Poll for the OTP (SMS typically arrives in 2–10 seconds)
const conversations = await ravi_inbox_sms({ unread: true });
const sms = await ravi_read_sms({ conversation_id: conversations[0].conversation_id });
const otp = sms.messages[0].body.match(/\d{4,8}/)?.[0];
Step 4: Exposing a provision_tool Skill Action
The cleanest pattern for DenchClaw is a reusable skill action that wraps the full onboarding flow:
// skills/provision_tool.js
export async function provision_tool({ tool_name, signup_url }) {
const { email, phone } = await ravi_get_info();
// 1. Navigate to signup_url with email and phone
// 2. Handle email verification via ravi_inbox_email
// 3. Handle SMS OTP via ravi_inbox_sms if needed
// 4. Store resulting API key via ravi_secrets_set
return { status: "provisioned", key_name: `${tool_name.toUpperCase()}_API_KEY` };
}
Drop this skill into your DenchClaw profile and the agent can autonomously onboard to any new data source without human involvement.
What This Unlocks
With Ravi, a DenchClaw agent running an outreach campaign can:
- Sign up for Hunter.io, Apollo, or Clay autonomously and retrieve its own API keys
- Maintain isolated inboxes per agent so multi-agent setups don’t share or cross-contaminate credentials
- Handle 2FA and email verification inline — no pausing the workflow to ask a human
- Persist all credentials in Ravi’s encrypted vault so they survive session restarts
The identity wall that currently requires human babysitting on every new tool signup becomes a solved problem.