OpenClaw

Overview

The Ravi OpenClaw plugin gives your agent real-time email and SMS channels plus 19 tools for managing Identities, inboxes, passwords, and vault secrets. It’s a drop-in replacement for the combination of 1Password + AgentMail.

Why Ravi over 1Password + AgentMail?

1Password + AgentMailRavi
Plugins to install2 (+ tmux plugin)1
Setup steps~10+2 (install + login)
Requires desktop appYesNo
Requires tmux workaroundYesNo
Session expires mid-taskYesNo
EmailAgentMailBuilt in
Credentials1PasswordBuilt in
Fully autonomousBarelyYes

Install

openclaw plugins install @ravi-hq/ravi
openclaw ravi login

The login command:

  1. Opens a browser for device-code authentication (copy-paste friendly for headless VMs)
  2. Sets up E2E encryption (6-digit PIN)
  3. Selects an Identity
  4. Auto-configures OpenClaw

No manual config editing needed.

Real-time channels

The plugin provides two real-time messaging channels powered by Server-Sent Events:

Email channel

  • Each email thread maps 1:1 to an OpenClaw session
  • New threads create new sessions; replies resume existing ones
  • DM policy controls: allowlist or open

SMS channel

  • All messages from one phone number form a single session
  • Only active when the Identity has a provisioned phone number
  • DM policy controls: allowlist or open

Agent tools

The plugin registers 19 tools:

CategoryTools
IdentityList Identities, create Identity, get info
EmailList threads, read thread, compose, reply
SMSList conversations, read conversation, send SMS
PasswordsList, get, create, delete
VaultList secrets, get, set, delete
FeedbackSubmit feedback

Secrets provider

The plugin includes a ravi-secrets binary that implements the OpenClaw exec secrets protocol. Use the Ravi vault as a secrets provider:

secrets:
  providers:
    ravi:
      source: exec
      command: ravi-secrets

Then reference vault secrets anywhere:

{ source: "exec", provider: "ravi", id: "my-api-key" }

Configuration

Authentication is stored in ~/.ravi/auth.json (written by openclaw ravi login). The Identity UUID is set automatically during login.

Manual configuration is only needed for multi-agent setups or to customize DM policies:

plugins:
  ravi:
    identityUuid: "identity-uuid-here"
    channels:
      ravi-email:
        accounts:
          "identity-uuid-here":
            identityUuid: "identity-uuid-here"
            identityName: "My Agent"
            email: "agent@in.ravi.app"
            dm:
              policy: "allowlist"
              allowFrom:
                - "you@gmail.com"
      ravi-sms:
        accounts:
          "identity-uuid-here":
            identityUuid: "identity-uuid-here"
            identityName: "My Agent"
            phone: "+15551234567"
            dm:
              policy: "allowlist"
              allowFrom:
                - "+15559876543"

CLI commands

CommandDescription
openclaw ravi loginAuthenticate, set up PIN, select Identity
openclaw ravi statusShow auth status and available Identities
openclaw ravi setupAlias for login

Next steps