You’re on a roof at 2 PM. Your phone buzzes — a potential customer asking about your availability for a kitchen remodel. You can’t answer right now. By the time you get off the ladder and call back at 5, they’ve already hired someone else.

What if you had an AI assistant that answered that message for you? Not some generic chatbot — one that knows your trade, your service area, your pricing rules, and your personality. One that collects the customer’s name, address, and project details, then texts you a clean summary when you’re ready.

That’s what OpenClaw does. And you can set it up in about 30 minutes.

OpenClaw is free, open-source software that turns your computer into an AI-powered answering service. It connects to WhatsApp, Telegram, Discord, and other messaging apps. It runs on your own hardware — not some company’s cloud server — which means your customer data stays with you. If you’re new to AI tools, check out our complete guide to AI for contractors for the big picture before diving into this setup.

This guide walks you through every step, from installation to your first automated conversation.

What You’ll Need

Before you start, make sure you have:

  • A computer that stays on. Mac, Windows, or Linux. Even a $50 Raspberry Pi works. This machine needs to stay powered on and connected to the internet for your AI to respond to messages.
  • A phone with WhatsApp installed. This is the messaging app your customers will use to reach your AI. You can use your existing WhatsApp number.
  • An AI API key. OpenClaw connects to AI models like Claude or ChatGPT. You’ll need an API key from one of these providers. The setup wizard walks you through this.
  • About 30 minutes. That’s it. No coding skills required.

You don’t need to be technical. If you can copy and paste a command, you can do this.

What You’re Building

Here’s the end result: a customer texts your WhatsApp number asking about a bathroom remodel. Your AI assistant — running on your computer at home or in the office — responds within seconds. It introduces itself, asks the right questions, collects the customer’s info, and lets them know you’ll follow up with a detailed quote.

Meanwhile, you’re on a jobsite. You didn’t have to stop working. You didn’t lose the lead.

Your AI assistant lives in a workspace on your computer. It has a personality file that tells it how to behave, what services you offer, and what it should never do (like give exact pricing). You control everything.

Let’s build it.

Step 1: Install OpenClaw

OpenClaw requires Node.js version 22 or higher. Don’t worry if you’ve never heard of Node.js — it’s just software that OpenClaw needs to run. The install script handles it for you.

On Mac or Linux

Open the Terminal app. On a Mac, you can find it by pressing Command + Space and typing “Terminal.”

Paste this command and press Enter:

curl -fsSL https://openclaw.ai/install.sh | bash

This downloads and installs OpenClaw. You’ll see output scrolling by — that’s normal. When it finishes, you should see a success message.

On Windows

Open PowerShell as Administrator. Right-click the Start button, then click “Windows PowerShell (Admin)” or “Terminal (Admin).”

Follow the Windows install instructions at openclaw.ai. The process is similar — a single command that handles everything.

Alternative: Install with npm

If you already have Node.js 22+ installed (maybe you or your IT person set it up before), you can install OpenClaw directly:

npm install -g openclaw@latest

Verify the Installation

After installation, run:

openclaw --version

You should see a version number like 1.x.x. If you see an error instead, the most common fix is making sure Node.js is version 22 or higher. Check with:

node --version

If it shows something lower than v22, you’ll need to update Node.js. The easiest way is to re-run the install script above — it handles the Node.js version for you.

Step 2: Run the Setup Wizard

OpenClaw has a setup wizard that walks you through the initial configuration. Run this command:

openclaw onboard --install-daemon

The --install-daemon flag tells OpenClaw to set itself up as a background service that starts automatically when your computer boots up. This means your AI assistant is always running, even after a restart.

The wizard asks you a few questions:

AI Provider and API Key

The wizard will ask which AI provider you want to use. Popular choices:

  • Anthropic (Claude) — Excellent for conversation and following instructions
  • OpenAI (ChatGPT) — The most well-known option

You’ll need an API key from your chosen provider. Here’s how to get one:

  • For Claude: Go to console.anthropic.com, create an account, and generate an API key under “API Keys.”
  • For ChatGPT: Go to platform.openai.com, create an account, and generate an API key under “API Keys.”

Both services charge based on usage. For a typical contracting business answering customer inquiries, expect to spend $5–$30 per month depending on volume. That’s cheaper than missing a single lead.

If you’re comparing options, our guide on how to choose the right AI tool breaks down the differences.

Agent Name

The wizard asks for a name for your AI agent. Pick something simple — “assistant” works fine. You can always change it later.

Workspace Setup

OpenClaw creates a workspace folder at ~/.openclaw/workspace/. This is where your AI’s personality, memory, and configuration files live. The wizard sets this up automatically.

When the wizard finishes, you’ll see a confirmation message. OpenClaw is now installed and running as a background service.

You can check the status anytime with:

openclaw gateway status

You should see output showing the gateway is running. If it’s not, start it with:

openclaw gateway start

Step 3: Connect WhatsApp

This is where it gets real. You’re going to connect your WhatsApp account to OpenClaw so your AI can send and receive messages.

Run this command:

openclaw channels login

A QR code appears in your terminal. Here’s what to do:

  1. Open WhatsApp on your phone.
  2. Go to SettingsLinked DevicesLink a Device.
  3. Point your phone’s camera at the QR code on your computer screen.
  4. Wait a few seconds for the connection to confirm.

That’s it. Your WhatsApp is now connected to OpenClaw.

Verify the Connection

Send a test message to your own WhatsApp number from a different phone (or ask a friend to text you). Your AI assistant should respond within a few seconds.

If you don’t have a second phone handy, don’t worry — we’ll test properly in Step 6. For now, the connection is set up.

A Note About WhatsApp Web

OpenClaw uses the same technology as WhatsApp Web. Your phone needs to have an internet connection for messages to flow, but it doesn’t need to stay open. The connection works in the background.

Occasionally, WhatsApp may ask you to re-link the device. If your AI stops responding, just run openclaw channels login again and scan a new QR code. This happens rarely — maybe once a month.

Step 4: Customize Your AI’s Personality

Right now, your AI has a generic personality. It’ll respond to messages, but it doesn’t know anything about your business. Let’s fix that.

Open the file ~/.openclaw/workspace/SOUL.md in any text editor. On a Mac, you can use TextEdit. On Windows, use Notepad. Or use the terminal:

nano ~/.openclaw/workspace/SOUL.md

Delete whatever’s in there and replace it with a version customized for your business. Here’s a complete template for a contracting business:

# SOUL.md — [Your Company] AI Assistant

You are the AI assistant for [Company Name], a [trade] contractor based in [City, State].

## Personality
- Professional but friendly
- Knowledgeable about [trade] work
- Always get the customer's name, address, and best callback number
- Never give exact pricing — always say "I'll have [owner name] get back to you with a detailed quote"
- Respond promptly and helpfully

## What You Do
- Answer customer inquiries about services
- Collect lead information (name, address, phone, project description)
- Schedule estimates and appointments
- Answer basic questions about the company

## What You Don't Do
- Give exact pricing or quotes
- Make commitments about timelines without checking
- Share internal business information
- Argue with customers

Customizing the Template

Replace the bracketed text with your actual information. Here’s a filled-in example for a plumbing contractor:

# SOUL.md — Reliable Plumbing AI Assistant

You are the AI assistant for Reliable Plumbing, a residential and commercial plumbing contractor based in Sacramento, CA.

## Personality
- Professional but friendly — like talking to a knowledgeable office manager
- You know plumbing terminology: water heaters, sewer lines, repipes, fixture installs, drain cleaning
- Always get the customer's name, address, and best callback number
- Never give exact pricing — always say "I'll have Mike get back to you with a detailed quote"
- If it sounds like an emergency (flooding, burst pipe, no hot water), flag it as urgent

## Services We Offer
- Drain cleaning and sewer repair
- Water heater installation and repair (tank and tankless)
- Whole-house repipes
- Fixture installation (faucets, toilets, showers)
- Commercial plumbing maintenance
- Emergency service (24/7)

## Service Area
Sacramento, Elk Grove, Roseville, Folsom, Rancho Cordova, and surrounding areas within 30 miles of downtown Sacramento.

## What You Do
- Answer customer inquiries about our plumbing services
- Collect lead information: name, address, phone number, and project description
- Ask about the urgency (emergency vs. scheduled service)
- Let customers know our general availability (same-week for non-emergency, same-day for emergencies)
- Answer basic questions about the company

## What You Don't Do
- Give exact pricing or quotes — Mike handles all estimates personally
- Make commitments about specific appointment times without checking
- Share information about other customers or jobs
- Diagnose plumbing problems over text (always recommend an in-person assessment)
- Argue with customers or get defensive about reviews

Save the file. Your AI will pick up the new personality on its next conversation.

Other Workspace Files Worth Knowing

While you’re in the workspace, here are the other key files:

  • USER.md — Information about you (the owner). Your name, timezone, preferences. Edit this so your AI knows who it’s working for.
  • TOOLS.md — Notes about tools and integrations. You can skip this for now.
  • HEARTBEAT.md — A checklist of things your AI should do periodically. We’ll set this up in Step 7.
  • memory/ — A folder where your AI stores daily conversation logs. It creates this automatically.

Step 5: Set Up Security

By default, OpenClaw will respond to anyone who messages your WhatsApp. That might be fine for a business line, but you probably want some control over who can talk to your AI.

Restrict Who Can Message

Open the OpenClaw config file:

nano ~/.openclaw/openclaw.json

Find the channels section and add an allowFrom list with the phone numbers you want to allow:

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+15555550123", "+15555550456"]
    }
  }
}

Replace those numbers with real ones. Include the country code (the +1 for US numbers). Anyone not on this list gets ignored.

For a business: You might want to leave allowFrom empty (or remove it entirely) so any potential customer can reach your AI. The whole point is catching leads you’d otherwise miss.

For testing: Start with just your own number and a friend’s number until you’re comfortable with how the AI responds.

Control Group Chat Behavior

If your WhatsApp number is in any group chats, you probably don’t want your AI jumping into every conversation. Add this to your config:

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+15555550123"],
      "groups": {
        "*": {
          "requireMention": true
        }
      }
    }
  }
}

The requireMention: true setting means your AI only responds in group chats when someone specifically @mentions it. In direct messages, it responds normally.

Save the file. OpenClaw picks up config changes automatically — no restart needed.

For more on keeping your data safe with AI tools, read our AI data privacy guide.

Step 6: Send Your First Message

Time to test. Grab a second phone (or borrow someone else’s) and send a WhatsApp message to your number. Something a real customer might say:

“Hi, I found your number online. I need some plumbing work done at my house. Do you do bathroom remodels?”

Within a few seconds, your AI should respond. It’ll introduce itself, confirm what services you offer, and start collecting the customer’s information — name, address, phone number, and project details.

What to Look For

A good response hits these marks:

  • It sounds like your business. The tone matches what you put in SOUL.md.
  • It asks the right questions. Name, address, callback number, project description.
  • It doesn’t give pricing. It says something like “Mike will get back to you with a detailed quote.”
  • It’s fast. Response time should be under 10 seconds.

If Something’s Off

If the personality doesn’t feel right, go back to Step 4 and tweak your SOUL.md. Common adjustments:

  • Too formal? Add “Keep it casual and conversational” to the personality section.
  • Too chatty? Add “Keep responses brief — 2-3 sentences max unless the customer asks for more detail.”
  • Missing information? Add more detail about your services, service area, or company policies.

Every change you make to SOUL.md takes effect on the next conversation. You don’t need to restart anything.

Step 7: Set Up Daily Automation

Your AI can do more than just answer messages. OpenClaw has a built-in scheduler that lets you set up automated tasks — like a morning briefing that summarizes what happened overnight.

Morning Briefing

This cron job runs every morning at 7 AM and sends you a summary of any messages that came in while you were sleeping:

openclaw cron add \
  --name "Morning brief" \
  --cron "0 7 * * *" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Summarize today's schedule and any new customer inquiries from overnight. List each lead with their name, number, and what they need."

Let’s break down what each part means:

  • --name "Morning brief" — A label so you can find this job later.
  • --cron "0 7 * * *" — Run at 7:00 AM, every day. The format is: minute, hour, day, month, weekday.
  • --tz "America/Los_Angeles" — Your timezone. Change this to match yours. Common options: America/New_York, America/Chicago, America/Denver.
  • --session isolated — Runs in its own session so it doesn’t interfere with customer conversations.
  • --message — The instruction your AI follows when the job runs.

Change the timezone to match your location. The cron format handles the rest.

End-of-Day Summary

Want a recap at the end of each workday? Add another cron job:

openclaw cron add \
  --name "End of day summary" \
  --cron "0 17 * * 1-5" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Summarize today's customer interactions. List new leads, follow-ups needed, and any unresolved questions."

The 1-5 at the end means Monday through Friday only. No weekend summaries cluttering up your Saturday morning.

Heartbeat Tasks

For recurring background tasks, you can edit the HEARTBEAT.md file in your workspace:

nano ~/.openclaw/workspace/HEARTBEAT.md

Add a simple checklist:

# HEARTBEAT.md

- Check for any unanswered customer messages older than 2 hours
- If there are urgent leads (emergencies, same-day requests), flag them

OpenClaw checks this file periodically and follows the instructions. Think of it as a to-do list your AI reviews throughout the day.

Bonus: Set Up a Second Agent

Once your first agent is running smoothly, you might want specialized agents for different jobs. OpenClaw supports multiple agents, each with its own personality and workspace.

Why Multiple Agents?

Imagine this setup:

  • Receptionist agent — Handles incoming customer inquiries, collects lead info, answers FAQs. Connected to your main WhatsApp number.
  • Estimator agent — Helps you draft estimates and proposals. You message it from the jobsite with measurements and photos, and it generates a formatted estimate.

Each agent has its own SOUL.md, its own memory, and its own personality. They don’t overlap.

Adding a Second Agent

openclaw agents add estimator

This creates a new agent named “estimator” with its own workspace. You can customize its SOUL.md just like you did for the first agent:

nano ~/.openclaw/workspace-estimator/SOUL.md

Give it a personality focused on estimating:

# SOUL.md — Estimating Assistant

You help create job estimates and proposals for a plumbing contractor.

## What You Do
- Take measurements, material lists, and job descriptions
- Generate formatted estimates with labor and material breakdowns
- Use standard markup rates provided by the owner
- Format proposals professionally for customer presentation

## What You Don't Do
- Send estimates directly to customers (owner reviews first)
- Change pricing formulas without owner approval

Routing Messages

You can set up bindings so messages go to the right agent. Customer inquiries from WhatsApp go to the receptionist. Messages from your personal number go to the estimator. OpenClaw’s binding system handles this routing — check the OpenClaw documentation for the full binding configuration options.

If you’re thinking about how AI fits into your bigger business picture, our guide on building an AI strategy covers the planning side.

Troubleshooting

Here are the most common issues and how to fix them.

“command not found” After Installation

If you see openclaw: command not found, the install didn’t add OpenClaw to your system path. Try:

  1. Close your terminal and open a new one.
  2. Run the install script again.
  3. If using npm, make sure global npm packages are in your path.

Node.js Version Too Low

OpenClaw requires Node.js 22 or higher. Check your version:

node --version

If it shows v18 or v20, you need to upgrade. The easiest way:

curl -fsSL https://openclaw.ai/install.sh | bash

The install script handles updating Node.js for you.

WhatsApp Disconnects

WhatsApp occasionally drops the linked device connection. Signs this happened:

  • Your AI stops responding to messages.
  • You see connection errors in the OpenClaw logs.

The fix is simple:

openclaw channels login

Scan the QR code again with your phone. Connection restored. This happens rarely — typically after WhatsApp updates or if your computer was offline for an extended period.

AI Gives Generic or Bad Responses

If your AI’s responses don’t sound right:

  1. Check SOUL.md. Make sure your personality file has enough detail. The more specific you are, the better the AI performs.
  2. Check your API key. If the key expired or ran out of credits, the AI can’t generate responses. Log into your AI provider’s dashboard and check your balance.
  3. Restart the gateway. Sometimes a fresh start helps:
openclaw gateway restart

API Key Issues

If you see authentication errors:

  1. Log into your AI provider’s dashboard (Anthropic or OpenAI).
  2. Check that your API key is active and has credits.
  3. Generate a new key if needed and update it in your OpenClaw config:
nano ~/.openclaw/openclaw.json

Find the API key field and paste in the new key. Save and restart:

openclaw gateway restart

The AI Responds Too Slowly

Response time depends on your AI provider and internet connection. If responses take more than 10–15 seconds:

  • Check your internet connection speed.
  • Try a different AI model (smaller models respond faster).
  • Make sure your computer isn’t overloaded with other tasks.

For a contractor’s business, response time under 10 seconds is ideal. Customers expect fast replies — especially on WhatsApp.

What’s Next

You now have a working AI assistant for your contracting business. It answers customer messages, collects lead information, and runs on your own hardware. Not bad for 30 minutes of setup.

Here’s where to go from here:

  • Learn the fundamentals. If you haven’t already, read what AI actually is in plain English — no jargon, no hype.
  • Explore more tools. OpenClaw is one piece of the puzzle. Check out the best AI tools for contractors to see what else is out there.
  • Never miss a call. Pair OpenClaw with an AI phone answering service. Our guide on using AI to answer every call shows you how.
  • Build your strategy. Individual tools are great. A complete AI strategy is better. Start building an AI strategy for your contracting business.

The contractors who adopt this stuff early are going to have a serious edge. While your competition is missing calls and losing leads, your AI is working 24/7 — collecting information, scheduling estimates, and making sure every potential customer gets a fast, professional response.

You don’t need to be a tech person to use AI. You just proved that.