skills$openclaw/jami
snail3d6.1k

by snail3d

jami – OpenClaw Skill

jami is an OpenClaw Skills integration for data analytics workflows. Make automated calls via Jami (GNU Ring). Use for light VoIP calling, messaging, and peer-to-peer communication without infrastructure.

6.1k stars133 forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

namejami
descriptionMake automated calls via Jami (GNU Ring). Use for light VoIP calling, messaging, and peer-to-peer communication without infrastructure. OpenClaw Skills integration.
ownersnail3d
repositorysnail3d/clawforgodpath: jami-skill
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @snail3d/clawforgod:jami-skill
last updatedFeb 7, 2026

Maintainer

snail3d

snail3d

Maintains jami in the OpenClaw Skills directory.

View GitHub profile
File Explorer
5 files
jami-skill
scripts
jami_caller.sh
1.3 KB
jami_contacts.sh
2.4 KB
jami_listener.sh
1.1 KB
SKILL.md
3.6 KB
SKILL.md

name: jami description: Make automated calls via Jami (GNU Ring). Use for light VoIP calling, messaging, and peer-to-peer communication without infrastructure.

Jami Calling Skill

Automate phone calls and messaging using Jami (free, decentralized, peer-to-peer VoIP).

Quick Start

Installation

# macOS - Download from jami.net or use Homebrew cask (if available)
brew install --cask jami

# Or download directly from https://jami.net/download/

# Linux
sudo apt install jami  # Debian/Ubuntu

Setup

  1. Install Jami app
  2. Create/register a Jami account
  3. Get your Jami ID (looks like a long hex string)
  4. Configure in Clawdbot

Make a Call

jami account list                    # List registered accounts
jami call <jami_id> <contact_id>    # Initiate call
jami hangup <call_id>               # End call

Send Message

jami message send <contact_id> "Hello"

CLI Usage

Account Management

jami account list                    # List all accounts
jami account info <account_id>       # Show account details
jami account register <username>     # Register new account
jami account enable <account_id>     # Enable account
jami account disable <account_id>    # Disable account

Calling

# Initiate call
jami call <account_id> <contact_id>

# List active calls
jami call list

# Get call status
jami call status <call_id>

# End call
jami hangup <call_id>

# Set volume
jami audio volume <volume_percent>

Contacts & Messaging

# Add contact
jami contact add <account_id> <contact_id>

# List contacts
jami contact list <account_id>

# Send message
jami message send <contact_id> "Message text"

# Receive messages (daemon mode)
jami message listen

Automated Calling Examples

Simple outbound call

#!/bin/bash
ACCOUNT_ID="your_jami_account_id"
CONTACT_ID="contact_jami_id"

jami call $ACCOUNT_ID $CONTACT_ID
sleep 30  # Call duration
jami hangup

Call with message

#!/bin/bash
ACCOUNT_ID="your_account"
CONTACT_ID="contact_id"

# Call
jami call $ACCOUNT_ID $CONTACT_ID

# Send message during/after call
jami message send $CONTACT_ID "Automated call from Clawdbot"

# Hangup after message
sleep 5
jami hangup

Listen for incoming calls

jami daemon --listening  # Start daemon
jami call list          # Monitor calls

Clawdbot Integration

Configuration (in TOOLS.md)

## Jami Configuration
- Account ID: [your_jami_account_hex_id]
- Contacts: 
  - name: contact_jami_id (hex string)
  - name: contact_jami_id

Usage in Clawdbot

"Make a call to [contact]"
"Send message to [contact]"
"Hang up current call"
"List my Jami contacts"

How Jami Works

Decentralized: No central server. Calls go peer-to-peer. DHT: Uses Distributed Hash Table to find contacts. Secure: Encryption built-in. Free: No costs, no accounts, no subscriptions. Open Source: Full source available.

Limitations

  • Need both parties running Jami (or on a compatible VoIP network)
  • No traditional phone numbers (uses Jami IDs instead)
  • Requires internet (VoIP)
  • Audio quality depends on connection
  • No built-in automated IVR (you'd handle that in scripts)

Advanced: Self-Hosted

For serious automated calling, you can self-host a SIP gateway:

# Asterisk bridge (connect Jami to traditional phone systems)
# FreeSWITCH (lightweight alternative)

But for light calling, basic Jami CLI is sufficient.

Bundled Resources

  • scripts/jami_caller.sh - Make calls from CLI
  • scripts/jami_listener.sh - Listen for incoming calls
  • references/jami_api.md - Full Jami CLI reference
  • assets/jami_ids.txt - Local contact database
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

```

FAQ

How do I install jami?

Run openclaw add @snail3d/clawforgod:jami-skill in your terminal. This installs jami into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/snail3d/clawforgod. Review commits and README documentation before installing.