Skip to main content

Global Flags

These flags work with any command:
FlagDescription
--jsonForce JSON output (auto-enabled when piped)
--verbosePrint HTTP method, URL, status, and timing to stderr
--workspace <id>Override default workspace for this command
--helpShow help for any command
--versionShow CLI version

Tasks

# List tasks (with optional filters)
trilo tasks list [--project-id <id>] [--status <status>] [--assignee <id>] [--limit <n>]

# Get a specific task
trilo tasks get --id <task-id>

# Create a task
trilo tasks create --title "Bug: login fails on Safari" --project-id <id> \
  [--description "..."] [--status todo] [--priority high] [--assignee <member-id>]

# Update a task
trilo tasks update --id <task-id> [--title "..."] [--status done] [--priority low]

Pages

# List pages
trilo pages list [--project-id <id>]

# Get a specific page
trilo pages get --id <page-id>

# Create a page
trilo pages create --title "Sprint Retro Notes" --project-id <id>

Projects

# List all projects
trilo projects list

# Get a specific project
trilo projects get --id <project-id>

Events

# List events (with optional date range)
trilo events list [--start 2025-01-01T00:00:00Z] [--end 2025-01-31T23:59:59Z]

# Create an event
trilo events create --title "Team standup" \
  --start 2025-01-15T09:00:00Z --end 2025-01-15T09:30:00Z [--all-day]

Members

# List workspace members
trilo members list

Messages

# List messages in a project channel
trilo messages list --project-id <id> [--limit 20]

# Send a message to a project channel
trilo messages send --content "Deploy is live!" \
  --project-id <id> --sender-id <your-member-id>

# Send a direct message
trilo messages send-direct --content "Quick question..." \
  --conversation-id <id> --sender-id <your-member-id>
--sender-id is your workspace member ID. You can find it with trilo members list.

Workflows

# Run a workflow
trilo workflows run --page-id <workflow-page-id>

# Check workflow run status
trilo workflows status --page-id <workflow-page-id>

# Continue a paused workflow (approve a review gate)
trilo workflows continue --page-id <id> --run-id <run-id>

Shell Completions

Tab completion for all commands and flags:
# Auto-detect your shell and install
trilo completions install

# Or output the script to stdout
trilo completions zsh
trilo completions bash
trilo completions fish
After installing, restart your shell or run source ~/.zshrc (for zsh).

Scripting Examples

The CLI outputs JSON when piped, making it composable with jq and other tools:
# Count tasks in a project
trilo tasks list --project-id <id> --json | jq '.data | length'

# Get titles of blocked tasks
trilo tasks list --status blocked --json | jq -r '.data[].title'

# Export projects as CSV
trilo projects list --json | jq -r '.data[] | [.name, .id] | @csv'

# Create a task and capture its ID
TASK_ID=$(trilo tasks create --title "From script" --project-id <id> \
  --json | jq -r '.data.id')
echo "Created task: $TASK_ID"