Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepflow_opendesk_cli-0.1.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepflow_opendesk_cli-0.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

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

Hashes for deepflow_opendesk_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e3f1c4b563c14b59291c4e37e8ba1cf92d39886aeee787295e4a8e929af676b2
MD5 e4c97df7871e94e086286e80661c2c74
BLAKE2b-256 8e08702a661d2b9bd8de90eddd668861365963850dd2dbe0d7b8cb796820ed3e

See more details on using hashes here.

File details

Details for the file deepflow_opendesk_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for deepflow_opendesk_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff318aed23f29f46fc4a37761d3cc907c75368573ed6be88250900b33363b80c
MD5 e256de72cd9047eecf0ba5f19c0554f4
BLAKE2b-256 7bd65a62c78b4e676dee103f04a52c978adf2d8890bfcba9b345f3e85a914014

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page