wealthbox-cli 1.3.0__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.claude-plugin/marketplace.json +1 -1
  2. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.codex-plugin/plugin.json +1 -1
  3. wealthbox_cli-1.5.0/PKG-INFO +209 -0
  4. wealthbox_cli-1.5.0/README.md +168 -0
  5. {wealthbox_cli-1.3.0/plugins/wealthbox-crm/skills → wealthbox_cli-1.5.0/codex-skill}/wealthbox-crm/references/contacts.md +4 -2
  6. {wealthbox_cli-1.3.0/plugins/wealthbox-crm/skills → wealthbox_cli-1.5.0/codex-skill}/wealthbox-crm/references/tasks.md +8 -3
  7. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/.claude-plugin/plugin.json +1 -1
  8. {wealthbox_cli-1.3.0/src/wealthbox_tools → wealthbox_cli-1.5.0/plugins/wealthbox-crm}/skills/wealthbox-crm/references/contacts.md +4 -2
  9. {wealthbox_cli-1.3.0/src/wealthbox_tools → wealthbox_cli-1.5.0/plugins/wealthbox-crm}/skills/wealthbox-crm/references/tasks.md +8 -3
  10. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/pyproject.toml +1 -1
  11. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/_skill_platforms.py +68 -13
  12. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/_util.py +26 -0
  13. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/contacts.py +50 -3
  14. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/doctor.py +5 -1
  15. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/skills.py +4 -2
  16. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/tasks.py +66 -9
  17. {wealthbox_cli-1.3.0/codex-skill → wealthbox_cli-1.5.0/src/wealthbox_tools/skills}/wealthbox-crm/references/contacts.md +4 -2
  18. {wealthbox_cli-1.3.0/codex-skill → wealthbox_cli-1.5.0/src/wealthbox_tools/skills}/wealthbox-crm/references/tasks.md +8 -3
  19. wealthbox_cli-1.3.0/PKG-INFO +0 -285
  20. wealthbox_cli-1.3.0/README.md +0 -244
  21. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.env.example +0 -0
  22. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.github/workflows/ci.yml +0 -0
  23. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.github/workflows/docs.yml +0 -0
  24. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/.gitignore +0 -0
  25. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/CONTRIBUTING.md +0 -0
  26. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/LICENSE +0 -0
  27. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/SECURITY.md +0 -0
  28. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/SKILL.md +0 -0
  29. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/bootstrap.md +0 -0
  30. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/contacts.md +0 -0
  31. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/events.md +0 -0
  32. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/notes.md +0 -0
  33. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/opportunities.md +0 -0
  34. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/projects.md +0 -0
  35. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/tasks.md +0 -0
  36. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/firm-examples/workflows.md +0 -0
  37. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/events.md +0 -0
  38. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/households.md +0 -0
  39. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/lookups.md +0 -0
  40. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/notes.md +0 -0
  41. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/opportunities.md +0 -0
  42. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/projects.md +0 -0
  43. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/codex-skill/wealthbox-crm/references/workflows.md +0 -0
  44. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/changelog.md +0 -0
  45. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/cli-reference.md +0 -0
  46. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/getting-started.md +0 -0
  47. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/index.md +0 -0
  48. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/overrides/main.html +0 -0
  49. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/docs/promotion.md +0 -0
  50. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/mkdocs.yml +0 -0
  51. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/SKILL.md +0 -0
  52. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/bootstrap.md +0 -0
  53. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/contacts.md +0 -0
  54. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/events.md +0 -0
  55. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/notes.md +0 -0
  56. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/opportunities.md +0 -0
  57. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/projects.md +0 -0
  58. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/tasks.md +0 -0
  59. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/firm-examples/workflows.md +0 -0
  60. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/events.md +0 -0
  61. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/households.md +0 -0
  62. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/lookups.md +0 -0
  63. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/notes.md +0 -0
  64. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/opportunities.md +0 -0
  65. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/projects.md +0 -0
  66. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/plugins/wealthbox-crm/skills/wealthbox-crm/references/workflows.md +0 -0
  67. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/__init__.py +0 -0
  68. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/__init__.py +0 -0
  69. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/_config.py +0 -0
  70. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/_skill_bootstrap.py +0 -0
  71. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/_skill_paths.py +0 -0
  72. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/activity.py +0 -0
  73. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/categories.py +0 -0
  74. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/config.py +0 -0
  75. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/events.py +0 -0
  76. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/households.py +0 -0
  77. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/main.py +0 -0
  78. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/me.py +0 -0
  79. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/notes.py +0 -0
  80. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/opportunities.py +0 -0
  81. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/projects.py +0 -0
  82. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/users.py +0 -0
  83. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/cli/workflows.py +0 -0
  84. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/__init__.py +0 -0
  85. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/activity.py +0 -0
  86. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/base.py +0 -0
  87. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/categories.py +0 -0
  88. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/comments.py +0 -0
  89. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/contacts.py +0 -0
  90. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/events.py +0 -0
  91. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/households.py +0 -0
  92. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/me.py +0 -0
  93. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/notes.py +0 -0
  94. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/opportunities.py +0 -0
  95. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/projects.py +0 -0
  96. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/tasks.py +0 -0
  97. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/users.py +0 -0
  98. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/client/workflows.py +0 -0
  99. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/__init__.py +0 -0
  100. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/activity.py +0 -0
  101. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/comments.py +0 -0
  102. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/common.py +0 -0
  103. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/contacts.py +0 -0
  104. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/custom_fields.py +0 -0
  105. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/enums.py +0 -0
  106. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/events.py +0 -0
  107. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/households.py +0 -0
  108. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/notes.py +0 -0
  109. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/opportunities.py +0 -0
  110. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/projects.py +0 -0
  111. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/tasks.py +0 -0
  112. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/models/workflows.py +0 -0
  113. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/py.typed +0 -0
  114. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/SKILL.md +0 -0
  115. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/bootstrap.md +0 -0
  116. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/contacts.md +0 -0
  117. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/events.md +0 -0
  118. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/notes.md +0 -0
  119. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/opportunities.md +0 -0
  120. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/projects.md +0 -0
  121. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/tasks.md +0 -0
  122. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/firm-examples/workflows.md +0 -0
  123. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/events.md +0 -0
  124. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/households.md +0 -0
  125. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/lookups.md +0 -0
  126. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/notes.md +0 -0
  127. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/opportunities.md +0 -0
  128. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/projects.md +0 -0
  129. {wealthbox_cli-1.3.0 → wealthbox_cli-1.5.0}/src/wealthbox_tools/skills/wealthbox-crm/references/workflows.md +0 -0
@@ -10,7 +10,7 @@
10
10
  "name": "wealthbox-crm",
11
11
  "source": "./plugins/wealthbox-crm",
12
12
  "description": "Wealthbox CRM agent skill — natural-language CRM automation backed by the `wbox` CLI.",
13
- "version": "1.2.0",
13
+ "version": "1.3.0",
14
14
  "category": "productivity",
15
15
  "tags": [
16
16
  "wealthbox",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wealthbox-crm",
3
3
  "description": "Wealthbox CRM agent skill — drive contacts, tasks, notes, events, and households via natural language. Bundles SKILL.md, references, and firm-bootstrap workflow. Requires the `wbox` CLI (auto-install instructions in SKILL.md).",
4
- "version": "1.2.0",
4
+ "version": "1.5.0",
5
5
  "author": "Kadin Bullock",
6
6
  "homepage": "https://github.com/massive-value/wealthbox-cli",
7
7
  "repository": "https://github.com/massive-value/wealthbox-cli",
@@ -0,0 +1,209 @@
1
+ Metadata-Version: 2.4
2
+ Name: wealthbox-cli
3
+ Version: 1.5.0
4
+ Summary: CLI and client library for the Wealthbox CRM API
5
+ Project-URL: Homepage, https://github.com/massive-value/wealthbox-cli
6
+ Project-URL: Documentation, https://massive-value.github.io/wealthbox-cli/
7
+ Project-URL: Repository, https://github.com/massive-value/wealthbox-cli
8
+ Project-URL: Issues, https://github.com/massive-value/wealthbox-cli/issues
9
+ Project-URL: Changelog, https://github.com/massive-value/wealthbox-cli/blob/main/CHANGELOG.md
10
+ Author: Kadin Bullock
11
+ License: Apache-2.0
12
+ License-File: LICENSE
13
+ Keywords: api,cli,client-management,command-line,contacts,crm,financial-advisor,fintech,wealth-management,wealthbox
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Financial and Insurance Industry
18
+ Classifier: License :: OSI Approved :: Apache Software License
19
+ Classifier: Natural Language :: English
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Topic :: Office/Business
26
+ Classifier: Topic :: Office/Business :: Financial
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.11
29
+ Requires-Dist: httpx<1.0,>=0.27
30
+ Requires-Dist: pydantic<3.0,>=2.0
31
+ Requires-Dist: python-dotenv<2.0,>=1.0
32
+ Requires-Dist: tabulate<1.0,>=0.9
33
+ Requires-Dist: typer<1.0,>=0.12
34
+ Provides-Extra: dev
35
+ Requires-Dist: mypy>=1.10; extra == 'dev'
36
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
37
+ Requires-Dist: pytest>=8.0; extra == 'dev'
38
+ Requires-Dist: respx>=0.21; extra == 'dev'
39
+ Requires-Dist: ruff>=0.4; extra == 'dev'
40
+ Description-Content-Type: text/markdown
41
+
42
+ # Wealthbox CLI
43
+
44
+ **Run your Wealthbox CRM through Claude or ChatGPT.** Tell your AI agent *"add a contact for Jane Doe, send her our welcome packet, and put a follow-up on my calendar for next Tuesday"* — and it just happens. No coding, no Python, no terminal commands to memorize.
45
+
46
+ [![PyPI](https://img.shields.io/pypi/v/wealthbox-cli)](https://pypi.org/project/wealthbox-cli/) [![Downloads](https://img.shields.io/pypi/dm/wealthbox-cli)](https://pypi.org/project/wealthbox-cli/) [![CI](https://img.shields.io/github/actions/workflow/status/massive-value/wealthbox-cli/ci.yml?label=CI)](https://github.com/massive-value/wealthbox-cli/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
47
+
48
+ > Unofficial, community-built. Not affiliated with or endorsed by Wealthbox.
49
+
50
+ ------------------------------------------------------------------------
51
+
52
+ ## Install (60 seconds, no Python required)
53
+
54
+ | Platform | Paste this into your terminal |
55
+ |---|---|
56
+ | **Mac / Linux** | `curl -LsSf https://raw.githubusercontent.com/massive-value/wealthbox-cli/main/scripts/install.sh \| bash` |
57
+ | **Windows** (PowerShell) | `irm https://raw.githubusercontent.com/massive-value/wealthbox-cli/main/scripts/install.ps1 \| iex` |
58
+
59
+ The installer:
60
+ 1. Sets up the tools it needs (Python, etc. — handled automatically).
61
+ 2. Asks for your **Wealthbox API token**. *Where to find it:* in Wealthbox, click your initials in the top right → **Settings** → **API Access** → **Create Access Token**. Paste the token when prompted.
62
+ 3. Installs the AI agent skill into [Claude Code](https://claude.ai/download) (and Codex, if you have it).
63
+
64
+ That's it. Open Claude Code and try one of the prompts below.
65
+
66
+ ------------------------------------------------------------------------
67
+
68
+ ## Try this in Claude Code
69
+
70
+ ```
71
+ "Show me my contacts created this week."
72
+
73
+ "Add Jane Doe as a new prospect — she came in as a referral from Bob Smith."
74
+
75
+ "Pull up the Smith household, add a task for me to call them on Monday."
76
+
77
+ "Find notes from my meeting with the Joneses last month and summarize the action items."
78
+
79
+ "Schedule an annual review with Mary Chen for the second Tuesday of next month."
80
+ ```
81
+
82
+ The first time you ask the agent to do something, it'll walk you through a short Q&A about your firm's conventions (default contact types, naming patterns, common workflows). After that, it just works.
83
+
84
+ If you're new to Claude Code itself, [download it here](https://claude.ai/download) — it's free for personal use.
85
+
86
+ ------------------------------------------------------------------------
87
+
88
+ ## What it covers
89
+
90
+ Full read/write access for **contacts** (people, households, organizations, trusts), **tasks**, **events**, **notes**, **opportunities**, **projects**, and **workflows**. Read access for users, activity, and your firm's category lookups.
91
+
92
+ Anything you can do in Wealthbox manually, the agent can do for you — usually in one sentence.
93
+
94
+ ------------------------------------------------------------------------
95
+
96
+ ## How it works
97
+
98
+ Your AI agent uses a small command-line tool called `wbox` to talk to the [Wealthbox CRM API](https://dev.wealthbox.com). The skill that ships with this repo teaches the agent two things:
99
+
100
+ 1. **Your firm's conventions** — the agent walks you through a one-time Q&A on first use ("what's your default contact type for new prospects? what's your household naming convention?"), then remembers your answers. Stored locally on your machine, never sent to a server.
101
+ 2. **The right command for each request** — translating "add Jane as a prospect" into the correct API call, handling required fields, validating dropdowns against your firm's actual categories.
102
+
103
+ You stay in control: the agent shows you what it's about to do before it does it.
104
+
105
+ ------------------------------------------------------------------------
106
+
107
+ ## Already a Claude Code user?
108
+
109
+ You can install the skill directly from the plugin marketplace inside Claude Code:
110
+
111
+ ```
112
+ /plugin marketplace add massive-value/wealthbox-cli
113
+ /plugin install wealthbox-crm@massive-value
114
+ ```
115
+
116
+ The plugin auto-updates daily. Firm data lives at `~/.config/wbox/firm/` (Mac/Linux) or `%APPDATA%\wbox\firm\` (Windows) and survives plugin updates. Run `wbox doctor` to see your install status anytime.
117
+
118
+ ------------------------------------------------------------------------
119
+
120
+ ## For developers and power users
121
+
122
+ <details>
123
+ <summary><b>Direct CLI use, scripting, automation</b></summary>
124
+
125
+ ```bash
126
+ pip install wealthbox-cli
127
+ wbox config set-token
128
+
129
+ # List contacts as a table
130
+ wbox contacts list --format table
131
+
132
+ # Create a contact
133
+ wbox contacts add person --first-name Jane --last-name Doe --contact-type Client
134
+
135
+ # Export tasks to CSV
136
+ wbox tasks list --format csv > tasks.csv
137
+
138
+ # Add a meeting note linked to a contact
139
+ wbox notes add "Discussed retirement plan" --contact 12345
140
+ ```
141
+
142
+ Full command reference: [CLI Reference](https://massive-value.github.io/wealthbox-cli/cli-reference/). Output formats: `json` (default), `table`, `csv`, `tsv`. Date format: ISO 8601 (`2026-05-01T10:00:00-07:00`). See [Getting Started](https://massive-value.github.io/wealthbox-cli/getting-started/) for pipx, env-var auth, and project-scoped installs.
143
+ </details>
144
+
145
+ <details>
146
+ <summary><b>Manage skill installs (legacy / Codex / project scope)</b></summary>
147
+
148
+ ```bash
149
+ wbox skills install # interactive picker — Claude Code, Codex, project scope
150
+ wbox skills bootstrap # populate firm data from your Wealthbox account
151
+ wbox skills refresh # re-fetch generated firm data (categories, users, custom fields)
152
+ wbox skills upgrade # update the bundled SKILL.md / references in every install
153
+ wbox skills firm-path # print the canonical firm data directory
154
+ wbox skills uninstall # remove the skill template (firm data is preserved)
155
+ wbox doctor # comprehensive health check
156
+ ```
157
+
158
+ The marketplace plugin path (above) is recommended for Claude Code. The legacy `wbox skills install` path remains for Codex users (until OpenAI's marketplace lands), project-scoped installs, or air-gapped setups without the `claude` CLI.
159
+ </details>
160
+
161
+ <details>
162
+ <summary><b>Architecture and contributing</b></summary>
163
+
164
+ ```
165
+ src/wealthbox_tools/
166
+ cli/ # Typer commands
167
+ client/ # Async HTTP client built from mixins
168
+ models/ # Pydantic v2 input validation
169
+ ```
170
+
171
+ Built with [Typer](https://typer.tiangolo.com/), [httpx](https://www.python-httpx.org/), and [Pydantic v2](https://docs.pydantic.dev/).
172
+
173
+ ```bash
174
+ git clone https://github.com/massive-value/wealthbox-cli
175
+ cd wealthbox-cli
176
+ python -m venv .venv
177
+ # Activate: source .venv/bin/activate (Mac/Linux) | .venv\Scripts\Activate.ps1 (Windows)
178
+ pip install -e ".[dev]"
179
+ pytest
180
+ ```
181
+
182
+ See [CONTRIBUTING.md](CONTRIBUTING.md) and [CLAUDE.md](CLAUDE.md) for the architecture guide and conventions.
183
+ </details>
184
+
185
+ <details>
186
+ <summary><b>Troubleshooting</b></summary>
187
+
188
+ - **401 Unauthorized** — token expired or wrong. Run `wbox config show` to see the masked token, `wbox config set-token` to update.
189
+ - **Windows: "execution policy" error during install** — the installer offers to fix this for you. If you skipped it, run `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` and re-run the installer.
190
+ - **Linux: command not found after install** — open a new terminal, or run `source ~/.local/bin/env` in your current shell.
191
+ - **Date format errors** — Wealthbox needs ISO 8601: `"2026-05-01T10:00:00-07:00"` for datetimes, `"YYYY-MM-DD"` for date-only fields.
192
+ - **Writes succeed but nothing changes** — some category-constrained fields silently no-op on bad values. Check valid values with `wbox categories <type>`.
193
+
194
+ For anything else, open an issue at [github.com/massive-value/wealthbox-cli/issues](https://github.com/massive-value/wealthbox-cli/issues).
195
+ </details>
196
+
197
+ ------------------------------------------------------------------------
198
+
199
+ ## Links
200
+
201
+ [Documentation](https://massive-value.github.io/wealthbox-cli/) · [Changelog](https://massive-value.github.io/wealthbox-cli/changelog/) · [PyPI](https://pypi.org/project/wealthbox-cli/) · [Wealthbox CRM](https://www.wealthbox.com/) · [Wealthbox API](https://dev.wealthbox.com)
202
+
203
+ ## Disclaimer
204
+
205
+ 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](https://dev.wealthbox.com).
206
+
207
+ ## License
208
+
209
+ Apache 2.0 — see [LICENSE](LICENSE).
@@ -0,0 +1,168 @@
1
+ # Wealthbox CLI
2
+
3
+ **Run your Wealthbox CRM through Claude or ChatGPT.** Tell your AI agent *"add a contact for Jane Doe, send her our welcome packet, and put a follow-up on my calendar for next Tuesday"* — and it just happens. No coding, no Python, no terminal commands to memorize.
4
+
5
+ [![PyPI](https://img.shields.io/pypi/v/wealthbox-cli)](https://pypi.org/project/wealthbox-cli/) [![Downloads](https://img.shields.io/pypi/dm/wealthbox-cli)](https://pypi.org/project/wealthbox-cli/) [![CI](https://img.shields.io/github/actions/workflow/status/massive-value/wealthbox-cli/ci.yml?label=CI)](https://github.com/massive-value/wealthbox-cli/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
6
+
7
+ > Unofficial, community-built. Not affiliated with or endorsed by Wealthbox.
8
+
9
+ ------------------------------------------------------------------------
10
+
11
+ ## Install (60 seconds, no Python required)
12
+
13
+ | Platform | Paste this into your terminal |
14
+ |---|---|
15
+ | **Mac / Linux** | `curl -LsSf https://raw.githubusercontent.com/massive-value/wealthbox-cli/main/scripts/install.sh \| bash` |
16
+ | **Windows** (PowerShell) | `irm https://raw.githubusercontent.com/massive-value/wealthbox-cli/main/scripts/install.ps1 \| iex` |
17
+
18
+ The installer:
19
+ 1. Sets up the tools it needs (Python, etc. — handled automatically).
20
+ 2. Asks for your **Wealthbox API token**. *Where to find it:* in Wealthbox, click your initials in the top right → **Settings** → **API Access** → **Create Access Token**. Paste the token when prompted.
21
+ 3. Installs the AI agent skill into [Claude Code](https://claude.ai/download) (and Codex, if you have it).
22
+
23
+ That's it. Open Claude Code and try one of the prompts below.
24
+
25
+ ------------------------------------------------------------------------
26
+
27
+ ## Try this in Claude Code
28
+
29
+ ```
30
+ "Show me my contacts created this week."
31
+
32
+ "Add Jane Doe as a new prospect — she came in as a referral from Bob Smith."
33
+
34
+ "Pull up the Smith household, add a task for me to call them on Monday."
35
+
36
+ "Find notes from my meeting with the Joneses last month and summarize the action items."
37
+
38
+ "Schedule an annual review with Mary Chen for the second Tuesday of next month."
39
+ ```
40
+
41
+ The first time you ask the agent to do something, it'll walk you through a short Q&A about your firm's conventions (default contact types, naming patterns, common workflows). After that, it just works.
42
+
43
+ If you're new to Claude Code itself, [download it here](https://claude.ai/download) — it's free for personal use.
44
+
45
+ ------------------------------------------------------------------------
46
+
47
+ ## What it covers
48
+
49
+ Full read/write access for **contacts** (people, households, organizations, trusts), **tasks**, **events**, **notes**, **opportunities**, **projects**, and **workflows**. Read access for users, activity, and your firm's category lookups.
50
+
51
+ Anything you can do in Wealthbox manually, the agent can do for you — usually in one sentence.
52
+
53
+ ------------------------------------------------------------------------
54
+
55
+ ## How it works
56
+
57
+ Your AI agent uses a small command-line tool called `wbox` to talk to the [Wealthbox CRM API](https://dev.wealthbox.com). The skill that ships with this repo teaches the agent two things:
58
+
59
+ 1. **Your firm's conventions** — the agent walks you through a one-time Q&A on first use ("what's your default contact type for new prospects? what's your household naming convention?"), then remembers your answers. Stored locally on your machine, never sent to a server.
60
+ 2. **The right command for each request** — translating "add Jane as a prospect" into the correct API call, handling required fields, validating dropdowns against your firm's actual categories.
61
+
62
+ You stay in control: the agent shows you what it's about to do before it does it.
63
+
64
+ ------------------------------------------------------------------------
65
+
66
+ ## Already a Claude Code user?
67
+
68
+ You can install the skill directly from the plugin marketplace inside Claude Code:
69
+
70
+ ```
71
+ /plugin marketplace add massive-value/wealthbox-cli
72
+ /plugin install wealthbox-crm@massive-value
73
+ ```
74
+
75
+ The plugin auto-updates daily. Firm data lives at `~/.config/wbox/firm/` (Mac/Linux) or `%APPDATA%\wbox\firm\` (Windows) and survives plugin updates. Run `wbox doctor` to see your install status anytime.
76
+
77
+ ------------------------------------------------------------------------
78
+
79
+ ## For developers and power users
80
+
81
+ <details>
82
+ <summary><b>Direct CLI use, scripting, automation</b></summary>
83
+
84
+ ```bash
85
+ pip install wealthbox-cli
86
+ wbox config set-token
87
+
88
+ # List contacts as a table
89
+ wbox contacts list --format table
90
+
91
+ # Create a contact
92
+ wbox contacts add person --first-name Jane --last-name Doe --contact-type Client
93
+
94
+ # Export tasks to CSV
95
+ wbox tasks list --format csv > tasks.csv
96
+
97
+ # Add a meeting note linked to a contact
98
+ wbox notes add "Discussed retirement plan" --contact 12345
99
+ ```
100
+
101
+ Full command reference: [CLI Reference](https://massive-value.github.io/wealthbox-cli/cli-reference/). Output formats: `json` (default), `table`, `csv`, `tsv`. Date format: ISO 8601 (`2026-05-01T10:00:00-07:00`). See [Getting Started](https://massive-value.github.io/wealthbox-cli/getting-started/) for pipx, env-var auth, and project-scoped installs.
102
+ </details>
103
+
104
+ <details>
105
+ <summary><b>Manage skill installs (legacy / Codex / project scope)</b></summary>
106
+
107
+ ```bash
108
+ wbox skills install # interactive picker — Claude Code, Codex, project scope
109
+ wbox skills bootstrap # populate firm data from your Wealthbox account
110
+ wbox skills refresh # re-fetch generated firm data (categories, users, custom fields)
111
+ wbox skills upgrade # update the bundled SKILL.md / references in every install
112
+ wbox skills firm-path # print the canonical firm data directory
113
+ wbox skills uninstall # remove the skill template (firm data is preserved)
114
+ wbox doctor # comprehensive health check
115
+ ```
116
+
117
+ The marketplace plugin path (above) is recommended for Claude Code. The legacy `wbox skills install` path remains for Codex users (until OpenAI's marketplace lands), project-scoped installs, or air-gapped setups without the `claude` CLI.
118
+ </details>
119
+
120
+ <details>
121
+ <summary><b>Architecture and contributing</b></summary>
122
+
123
+ ```
124
+ src/wealthbox_tools/
125
+ cli/ # Typer commands
126
+ client/ # Async HTTP client built from mixins
127
+ models/ # Pydantic v2 input validation
128
+ ```
129
+
130
+ Built with [Typer](https://typer.tiangolo.com/), [httpx](https://www.python-httpx.org/), and [Pydantic v2](https://docs.pydantic.dev/).
131
+
132
+ ```bash
133
+ git clone https://github.com/massive-value/wealthbox-cli
134
+ cd wealthbox-cli
135
+ python -m venv .venv
136
+ # Activate: source .venv/bin/activate (Mac/Linux) | .venv\Scripts\Activate.ps1 (Windows)
137
+ pip install -e ".[dev]"
138
+ pytest
139
+ ```
140
+
141
+ See [CONTRIBUTING.md](CONTRIBUTING.md) and [CLAUDE.md](CLAUDE.md) for the architecture guide and conventions.
142
+ </details>
143
+
144
+ <details>
145
+ <summary><b>Troubleshooting</b></summary>
146
+
147
+ - **401 Unauthorized** — token expired or wrong. Run `wbox config show` to see the masked token, `wbox config set-token` to update.
148
+ - **Windows: "execution policy" error during install** — the installer offers to fix this for you. If you skipped it, run `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` and re-run the installer.
149
+ - **Linux: command not found after install** — open a new terminal, or run `source ~/.local/bin/env` in your current shell.
150
+ - **Date format errors** — Wealthbox needs ISO 8601: `"2026-05-01T10:00:00-07:00"` for datetimes, `"YYYY-MM-DD"` for date-only fields.
151
+ - **Writes succeed but nothing changes** — some category-constrained fields silently no-op on bad values. Check valid values with `wbox categories <type>`.
152
+
153
+ For anything else, open an issue at [github.com/massive-value/wealthbox-cli/issues](https://github.com/massive-value/wealthbox-cli/issues).
154
+ </details>
155
+
156
+ ------------------------------------------------------------------------
157
+
158
+ ## Links
159
+
160
+ [Documentation](https://massive-value.github.io/wealthbox-cli/) · [Changelog](https://massive-value.github.io/wealthbox-cli/changelog/) · [PyPI](https://pypi.org/project/wealthbox-cli/) · [Wealthbox CRM](https://www.wealthbox.com/) · [Wealthbox API](https://dev.wealthbox.com)
161
+
162
+ ## Disclaimer
163
+
164
+ 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](https://dev.wealthbox.com).
165
+
166
+ ## License
167
+
168
+ Apache 2.0 — see [LICENSE](LICENSE).
@@ -36,7 +36,7 @@ wbox contacts <ID>
36
36
  wbox contacts get <ID>
37
37
  ```
38
38
 
39
- Returns full contact record including comments (use `--no-comments` to omit).
39
+ Returns the full contact record. Contacts do not carry comments in Wealthbox — to read comments, fetch the related task, note, event, opportunity, project, or workflow with its `get` command (those default to including comments and accept `--no-comments` to suppress).
40
40
 
41
41
  ## Create Contact
42
42
 
@@ -69,6 +69,7 @@ wbox contacts add person [OPTIONS]
69
69
  | `--email-type` | STR | Work, Personal, etc. |
70
70
  | `--phone` | STR | Phone number |
71
71
  | `--phone-type` | STR | Work, Mobile, etc. |
72
+ | `--tags` | STR | Comma-separated tag names (e.g. "VIP,Q1-Outreach"). New tags are auto-created. |
72
73
  | `--more-fields` | JSON | Additional fields as JSON object |
73
74
  | `--format` | json\|table\|csv\|tsv | Output format |
74
75
 
@@ -76,7 +77,7 @@ wbox contacts add person [OPTIONS]
76
77
  ```bash
77
78
  wbox contacts add household --name <NAME> [OPTIONS]
78
79
  ```
79
- `--name` is required. Supports: `--contact-type`, `--contact-source`, `--active/--inactive`, `--assigned-to`, `--email`, `--email-type`, `--more-fields`, `--format`.
80
+ `--name` is required. Supports: `--contact-type`, `--contact-source`, `--active/--inactive`, `--assigned-to`, `--email`, `--email-type`, `--tags`, `--more-fields`, `--format`.
80
81
 
81
82
  ### Organization
82
83
  ```bash
@@ -110,6 +111,7 @@ Only pass the fields you want to change:
110
111
  | `--contact-source` | STR | Source |
111
112
  | `--active` / `--inactive` | flag | Active status |
112
113
  | `--assigned-to` | INT | Reassign to user ID |
114
+ | `--tags` | STR | Comma-separated tag names. Replaces all tags — include existing ones to keep. |
113
115
  | `--json` | STR | Full JSON for nested/complex fields |
114
116
  | `--format` | json\|table\|csv\|tsv | Output format |
115
117
 
@@ -44,17 +44,21 @@ wbox tasks add <NAME> [OPTIONS]
44
44
  |------|------|-------------|
45
45
  | `<NAME>` | positional | Task name (required) |
46
46
  | `--due-date` | STR | Due date (XOR with --frame) |
47
- | `--frame` | today\|tomorrow\|this-week\|next-week\|this-month\|next-month\|... | Relative due date (XOR with --due-date) |
47
+ | `--frame` | today\|tomorrow\|this-week\|next-week\|future\|specific | Relative due date (XOR with --due-date). Both kebab-case (`next-week`) and snake_case (`next_week`) are accepted. |
48
48
  | `--priority` | Low\|Medium\|High | Priority level |
49
+ | `--category` | STR | Task category by name or ID (e.g. "Follow-up"). See `wbox categories task-categories`. |
50
+ | `--description` | STR | Task description |
49
51
  | `--assigned-to` | INT | Assign to user ID |
50
52
  | `--contact` | INT | Link to contact |
51
53
  | `--project` | INT | Link to project |
52
54
  | `--opportunity` | INT | Link to opportunity |
53
- | `--more-fields` | JSON | e.g. `{"category": 123, "description": "..."}` |
55
+ | `--more-fields` | JSON | e.g. `{"complete": false, "assigned_to_team": 456}` |
54
56
  | `--format` | json\|table\|csv\|tsv | Output format |
55
57
 
56
58
  **Note:** `--due-date` and `--frame` are mutually exclusive. Use `--frame` for relative dates.
57
59
 
60
+ **Note (Wealthbox quirk):** `--frame next_week` resolves on the API side to the Monday of the calendar week *after* today. **If today is Sunday, `next_week` is tomorrow** (Monday) — only one day away, not seven. Wealthbox treats Sunday as the last day of the current week. If precise control matters (e.g. an advisor said "next week" expecting 7+ days out), use `--due-date YYYY-MM-DDTHH:MM:SS-07:00` with an explicit date instead of `--frame`.
61
+
58
62
  ## Update Task
59
63
 
60
64
  ```bash
@@ -65,8 +69,9 @@ wbox tasks update <ID> [OPTIONS]
65
69
  |------|------|-------------|
66
70
  | `--name` | STR | Rename |
67
71
  | `--due-date` | STR | Change due date |
68
- | `--frame` | STR | Change relative due date |
72
+ | `--frame` | STR | Change relative due date. Accepts kebab-case (`next-week`) or snake_case (`next_week`); see Note above re: Sunday boundary. |
69
73
  | `--priority` | Low\|Medium\|High | Change priority |
74
+ | `--category` | STR | Task category by name or ID. See `wbox categories task-categories`. |
70
75
  | `--assigned-to` | INT | Reassign |
71
76
  | `--complete` / `--no-complete` | flag | Mark complete/incomplete |
72
77
  | `--description` | STR | Update description |
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wealthbox-crm",
3
3
  "description": "Wealthbox CRM agent skill — drive contacts, tasks, notes, events, and households via natural language. Bundles SKILL.md, references, and firm-bootstrap workflow. Requires the `wbox` CLI (auto-install instructions in SKILL.md).",
4
- "version": "1.2.0",
4
+ "version": "1.5.0",
5
5
  "author": {
6
6
  "name": "Kadin Bullock"
7
7
  },
@@ -36,7 +36,7 @@ wbox contacts <ID>
36
36
  wbox contacts get <ID>
37
37
  ```
38
38
 
39
- Returns full contact record including comments (use `--no-comments` to omit).
39
+ Returns the full contact record. Contacts do not carry comments in Wealthbox — to read comments, fetch the related task, note, event, opportunity, project, or workflow with its `get` command (those default to including comments and accept `--no-comments` to suppress).
40
40
 
41
41
  ## Create Contact
42
42
 
@@ -69,6 +69,7 @@ wbox contacts add person [OPTIONS]
69
69
  | `--email-type` | STR | Work, Personal, etc. |
70
70
  | `--phone` | STR | Phone number |
71
71
  | `--phone-type` | STR | Work, Mobile, etc. |
72
+ | `--tags` | STR | Comma-separated tag names (e.g. "VIP,Q1-Outreach"). New tags are auto-created. |
72
73
  | `--more-fields` | JSON | Additional fields as JSON object |
73
74
  | `--format` | json\|table\|csv\|tsv | Output format |
74
75
 
@@ -76,7 +77,7 @@ wbox contacts add person [OPTIONS]
76
77
  ```bash
77
78
  wbox contacts add household --name <NAME> [OPTIONS]
78
79
  ```
79
- `--name` is required. Supports: `--contact-type`, `--contact-source`, `--active/--inactive`, `--assigned-to`, `--email`, `--email-type`, `--more-fields`, `--format`.
80
+ `--name` is required. Supports: `--contact-type`, `--contact-source`, `--active/--inactive`, `--assigned-to`, `--email`, `--email-type`, `--tags`, `--more-fields`, `--format`.
80
81
 
81
82
  ### Organization
82
83
  ```bash
@@ -110,6 +111,7 @@ Only pass the fields you want to change:
110
111
  | `--contact-source` | STR | Source |
111
112
  | `--active` / `--inactive` | flag | Active status |
112
113
  | `--assigned-to` | INT | Reassign to user ID |
114
+ | `--tags` | STR | Comma-separated tag names. Replaces all tags — include existing ones to keep. |
113
115
  | `--json` | STR | Full JSON for nested/complex fields |
114
116
  | `--format` | json\|table\|csv\|tsv | Output format |
115
117
 
@@ -44,17 +44,21 @@ wbox tasks add <NAME> [OPTIONS]
44
44
  |------|------|-------------|
45
45
  | `<NAME>` | positional | Task name (required) |
46
46
  | `--due-date` | STR | Due date (XOR with --frame) |
47
- | `--frame` | today\|tomorrow\|this-week\|next-week\|this-month\|next-month\|... | Relative due date (XOR with --due-date) |
47
+ | `--frame` | today\|tomorrow\|this-week\|next-week\|future\|specific | Relative due date (XOR with --due-date). Both kebab-case (`next-week`) and snake_case (`next_week`) are accepted. |
48
48
  | `--priority` | Low\|Medium\|High | Priority level |
49
+ | `--category` | STR | Task category by name or ID (e.g. "Follow-up"). See `wbox categories task-categories`. |
50
+ | `--description` | STR | Task description |
49
51
  | `--assigned-to` | INT | Assign to user ID |
50
52
  | `--contact` | INT | Link to contact |
51
53
  | `--project` | INT | Link to project |
52
54
  | `--opportunity` | INT | Link to opportunity |
53
- | `--more-fields` | JSON | e.g. `{"category": 123, "description": "..."}` |
55
+ | `--more-fields` | JSON | e.g. `{"complete": false, "assigned_to_team": 456}` |
54
56
  | `--format` | json\|table\|csv\|tsv | Output format |
55
57
 
56
58
  **Note:** `--due-date` and `--frame` are mutually exclusive. Use `--frame` for relative dates.
57
59
 
60
+ **Note (Wealthbox quirk):** `--frame next_week` resolves on the API side to the Monday of the calendar week *after* today. **If today is Sunday, `next_week` is tomorrow** (Monday) — only one day away, not seven. Wealthbox treats Sunday as the last day of the current week. If precise control matters (e.g. an advisor said "next week" expecting 7+ days out), use `--due-date YYYY-MM-DDTHH:MM:SS-07:00` with an explicit date instead of `--frame`.
61
+
58
62
  ## Update Task
59
63
 
60
64
  ```bash
@@ -65,8 +69,9 @@ wbox tasks update <ID> [OPTIONS]
65
69
  |------|------|-------------|
66
70
  | `--name` | STR | Rename |
67
71
  | `--due-date` | STR | Change due date |
68
- | `--frame` | STR | Change relative due date |
72
+ | `--frame` | STR | Change relative due date. Accepts kebab-case (`next-week`) or snake_case (`next_week`); see Note above re: Sunday boundary. |
69
73
  | `--priority` | Low\|Medium\|High | Change priority |
74
+ | `--category` | STR | Task category by name or ID. See `wbox categories task-categories`. |
70
75
  | `--assigned-to` | INT | Reassign |
71
76
  | `--complete` / `--no-complete` | flag | Mark complete/incomplete |
72
77
  | `--description` | STR | Update description |
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "wealthbox-cli"
7
- version = "1.3.0"
7
+ version = "1.5.0"
8
8
  description = "CLI and client library for the Wealthbox CRM API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"