Token-based CLI for team, conversations, equipment, and absence in Dottie HR
Project description
dottie-cli
dottie-cli is a Python command line interface for the Dottie HR web application at https://app.dottie.no and the corresponding API at https://api.dottie.no.
The tool is designed for both direct shell use and agent-driven workflows:
- read commands are stable and scriptable
- write commands default to preview mode
- token handling is explicit and never committed
- output can be table-shaped for people or JSON for automation
Features
Current command coverage includes:
- team membership and team overview
- equipment assigned to team members
- scheduled vacation and other absence for the current employee and team scope
- recurring meeting history
- append-only manager note preparation for upcoming recurring meetings
Authentication
The CLI uses a short-lived JWT from the live Dottie web application. It does not mint credentials, store refresh tokens, or expect secrets in the repository.
Default lookup order:
DOTTIE_TOKENenvironment variable~/.dottie-token
The token must be the Dottie application token used against https://api.dottie.no, not a generic identity token.
Token Capture
Print a bookmarklet:
python -m dottie_cli token bookmarklet
Print a console snippet:
python -m dottie_cli token console-snippet
Validate the local token file without printing the token:
python -m dottie_cli token status
Typical capture flow:
- Open
https://app.dottie.no - Use the bookmarklet or console snippet
- Copy the token
- Write it locally:
pbpaste > ~/.dottie-token
Install
Editable install:
python3 -m pip install -e .
Run without installing:
python3 -m dottie_cli --help
Once published, the package can be invoked through uvx with either command name:
uvx --from dottie-cli dottie --help
uvx dottie-cli --help
Commands
Read team members:
dottie team list
dottie team list --include-self --json
Summarize headcount and organization distribution:
dottie team overview
Read equipment assigned to your team:
dottie equipment overview
Read absence for you and your team:
dottie absence overview --from 2026-01-01 --to 2026-12-31
Read conversation history for one employee:
dottie conversations history "Employee Name"
Preview append-only conversation note updates:
dottie conversations sync-notes "Employee Name" --dry-run
Apply the updates after preview:
dottie conversations sync-notes "Employee Name" --apply
Optionally include leader feedback in the same run:
dottie conversations sync-notes "Employee Name" \
--leader-feedback "Takk for at du tok ansvar for overleveringen i april." \
--apply
Write Safety
sync-notes is intentionally append-only for private notes:
- existing
privateNotecontent is preserved - generated content is appended as a new section
- a small provenance marker is included so repeated runs do not duplicate the same note block
- feedback writes are explicit through
--leader-feedback
API Basis
The command layout is based on Dottie's public OpenAPI document:
https://api.dottie.no/swagger/index.htmlhttps://api.dottie.no/swagger/v1/swagger.json
Relevant resources used by this CLI:
EmployeeEquipmentEquipmentLeaseLeaveRequestLeaveIntervalRecurringMeetingRecurringMeetingAnswer
Notes for Agents
This CLI is intended to be straightforward to drive from another agent or automation layer:
- prefer
--jsonwhen another tool will consume the result - use
token statusas a preflight - treat
conversations sync-noteswithout--applyas the planning step - only escalate to
--applyonce the preview matches the intended note append
No user or tenant identifiers are hard-coded in the source tree. The current employee is resolved from app_uid in the live token.
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
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 dottie_cli-0.1.0.tar.gz.
File metadata
- Download URL: dottie_cli-0.1.0.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e341a99dc3ce264e359a3603aebb77f8d58e8a477da53de40ba167fd34fe835f
|
|
| MD5 |
7b595a4f6cd173a1a7c91e9be5582501
|
|
| BLAKE2b-256 |
583256b2faf20206c12d8cafb4a10d05877dd11a16c7ad93d18a69c448f3ebbf
|
File details
Details for the file dottie_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dottie_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad801f13a31a4999c07f6cfdf1df2dae4cd9d191285566789d645b19d87d29d7
|
|
| MD5 |
640488db4ddd85296d430da0bbcc34da
|
|
| BLAKE2b-256 |
15f8bcd73b787cea35ef2b209ae1524e2594dc6a75593ce5f8d1909ac2cfbea7
|