Command-line client for OpenDesk admin configuration APIs.
Project description
deepflow-opendesk-cli
Python command-line client for OpenDesk admin configuration APIs.
The CLI is designed for implementation engineers, operators, and AI agents that need to configure OpenDesk through the same APIs used by the admin console.
Scope
This package intentionally exposes only admin configuration APIs. Runtime workspace data, public visitor APIs, reports, and call-center agent actions are excluded by a schema whitelist.
Included examples:
- System settings
- Roles, employees, employee groups
- Service hours
- Channels
- Field definitions, form layouts, interaction rules
- User, ticket, and organization view configuration
- Satisfaction and welcome-message settings
- Voice flows, ticket workflows, inbound/session routing rules
- Queue policies
- Optional tenant, SIP trunk, and phone-number configuration endpoints when extensions are loaded
Install For Development
cd packages/deepflow-opendesk-cli
pip install -e ".[dev]"
Configure Host And Token
export OPENDESK_HOST="http://localhost:5001"
export OPENDESK_TOKEN="..."
Or log in and save a local profile:
deepflow_opendesk_cli auth login \
--tenant 12058577c8114513 \
--username test \
--save-token
Profile files are stored under ~/.opendesk/cli/{profile}/ with owner-only permissions where supported.
Common Commands
deepflow_opendesk_cli schema fetch
deepflow_opendesk_cli docs list --tag FieldDefinitions
deepflow_opendesk_cli docs show fields.create --json
deepflow_opendesk_cli request GET /api/v1/system/info
deepflow_opendesk_cli call fields.list --query domain=ticket
deepflow_opendesk_cli call fields.create --json-file field.json
deepflow_opendesk_cli system settings
deepflow_opendesk_cli roles permission-tree
deepflow_opendesk_cli employees list
deepflow_opendesk_cli channels list
deepflow_opendesk_cli routing session list
deepflow_opendesk_cli queue policies
Equivalent module invocation:
python -m deepflow_opendesk_cli docs list
AI Agent Flow
Recommended execution loop:
1. schema fetch or docs list
2. docs show <endpoint-key>
3. request/call --dry-run
4. present plan to a human
5. batch run / workflow run --yes
6. verify with config list/get commands
Batch
batch run accepts JSONL. Each line is a config operation:
{"key":"auth.me"}
{"key":"fields.create","body":{"domain":"ticket","name":"Customer Tier","field_type":"select"}}
{"method":"PUT","path":"/api/v1/system-settings","body":{"default_language":"zh","default_timezone":"Asia/Shanghai"}}
Run:
deepflow_opendesk_cli batch run ops.jsonl --dry-run
deepflow_opendesk_cli batch run ops.jsonl --continue-on-error --output results.jsonl
Development
cd packages/deepflow-opendesk-cli
PYTHONPATH=src python -m pytest tests -q
python -m build
Distribution
Releases are automated. Pushing a v* git tag (e.g. v0.1.1) triggers
.github/workflows/release.yml, which runs the tests, builds the sdist + wheel,
publishes deepflow-opendesk-cli to PyPI, and cuts a GitHub Release.
pip install deepflow-opendesk-cli
To cut a patch release, run the helper script (bumps the version across
pyproject.toml, setup.py, and __init__.py, then tags and pushes):
bash .claude/skills/release-publish/scripts/release-tag.sh --dry-run
bash .claude/skills/release-publish/scripts/release-tag.sh
To build locally without publishing: python -m build.
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 deepflow_opendesk_cli-0.1.0.tar.gz.
File metadata
- Download URL: deepflow_opendesk_cli-0.1.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3f1c4b563c14b59291c4e37e8ba1cf92d39886aeee787295e4a8e929af676b2
|
|
| MD5 |
e4c97df7871e94e086286e80661c2c74
|
|
| BLAKE2b-256 |
8e08702a661d2b9bd8de90eddd668861365963850dd2dbe0d7b8cb796820ed3e
|
File details
Details for the file deepflow_opendesk_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: deepflow_opendesk_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff318aed23f29f46fc4a37761d3cc907c75368573ed6be88250900b33363b80c
|
|
| MD5 |
e256de72cd9047eecf0ba5f19c0554f4
|
|
| BLAKE2b-256 |
7bd65a62c78b4e676dee103f04a52c978adf2d8890bfcba9b345f3e85a914014
|