Features Use Cases Guides Demo Get Started

Setting Up OpenClaw with Your Business

Turn your AI assistant into a powerful business tool

← Back to Guides

Now that your OpenClaw agent is running, it's time to make it work for your business. This guide covers integrating with calendars, databases, and existing workflows to automate real business tasks.

Before you begin: Complete the initial setup guide first. Make sure your bot is running and you can message it on Telegram.

Defining Your Business Persona

The first step is teaching your bot about your business. Open your configuration:

cd my-bot
nano agent/persona.md

Create a detailed persona for your business. Here's an example for an auto detailing business:

# Business Persona

You are the friendly receptionist for OrangeTree Auto Detailing, 
a premium mobile detailing service in Phoenix, Arizona.

## Our Services
- Quick Detail: 9 (exterior wash, tire shine, interior wipe-down)
- Full Detail: 49 (complete interior/exterior, hand wax, deep vacuum)  
- Premium Detail: 99 (Full plus clay bar, paint decontamination, ceramic coating prep)

## Business Hours
- Monday through Saturday, 8 AM to 6 PM
- Same-day appointments available for Quick Details only

## Location
We come to you anywhere in the Phoenix metro area.

## How to Book
1. Ask for their name, phone number, and vehicle info
2. Get their preferred date and time
3. Confirm the service type
4. Repeat back the full booking details for confirmation

Connecting Your Calendar

Allow customers to book appointments by integrating with your calendar:

1 Set up a calendar API - Use Google Calendar or Cal.com
2 Add calendar credentials to your OpenClaw config
3 Configure booking rules - Set available times, buffer between appointments
{
  "integrations": {
    "calendar": {
      "provider": "google",
      "credentials": {
        "clientId": "YOUR_CLIENT_ID",
        "clientSecret": "YOUR_CLIENT_SECRET"
      },
      "calendarId": "your@email.com",
      "appointmentBuffer": 30,
      "businessHours": {
        "monday": { "start": "08:00", "end": "18:00" },
        "tuesday": { "start": "08:00", "end": "18:00" },
        "wednesday": { "start": "08:00", "end": "18:00" },
        "thursday": { "start": "08:00", "end": "18:00" },
        "friday": { "start": "08:00", "end": "18:00" },
        "saturday": { "start": "08:00", "end": "18:00" }
      }
    }
  }
}

Setting Up a Database

Store customer information and booking history using a simple database:

# Install SQLite for simple storage
sudo apt install sqlite3

# Create your database
sqlite3 customers.db

# Create tables
CREATE TABLE customers (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  phone TEXT,
  email TEXT,
  vehicle TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE appointments (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  customer_id INTEGER,
  service TEXT,
  date_time DATETIME,
  status TEXT DEFAULT 'pending',
  FOREIGN KEY(customer_id) REFERENCES customers(id)
);

Building Custom Actions

Create custom code to handle specific business tasks:

// Example: Check pricing
function getPrice(service) {
  const prices = {
    'quick': 49,
    'full': 149,
    'premium': 299
  };
  return prices[service.toLowerCase()] || null;
}

// Example: Validate phone number  
function validatePhone(phone) {
  const cleaned = phone.replace(/\D/g, '');
  return cleaned.length === 10 || cleaned.length === 11;
}

Connecting Payment Processing

Enable your bot to send invoices and process payments:

1 Set up Stripe - Create a Stripe account and get API keys
2 Add Stripe to config - Include your publishable and secret keys
3 Create payment links - Generate links for each service
{
  "integrations": {
    "stripe": {
      "enabled": true,
      "secretKey": "sk_live_...",
      "prices": {
        "quick": "price_123456789",
        "full": "price_987654321",
        "premium": "price_112233445"
      }
    }
  }
}
Important: Always use Stripe's test mode during development. Never expose live keys in your config.

Testing Your Integration

Before going live, thoroughly test your bot:

Going Live

Once testing is complete:

🎉 You're ready! Add your bot to your website, share the Telegram link with customers, and start automating!

Next Steps