Skip to main content

CLI Reference

The Deeployd CLI provides command-line access to all platform features for automation, scripting, and quick operations.

Installation

# npm
npm install -g @deeployd/cli

# yarn
yarn global add @deeployd/cli

# homebrew
brew install deeployd/tap/deeployd

Authentication

Login

# Interactive login (opens browser)
deeployd login

# With API key
deeployd login --api-key sk_live_xxxxx

# With environment variable
export DEEPLOYD_API_KEY=sk_live_xxxxx
deeployd agents list

Logout

deeployd logout

Check Status

deeployd whoami
# Output:
# Logged in as: user@example.com
# Organization: My Company
# API Key: sk_live_xxxx...xxxx

Agents

List Agents

deeployd agents list

# With filters
deeployd agents list --status active --limit 10

# JSON output
deeployd agents list --json

Get Agent

deeployd agents get agent-123

# JSON output
deeployd agents get agent-123 --json

Create Agent

# Interactive
deeployd agents create

# With flags
deeployd agents create \
--name "Customer Support" \
--model claude-sonnet-4-20250514 \
--system-prompt "You are a helpful customer support agent." \
--tools memory,http_request

# From file
deeployd agents create --from agent-config.yaml

Update Agent

deeployd agents update agent-123 \
--name "Updated Name" \
--system-prompt "Updated prompt..."

# From file
deeployd agents update agent-123 --from agent-config.yaml

Delete Agent

deeployd agents delete agent-123

# Force without confirmation
deeployd agents delete agent-123 --force

Chat with Agent

# Interactive chat
deeployd agents chat agent-123

# Single message
deeployd agents chat agent-123 --message "Hello, how are you?"

# With streaming
deeployd agents chat agent-123 --message "Write a story" --stream

Conversations

List Conversations

deeployd conversations list --agent-id agent-123

# JSON output
deeployd conversations list --json

Get Conversation

deeployd conversations get conv-123

# Show messages
deeployd conversations get conv-123 --messages

Create Conversation

deeployd conversations create --agent-id agent-123

Delete Conversation

deeployd conversations delete conv-123

Avatars

List Avatars

deeployd avatars list

Get Avatar

deeployd avatars get avatar-123

Create Avatar

# Interactive
deeployd avatars create

# With options
deeployd avatars create \
--name "Support Avatar" \
--voice-id voice-123 \
--agent-id agent-456

Update Avatar

deeployd avatars update avatar-123 \
--name "Updated Avatar" \
--voice-id voice-456

Delete Avatar

deeployd avatars delete avatar-123

# Force without confirmation
deeployd avatars delete avatar-123 --force

Streaming

Create Session

deeployd streaming create \
--agent-id agent-123 \
--mode video

# With avatar
deeployd streaming create \
--agent-id agent-123 \
--avatar-id avatar-456 \
--mode voice

Get Session

deeployd streaming get session-123

List Sessions

deeployd streaming list

# Filter by status
deeployd streaming list --status active

End Session

deeployd streaming end session-123

Voice

List Voices

deeployd voice list

Get Voice

deeployd voice get voice-123

Create Custom Voice

deeployd voice create \
--name "Custom Voice" \
--provider elevenlabs \
--config '{"voice_id": "abc123"}'

Preview Voice

deeployd voice preview voice-123 --text "Hello, this is a test."

Delete Voice

deeployd voice delete voice-123 --force

Tasks

List Tasks

deeployd tasks list

# Filter by agent
deeployd tasks list --agent-id agent-123

# Filter by status
deeployd tasks list --status active

Get Task

deeployd tasks get task-123

Create Task

deeployd tasks create \
--agent-id agent-123 \
--name "Daily Report" \
--type manual \
--input '{"report_type": "daily"}'

Run Task

# Run immediately
deeployd tasks run task-123

# With input
deeployd tasks run task-123 --input '{"param": "value"}'

# Wait for completion
deeployd tasks run task-123 --wait

# Stream output
deeployd tasks run task-123 --stream

View Execution

deeployd tasks execution exec-123

Schedules

List Schedules

deeployd schedules list

# Filter by task
deeployd schedules list --task-id task-123

Create Schedule

deeployd schedules create \
--task-id task-123 \
--name "Daily at 9 AM" \
--cron "0 9 * * *" \
--timezone "Europe/Paris"

Update Schedule

deeployd schedules update schedule-123 \
--cron "0 10 * * *" \
--enabled true

Pause/Resume Schedule

# Pause
deeployd schedules pause schedule-123

# Resume
deeployd schedules resume schedule-123

Delete Schedule

deeployd schedules delete schedule-123

Triggers

List Triggers

deeployd triggers list

# Filter by type
deeployd triggers list --type webhook

Get Trigger

deeployd triggers get trigger-123

Enable/Disable Trigger

# Enable
deeployd triggers enable trigger-123

# Disable
deeployd triggers disable trigger-123

Test Trigger

deeployd triggers test trigger-123

# With payload
deeployd triggers test trigger-123 --payload '{"event": "test"}'

Delete Trigger

deeployd triggers delete trigger-123

# Force without confirmation
deeployd triggers delete trigger-123 --force

Tools

List Tools

deeployd tools list

# Filter by type
deeployd tools list --type custom

Get Tool

deeployd tools get tool-123

List Built-in Tools

deeployd tools builtins

Test Tool

deeployd tools test tool-123

# With input
deeployd tools test tool-123 --input '{"query": "test"}'

Delete Tool

deeployd tools delete tool-123

# Force without confirmation
deeployd tools delete tool-123 --force

Teams

List Teams

deeployd teams list

Get Team

deeployd teams get team-123

Create Team

deeployd teams create --name "Engineering"

Delete Team

deeployd teams delete team-123

# Force without confirmation
deeployd teams delete team-123 --force

Add Member

deeployd teams add-member team-123 \
--user user-456 \
--role member

Remove Member

deeployd teams remove-member team-123 --user user-456

Update Member Role

deeployd teams update-role team-123 \
--user user-456 \
--role admin

Workflows

List Workflows

deeployd workflows list

Get Workflow

deeployd workflows get workflow-123

Run Workflow

# Run workflow
deeployd workflows run workflow-123

# With input
deeployd workflows run workflow-123 --input '{"data": "value"}'

# Wait for completion
deeployd workflows run workflow-123 --wait

Pause/Resume Workflow

# Pause workflow
deeployd workflows pause workflow-123

# Activate workflow
deeployd workflows activate workflow-123

List Workflow Runs

deeployd workflows runs workflow-123

Get Run Status

deeployd workflows run-status workflow-123 run-456

Cancel Workflow Run

deeployd workflows cancel workflow-123 run-456

Delete Workflow

deeployd workflows delete workflow-123

# Force without confirmation
deeployd workflows delete workflow-123 --force

Templates

List Templates

deeployd templates list

# Filter by category
deeployd templates list --category support

Get Template

deeployd templates get template-123

List Categories

deeployd templates categories

Deploy Template

# Deploy template as new agent
deeployd templates deploy template-123 --name "My Agent"

# With custom configuration
deeployd templates deploy template-123 \
--name "Custom Agent" \
--config '{"key": "value"}'

Delete Template

deeployd templates delete template-123

# Force without confirmation
deeployd templates delete template-123 --force

API Keys

List API Keys

deeployd api-keys list

Create API Key

# Interactive
deeployd api-keys create

# With options
deeployd api-keys create \
--name "Production API Key" \
--scopes "agents:read,agents:write" \
--expires-at "2025-12-31"

Delete API Key

deeployd api-keys delete key-123

# Force without confirmation
deeployd api-keys delete key-123 --force

Rotate API Key

deeployd api-keys rotate key-123

Store

Browse

deeployd store browse

# With filters
deeployd store browse \
--category support \
--pricing free \
--sort popular

Get Listing

deeployd store get listing-123

Install

deeployd store install listing-123

My Installations

deeployd store installs

Uninstall

deeployd store uninstall install-123

Configuration

View Config

deeployd config list

Set Config

# Set default output format
deeployd config set output json

# Set default organization
deeployd config set organization org-123

Config File

Location: ~/.deeployd/config.yaml

api_key: sk_live_xxxxx
base_url: https://api.deeployd.com/v1
output: table
organization: org-123

Output Formats

Table (default)

deeployd agents list

# Output:
# ID NAME STATUS CREATED
# agent-123 Customer Support active 2024-01-15
# agent-456 Sales Agent active 2024-01-10

JSON

deeployd agents list --json

# Output:
# [
# {"id": "agent-123", "name": "Customer Support", ...},
# {"id": "agent-456", "name": "Sales Agent", ...}
# ]

YAML

deeployd agents list --yaml

Quiet (IDs only)

deeployd agents list --quiet

# Output:
# agent-123
# agent-456

Scripting

Exit Codes

CodeMeaning
0Success
1General error
2Invalid arguments
3Authentication error
4Not found
5Rate limited

Piping

# Get agent ID and use it
AGENT_ID=$(deeployd agents create --name "Test" --quiet)
deeployd conversations create --agent-id $AGENT_ID

# Process JSON output
deeployd agents list --json | jq '.[0].id'

Batch Operations

# Delete all inactive agents
deeployd agents list --status inactive --quiet | xargs -I {} deeployd agents delete {} --force

# Export all agent configs
for id in $(deeployd agents list --quiet); do
deeployd agents get $id --json > "agents/$id.json"
done

Environment Variables

VariableDescription
DEEPLOYD_API_KEYAPI key for authentication
DEEPLOYD_BASE_URLAPI base URL
DEEPLOYD_OUTPUTDefault output format
DEEPLOYD_NO_COLORDisable colored output
DEEPLOYD_DEBUGEnable debug logging

Global Flags

FlagDescription
--api-keyOverride API key
--jsonOutput as JSON
--yamlOutput as YAML
--quietOnly output IDs
--no-colorDisable colors
--debugEnable debug mode
--helpShow help
--versionShow version

Interactive Mode

Start an interactive shell:

deeployd shell

# In shell:
deeployd> agents list
deeployd> agents chat agent-123
deeployd> exit

Aliases

Built-in command aliases:

AliasCommand
lslist
rmdelete
getget
newcreate
# These are equivalent:
deeployd agents list
deeployd agents ls

Auto-Completion

Bash

deeployd completion bash >> ~/.bashrc
source ~/.bashrc

Zsh

deeployd completion zsh >> ~/.zshrc
source ~/.zshrc

Fish

deeployd completion fish > ~/.config/fish/completions/deeployd.fish

PowerShell

deeployd completion powershell >> $PROFILE

Examples

Create and Chat with Agent

# Create agent
AGENT=$(deeployd agents create \
--name "Helper" \
--model claude-sonnet-4-20250514 \
--system-prompt "You are a helpful assistant." \
--quiet)

# Start conversation
CONV=$(deeployd conversations create --agent-id $AGENT --quiet)

# Chat
deeployd agents chat $AGENT --message "What can you help me with?"

Scheduled Task Setup

# Create task
TASK=$(deeployd tasks create \
--agent-id $AGENT \
--name "Daily Summary" \
--type manual \
--quiet)

# Create schedule
deeployd schedules create \
--task-id $TASK \
--name "Every morning" \
--cron "0 9 * * *" \
--timezone "America/New_York"

Webhook Integration

# Create trigger
WEBHOOK=$(deeployd triggers create \
--task-id $TASK \
--name "GitHub Push" \
--type webhook \
--secret "github-secret" \
--json | jq -r '.webhookUrl')

echo "Add this URL to GitHub: $WEBHOOK"

Export/Import Agents

# Export
deeployd agents get agent-123 --json > backup.json

# Import
deeployd agents create --from backup.json

Troubleshooting

Debug Mode

deeployd --debug agents list

Check Connection

deeployd ping
# Output: Connected to api.deeployd.com (latency: 45ms)

Reset Config

deeployd config reset

Clear Cache

deeployd cache clear

Need help? Run deeployd help [command] for detailed command information.