Skip to content

How to Set Up OpenClaw for the First Time? (Complete Guide)

Problem

I installed OpenClaw expecting it to immediately send emails, manage my WhatsApp, and automate my workflows. After running the install command, I sat there staring at the terminal waiting for something to happen.

Nothing did.

I typed commands like openclaw send email and got errors. I tried openclaw whatsapp and it asked me for configuration I didn’t have. I checked the documentation but found vague references to “onboarding” without clear steps.

Here’s what my terminal looked like:

terminal-output.txt
$ openclaw send email to [email protected]
Error: No email provider configured
Run 'openclaw config' to set up your accounts
$ openclaw whatsapp --send "Hello"
Error: WhatsApp not connected
Please run the onboarding conversation first
$ openclaw --help
OpenClaw - Your AI agent for task automation
Commands:
gateway Start conversation with OpenClaw
config Configure settings
skills Manage skills
cron Manage scheduled tasks
$ openclaw gateway
Starting OpenClaw gateway...
Connected to model: claude-sonnet-4.6
OpenClaw: Hello! I'm OpenClaw, your AI assistant. How can I help you today?

I was frustrated. I expected OpenClaw to work out of the box. Instead, I got an empty shell that knew nothing about me or my accounts.

What happened?

I searched for help and found a Reddit discussion that explained my mistake. I was treating OpenClaw like a pre-configured automation tool, but it’s actually a configurable AI agent framework that learns from you.

The key insight from that thread: You gotta treat it like a new employee. You can’t just hire someone and expect that person to do it all.

My expectation gap was clear:

  • I thought: “Install → Automation happens”
  • Reality: “Install → Onboarding conversation → Self-configuration → Gradual learning”

Another user shared a critical point: Your first conversation with it should be teaching it about itself. Tell it what accounts you have, what platforms you want connected, what your daily routine looks like. Then ask it to configure itself.

I realized I had skipped the most important step: the onboarding conversation.

How to solve it?

I started over with a proper first-time setup process.

Step 1: Installation and Prerequisites

First, I made sure I had the prerequisites:

check-prerequisites.sh
# Check Node.js version (need 18+)
node --version
# v20.10.0 ✓
# Check Python (optional, for memory plugins)
python3 --version
# Python 3.11.5 ✓
# Install OpenClaw globally
npm install -g openclaw
# Verify installation
openclaw --version
# OpenClaw v0.8.2

Step 2: Configure LLM Provider

OpenClaw needs access to a capable language model. This was my first mistake - I hadn’t configured any provider.

configure-llm.sh
# Using OpenRouter (flexible, multiple models)
openclaw config set llm.provider openrouter
openclaw config set llm.apiKey YOUR_OPENROUTER_API_KEY
# Verify configuration
openclaw config show

I chose OpenRouter because it gives access to multiple models through one API key. But you can also use:

alternative-providers.sh
# Using Anthropic directly
openclaw config set llm.provider anthropic
openclaw config set llm.apiKey YOUR_ANTHROPIC_API_KEY
# Using OpenAI
openclaw config set llm.provider openai
openclaw config set llm.apiKey YOUR_OPENAI_API_KEY

Recommendation from the community: Use Claude Sonnet 4.6 for configuration tasks. It handles self-configuration better than smaller models.

Step 3: The Onboarding Conversation

This is the step I had completely skipped. I started OpenClaw and had my first real conversation:

start-gateway.sh
openclaw gateway

In this conversation, I told OpenClaw:

onboarding-conversation.txt
Me: Let me tell you about myself. I'm Alex, a software developer. I use Gmail
for email, have a personal Notion workspace for notes, and use Slack for work
communication. My daily routine involves checking emails in the morning,
reviewing my Notion task list, and sending daily summaries to my team on Slack.
OpenClaw: Got it! I'll remember this. What would you like help with?
Me: I want you to handle email triage - flag important emails, archive newsletters,
and draft responses for messages that need replies. I also want daily summaries
of my Slack channels. Can you configure yourself based on this?
OpenClaw: Absolutely! I'll create my configuration files now.
Generating AGENTS.md...
Setting up Gmail skill...
Setting up Slack skill...
Creating heartbeat schedules...
Done! I've configured myself for your workflow.

The user Yixn shared this key insight: “It’ll write its own AGENTS.md, set up skills, create heartbeat schedules.”

I didn’t have to manually configure anything. OpenClaw generated its configuration based on our conversation.

Step 4: Review the Generated AGENTS.md

I checked what OpenClaw created:

AGENTS.md
# My OpenClaw Agent
## Identity
Alex - Software developer's digital partner. Goal: Handle routine tasks
so Alex focuses on coding. Manage email triage, Slack summaries, and
Notion task tracking.
## Core Traits
- Proactively identify important emails before Alex asks
- Learn Alex's communication patterns over time
- Flag urgent items immediately, batch routine summaries
## Connected Platforms
- Gmail (email triage and drafting)
- Slack (daily channel summaries)
- Notion (task list management)
## Communication
Professional but direct. Prefer concise summaries over long explanations.
## Daily Schedule
- 08:00: Email triage and flag important messages
- 09:00: Notion task review
- 18:00: Slack daily summary

Step 5: Skills Setup

OpenClaw automatically installed relevant skills, but I also added some manually:

skills-management.sh
# List installed skills
openclaw skills list
# Install additional skills
openclaw skills install github # GitHub integration
openclaw skills install summarize # Content summarization
openclaw skills install calendar # Calendar management

Step 6: Memory Configuration (Optional)

For long-term memory, I configured OpenViking:

memory-setup.sh
# Install OpenViking
pip install openviking --upgrade --force-reinstall
# Configure memory plugin
openclaw config set plugins.enabled true
openclaw config set plugins.slots.memory memory-openviking
openclaw config set plugins.entries.memory-openviking.config.mode "local"

Step 7: Create Heartbeat Schedules

I set up automated tasks:

schedules-setup.sh
# Daily morning briefing
openclaw cron add --name "morning-brief" \
--message "Give me my daily briefing: emails, tasks, calendar" \
--cron "0 8 * * *"
# Weekly review
openclaw cron add --name "weekly-review" \
--message "Summarize my week and suggest improvements" \
--cron "0 18 * * 5"

The result

After the proper setup, OpenClaw actually started working:

first-automation.txt
[08:00] Morning Briefing
OpenClaw: Good morning Alex! Here's your briefing:
📧 Email (12 new):
- URGENT: Server outage alert from PagerDuty
- Client meeting confirmed for 2pm
- 8 newsletters archived automatically
- 3 drafts ready for your review
📋 Tasks:
- Review PR #142 (due today)
- Call with Sarah at 3pm
- Deploy feature branch to staging
📊 Slack Summary:
- #engineering: Performance discussion, decision needed on caching strategy
- #general: Team lunch Friday confirmed

The difference was night and day. OpenClaw went from an empty shell to a working assistant after one conversation.

Common mistakes

I made several mistakes during my first attempt. Here’s what to avoid:

Mistake 1: Skipping the onboarding conversation

# WRONG: Install and expect automation
$ npm install -g openclaw
$ openclaw send email # Error!
# CORRECT: Install, configure, onboard
$ npm install -g openclaw
$ openclaw config set llm.provider openrouter
$ openclaw config set llm.apiKey YOUR_KEY
$ openclaw gateway # Have the onboarding conversation first

Consequence: Generic responses, no personalization, limited automation.

Fix: Take 10-15 minutes for the initial conversation. Tell OpenClaw about yourself, your accounts, and your routine.

Mistake 2: Using weak models

model-selection.sh
# WRONG: Using small, cheap models for configuration
openclaw config set llm.model gpt-3.5-turbo
# CORRECT: Use capable models for setup
openclaw config set llm.model claude-sonnet-4.6

Consequence: Poor self-configuration, misunderstandings, wrong skills installed.

Fix: Use Sonnet 4.6 or equivalent for the onboarding phase. You can switch to cheaper models later for routine tasks.

Mistake 3: Not providing account information

# WRONG: Vague request
Me: Help me with my emails
# CORRECT: Specific account info
Me: I use Gmail for email ([email protected]), Slack for work (workspace: acme-corp),
and Notion for notes (workspace: alex-notes). My morning routine involves
checking emails first, then reviewing my task list.

Consequence: Limited automation capabilities, generic suggestions.

Fix: Share which accounts and platforms you use during onboarding.

Mistake 4: Expecting immediate perfection

The user TorbenKoehn shared this insight: “First I let it get to know itself, its system, me and what I want to do with it. I gave it a name, some personality, gave it some info about myself and the system it’s working on.”

This is a gradual process. OpenClaw improves over time as it learns your patterns and preferences.

Mistake 5: Ignoring the AGENTS.md file

check-agents.sh
# View generated configuration
cat ~/.openclaw/AGENTS.md
# Edit if needed
nano ~/.openclaw/AGENTS.md

Consequence: Inconsistent behavior, forgotten preferences.

Fix: Review the generated AGENTS.md and refine it. This file controls how OpenClaw behaves.

How it works

OpenClaw’s setup process works through three mechanisms:

1. Context Building

The onboarding conversation creates context. OpenClaw stores information about:

  • Your identity and role
  • Connected accounts and platforms
  • Daily routines and workflows
  • Pain points and energy drains

This context persists across sessions.

2. Self-Configuration

OpenClaw generates its own configuration files:

  • AGENTS.md - Personality, traits, and behavioral rules
  • Skills - Automatic installation based on mentioned platforms
  • Heartbeat schedules - Automated tasks based on your routine

You don’t manually edit config files. You describe what you want, and OpenClaw creates the configuration.

3. Continuous Learning

Each interaction teaches OpenClaw more about you:

  • Which emails you flag as important
  • Which Slack channels you actually read
  • What time you prefer summaries
  • Which tasks you delegate vs. do yourself

The more you use it, the better it gets.

Summary

In this post, I showed how to properly set up OpenClaw for the first time. The key point is treating the initial conversation as an onboarding session where you teach OpenClaw about yourself, your accounts, and your workflows.

The three critical steps are:

  1. Configure your LLM provider (use a capable model like Sonnet 4.6)
  2. Have the onboarding conversation (tell OpenClaw about yourself)
  3. Let OpenClaw configure itself (it generates AGENTS.md, skills, and schedules)

After proper setup, OpenClaw transforms from an empty shell into a working assistant. The investment of 15 minutes in onboarding saves hours of manual configuration and leads to much better automation results.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments