Skip to main content

Dailybot CLI - The command-line bridge between humans and agents. Progress reports, observability, and workflow automation for modern teams across Slack, Google Chat, Discord, MS Teams, and more.

Project description

Dailybot CLI

The command-line bridge between humans and agents. Dailybot connects your team — whether they work in Slack, Google Chat, Discord, Microsoft Teams, or the web — with AI agents and automated workflows. The CLI brings that power to your terminal: progress reports, observability, health checks, messaging, and workflow automation for modern teams.

Installation

pip install dailybot-cli

Or via the install script:

curl -sSL https://cli.dailybot.com/install.sh | bash

Requires Python 3.9+.

For humans

Authenticate once with your Dailybot email, then submit updates and check pending check-ins right from your terminal.

# Log in (interactive, email OTP)
dailybot login

# See what check-ins are waiting for you
dailybot status

# Submit a free-text update
dailybot update "Finished the auth module, starting on tests."

# Or use structured fields
dailybot update --done "Auth module" --doing "Tests" --blocked "None"

Run dailybot with no arguments to enter interactive mode — if you're not logged in yet, it will walk you through authentication first, then let you submit updates step by step.

For agents

Any software agent — AI coding assistants, CI jobs, deploy scripts, bots — can report activity through the CLI. This lets teams get visibility into what automated processes are doing, alongside human updates. Dailybot interconnects agents and humans with work analysis, progress reports, observability, and automations.

Authentication

Authenticate with any of these methods (checked in this order):

# Option 1: Environment variable (CI pipelines, one-off scripts)
export DAILYBOT_API_KEY=your-key

# Option 2: Store the key on disk (recommended for dev machines)
dailybot config key=your-key

# Option 3: Use your login session (no API key needed)
dailybot login

Non-interactive login

AI agents (e.g. Claude Code) and scripts can log in without interactive prompts using a two-step flow:

# Step 1: request a verification code — ask the user to check their email
dailybot login --email=user@example.com

# Step 2: verify the code the user received by email
dailybot login --email=user@example.com --code=123456

# Multi-org accounts: step 2 prints available organizations with UUIDs.
# Re-run with --org to select one:
dailybot login --email=user@example.com --code=123456 --org=abc-123

# Verify credentials are valid (checks login session, then API key)
dailybot status --auth

Agent commands

# Report a deployment
dailybot agent update "Deployed v2.1 to staging"

# Name the agent so the team knows who's reporting
dailybot agent update "Built feature X" --name "Claude Code"

# Include structured data (each field is an array; items become bullet points in Dailybot)
dailybot agent update "Sprint progress" --name "Claude Code" --json-data '{
  "completed": ["JWT authentication endpoint", "Token refresh logic", "Unit tests for auth flow"],
  "in_progress": ["Integration tests"],
  "blockers": []
}'

# Attach metadata (repo, branch, PR, or any key-value context)
dailybot agent update "Fixed login bug" --name "Claude Code" --metadata '{"repo": "api-services", "branch": "fix/login", "pr": "#142"}'

# Mark a report as a milestone
dailybot agent update "Shipped v3.0" --milestone --name "Claude Code"

# Add co-authors (repeatable flag or comma-separated)
dailybot agent update "Paired on auth refactor" --co-authors alice@co.com --co-authors bob@co.com
dailybot agent update "Paired on auth refactor" --co-authors "alice@co.com,bob@co.com"

# Combine milestone and co-authors
dailybot agent update "Launched new dashboard" --milestone --co-authors alice@co.com --name "Claude Code"

# Report agent health
dailybot agent health --ok --message "All systems go" --name "Claude Code"
dailybot agent health --fail --message "DB unreachable" --name "CI Bot"

# Check agent health status
dailybot agent health --status --name "Claude Code"

# Register a webhook to receive messages
dailybot agent webhook register --url https://my-server.com/hook --secret my-token --name "Claude Code"

# Unregister a webhook
dailybot agent webhook unregister --name "Claude Code"

# Send a message to an agent
dailybot agent message send --to "Claude Code" --content "Review PR #42"
dailybot agent message send --to "Claude Code" --content "Do X" --type command

# List messages for an agent
dailybot agent message list --name "Claude Code"
dailybot agent message list --name "Claude Code" --pending

Commands

Command Description
dailybot login Authenticate with email OTP
dailybot logout Log out and revoke token
dailybot status Show pending check-ins for today
dailybot update Submit a check-in update (free-text or structured)
dailybot config Get, set, or remove a stored setting (e.g. API key)
dailybot agent update Submit an agent activity report (API key or login)
dailybot agent health Report or query agent health status (API key or login)
dailybot agent webhook register Register a webhook for the agent (API key or login)
dailybot agent webhook unregister Unregister the agent's webhook (API key or login)
dailybot agent message send Send a message to an agent (API key or login)
dailybot agent message list List messages for an agent (API key or login)

dailybot agent update

Usage: dailybot agent update [OPTIONS] CONTENT

  Submit an agent activity report.

Options:
  -n, --name TEXT        Agent worker name.
  -j, --json-data TEXT   Structured JSON data to include.
  -d, --metadata TEXT    JSON metadata (e.g. repo, branch, PR).
  -m, --milestone        Mark as a milestone accomplishment.
  -c, --co-authors TEXT  Co-author email or UUID (repeatable, or comma-separated).
  --help                 Show this message and exit.

Structured JSON data format

The --json-data option accepts a JSON object whose values are arrays of strings. Each array item becomes a bullet-pointed update inside Dailybot. Use any field names that match your workflow:

{
  "completed": ["JWT auth endpoint", "Token refresh logic"],
  "in_progress": ["Integration tests", "API docs"],
  "blockers": ["Waiting on staging DB credentials"]
}

Run dailybot --help or dailybot <command> --help for full details on any command.

Development

pip install -e ".[dev]"
pytest

License

MIT

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

dailybot_cli-0.3.5.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

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

dailybot_cli-0.3.5-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file dailybot_cli-0.3.5.tar.gz.

File metadata

  • Download URL: dailybot_cli-0.3.5.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dailybot_cli-0.3.5.tar.gz
Algorithm Hash digest
SHA256 a312c3234d814a0908b2e9292925c3a6866aaf72bfd2437b260a4c3ef999daa7
MD5 3c1d0627ea9fe0db7d2a2a2581bfd7df
BLAKE2b-256 f1bab48c0d517b40d3c16e9d5c2cac5e689f3823f50f1c63c091a5cc951d371d

See more details on using hashes here.

File details

Details for the file dailybot_cli-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: dailybot_cli-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dailybot_cli-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b093871983ae7b2532e61ca04c7812d201b59359a3dee7ca9d0c0a75643b0bf4
MD5 2b9ba01893a37081bcc48d739782febe
BLAKE2b-256 17839510f903e91fb43cffdfccff85d5770f257ada3fcc2bcdc2a5722b6d7952

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