CLI and client library for the Wealthbox CRM API
Project description
Wealthbox CLI — Command-Line Client for the Wealthbox CRM API
wealthbox-cli (wbox) is a command-line tool and Python client library for the Wealthbox CRM API. It gives financial advisors, developers, and RIA firms full CRUD access to contacts, tasks, events, notes, households, and more — directly from the terminal. Automate your CRM workflows, export data, and integrate Wealthbox into scripts and CI pipelines.
Documentation | PyPI | Changelog | Wealthbox CRM | Wealthbox API Docs
Disclaimer: This is an unofficial, community-built tool. It is not affiliated with, endorsed by, or supported by Wealthbox or its parent company. "Wealthbox" is a trademark of its respective owner.
Why Use wealthbox-cli?
- No coding required — structured CLI flags replace raw JSON and cURL commands
- Automate CRM workflows — script bulk updates, data exports, and scheduled tasks
- Multiple output formats — pipe JSON, CSV, or TSV directly to files or other tools
- Built for financial advisors and developers — covers contacts, households, tasks, events, notes, categories, and custom fields
- AI-agent ready — pair with Claude Code or other coding agents for natural-language CRM automation
- Open source — Apache 2.0 licensed, community-driven, and extensible
Quick Start
pip install wealthbox-cli
wbox config set-token # paste your Wealthbox API token (masked)
wbox me # verify connection
See the Getting Started guide for pipx install, environment variable auth, and other options.
Usage Examples
# List contacts as a table
wbox contacts list --format table
# Create a new client contact
wbox contacts add person --first-name Jane --last-name Doe --contact-type Client
# Export tasks to CSV
wbox tasks list --format csv > tasks.csv
# Create a task linked to a contact
wbox tasks add "Follow up call" --due-date "2026-04-10T09:00:00-07:00" --contact 12345
# Add a meeting note
wbox notes add "Discussed retirement plan" --contact 12345
# Schedule an event
wbox events add "Annual Review" --starts-at "2026-05-01T10:00:00-07:00" --ends-at "2026-05-01T11:00:00-07:00"
For the full command list, see the CLI Reference.
Supported Resources
| Resource | List | Get | Create | Update | Delete |
|---|---|---|---|---|---|
| Contacts | Yes | Yes | Yes | Yes | Yes |
| Households | Yes | Yes | Yes | Yes | Yes |
| Tasks | Yes | Yes | Yes | Yes | Yes |
| Events | Yes | Yes | Yes | Yes | Yes |
| Notes | Yes | Yes | Yes | Yes | — |
| Users | Yes | — | — | — | — |
| Activity | Yes | — | — | — | — |
| Categories | Yes | — | — | — | — |
Use with AI Coding Agents
wealthbox-cli ships with a skill for Claude Code and Codex that lets AI agents manage your CRM through natural language. Instead of memorizing CLI flags, just describe what you want:
create a contact for Jane Doe, she's a new prospect
list my tasks due this week
add a note to contact 123 about today's meeting
find all contacts tagged "VIP" and export to CSV
The skill translates your intent into the correct wbox commands, handles flag construction, and validates inputs — ideal for advisors who want CRM automation without learning CLI syntax.
Install
One command, same on every OS:
pip install wealthbox-cli
wbox config set-token # paste your Wealthbox API token
wbox skills install # interactive: pick Claude Code, Codex, or both
The installer asks which platforms to target, copies the skill into the right directory (~/.claude/skills/ for Claude Code, ~/.codex/skills/ for Codex — with SKILL.md renamed to AGENTS.md automatically), and offers to bootstrap your firm's customizations from the Wealthbox API.
First agent run bootstraps itself
The first time an agent invokes the skill, it walks you through populating firm-specific conventions — category values, custom fields, users, defaults, required fields, household naming, named workflows. No further CLI commands needed. After that first run, the bootstrap artifacts self-delete from the skill.
Refresh after firm changes
If your firm adds or renames category values, custom fields, or users:
wbox skills refresh
This updates the generated half of the skill's firm files; hand-edited policy is preserved.
Other commands
wbox skills list # show where the skill is installed + last bootstrap time
wbox skills doctor # diagnose install state + token
wbox skills sync # copy firm/ from one install to others (Claude Code <-> Codex)
wbox skills upgrade # refresh template files (SKILL.md, references/, ...) preserving firm/
wbox skills uninstall # remove the skill
When the CLI ships a newer template (improved SKILL.md, new reference docs, etc.), wbox skills upgrade re-copies the bundled template into every installed platform without touching your firm-specific data in firm/. Each install records the template's CLI version in _meta.json, so the agent can detect drift and prompt you to upgrade when needed.
wbox skills sync is useful if you maintain firm conventions in one platform's install (e.g., your Claude Code user scope) and want the same firm/ files mirrored to Codex or to a project-scoped .claude/skills/ folder. The command runs as a wizard by default; pass --source, --target, and --yes for non-interactive use.
Works with other agents too
The wbox CLI is a standard command-line tool. Any AI coding agent that can execute shell commands — Claude Code, GitHub Copilot CLI, Cursor, or custom agent frameworks — can use it to read and write Wealthbox data. The bundled skill just makes Claude Code and Codex aware of the full command surface.
Architecture
src/wealthbox_tools/
cli/ # Typer commands — user-facing, delegates to client
client/ # Async HTTP client built from mixins
models/ # Pydantic v2 models for input validation
Built with Typer, httpx, and Pydantic v2. See Contributing for the full architecture guide and how to add new resources.
Contributing
git clone https://github.com/massive-value/wealthbox-cli
cd wealthbox-cli
python -m venv .venv
Activate the virtual environment:
| Platform | Command |
|---|---|
| macOS/Linux | source .venv/bin/activate |
| Windows (PowerShell) | .venv\Scripts\Activate.ps1 |
| Windows (Command Prompt) | .venv\Scripts\activate.bat |
Then install and test:
pip install -e ".[dev]"
pytest
See CONTRIBUTING.md for the full guide.
Troubleshooting
401 Unauthorized — Check your API token. Run wbox config show to verify.
Date format errors — Use ISO 8601: "2026-04-01T10:00:00-07:00" or "2026-04-01T10:00:00Z". Date-only fields use "YYYY-MM-DD".
Writes appear to succeed but nothing changed — Some category-constrained writes silently no-op. Check valid values first with wbox contacts categories contact-types.
Disclaimer
This is an unofficial, community-built tool. It is not affiliated with, endorsed by, or supported by Wealthbox or its parent company. "Wealthbox" is a trademark of its respective owner. Use of this tool is subject to the Wealthbox API Terms of Service.
License
Apache 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wealthbox_cli-1.1.2.tar.gz.
File metadata
- Download URL: wealthbox_cli-1.1.2.tar.gz
- Upload date:
- Size: 61.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72ec7ce147d7d952ed3f6a6ff8b850128beef107a0330a54d04eb0265fc0d053
|
|
| MD5 |
2f6df999e486d9b2c30721137b3e4163
|
|
| BLAKE2b-256 |
616f92b418a9889a815acfd6fbe1de82725b5bf8f1f7c6b660e42d75b7744042
|
Provenance
The following attestation bundles were made for wealthbox_cli-1.1.2.tar.gz:
Publisher:
ci.yml on massive-value/wealthbox-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wealthbox_cli-1.1.2.tar.gz -
Subject digest:
72ec7ce147d7d952ed3f6a6ff8b850128beef107a0330a54d04eb0265fc0d053 - Sigstore transparency entry: 1416583705
- Sigstore integration time:
-
Permalink:
massive-value/wealthbox-cli@4c01eb22f35f9367a61269ade54b5faa8999e067 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/massive-value
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@4c01eb22f35f9367a61269ade54b5faa8999e067 -
Trigger Event:
push
-
Statement type:
File details
Details for the file wealthbox_cli-1.1.2-py3-none-any.whl.
File metadata
- Download URL: wealthbox_cli-1.1.2-py3-none-any.whl
- Upload date:
- Size: 85.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6318e590bfbca39008b5cc156c39e45931001e78bff5868296cbbd47e75c420
|
|
| MD5 |
3808f2663a644c02271ec1d18323ca2e
|
|
| BLAKE2b-256 |
718bf0859c6aef87a83bc3869dea0c8e1ccbea1a83a264100643c39a720f6825
|
Provenance
The following attestation bundles were made for wealthbox_cli-1.1.2-py3-none-any.whl:
Publisher:
ci.yml on massive-value/wealthbox-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wealthbox_cli-1.1.2-py3-none-any.whl -
Subject digest:
c6318e590bfbca39008b5cc156c39e45931001e78bff5868296cbbd47e75c420 - Sigstore transparency entry: 1416583880
- Sigstore integration time:
-
Permalink:
massive-value/wealthbox-cli@4c01eb22f35f9367a61269ade54b5faa8999e067 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/massive-value
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@4c01eb22f35f9367a61269ade54b5faa8999e067 -
Trigger Event:
push
-
Statement type: