Skip to main content
Assignments are the workflows your team has built in Duvo. The CLI lets you list, inspect, create, and update Assignments, organize them into folders, and manage their Revisions (versioned Setup snapshots).

Listing and inspecting Assignments

duvo agents list                        # list all Assignments
duvo agents get <agent-id>              # get a specific Assignment
Add --json to any command for machine-readable output.

Creating, updating, and deleting Assignments

duvo agents create \
  --name "Invoice Processor" \
  --input "Process incoming invoices…" \
  --config path/to/config.json
# --input is optional (SOP text); --config is optional (full Setup)

duvo agents update <agent-id> \
  --name "New Name" \
  --enable-slack \
  --enable-microsoft-teams \
  --enable-agentic-memory
# --name renames the Assignment
# --enable-slack / --enable-microsoft-teams toggle delivery (--disable-* to turn off)
# --enable-agentic-memory toggles agentic memory (--disable-agentic-memory to turn off)

duvo agents delete <agent-id>           # delete an Assignment (prompts for confirmation)
duvo agents delete <agent-id> --yes     # delete without prompting

Starting Jobs automatically

Assignments can start Jobs on their own — on a schedule, when an external event fires, or when a Case lands on a Queue. These live on their own page: see Scheduling and Triggers for duvo agents schedules, duvo agents triggers, and duvo agents case-triggers.

Organizing with folders

Group Assignments into folders for easier navigation.
duvo agent-folders list                              # list all folders
duvo agent-folders create --name "Finance"           # create a top-level folder
duvo agent-folders create --name "EMEA" \
  --parent <folder-id>                               # create a nested folder
duvo agent-folders update <id> --name "New Name"    # rename a folder
duvo agent-folders update <id> --parent <id>        # move folder under a parent
duvo agent-folders update <id> --move-to-root       # move folder to root level
duvo agent-folders delete <id>                      # delete a folder (prompts for confirmation)
duvo agent-folders delete <id> --yes                # delete without prompting
duvo agent-folders move-agents \
  --agent <id> --agent <id> \
  --folder <folder-id>                              # move Assignments into a folder
duvo agent-folders move-agents \
  --agent <id> \
  --to-root                                         # move Assignment to root level

Revisions

A Revision is a versioned Setup snapshot of an Assignment. Each time you publish changes, a new Revision is created. Most workflows don’t need to manage Revisions directly — Jobs always use the latest Revision automatically. Use these commands when you need to roll back, compare versions, or update a specific Revision in place.
duvo revisions list --agent <agent-id>                  # list all Revisions
duvo revisions get <revision-id> --agent <agent-id>     # get a specific Revision
duvo revisions create \
  --agent <agent-id> \
  --name "v2" \
  --config-file path/to/config.json                     # use `-` to read Setup from stdin
duvo revisions update <revision-id> \
  --config-file path/to/config.json                     # update an existing Revision's Setup

Memory

When an Assignment has agentic memory enabled, it persists notes across Jobs as memory files. Use these read-only commands to see what an Assignment has remembered.
duvo agents memory files <agent-id>             # list the memory files stored for an Assignment
duvo agents memory file-get <agent-id> <path>   # print the contents of one memory file
Toggle agentic memory itself with duvo agents update <agent-id> --enable-agentic-memory / --disable-agentic-memory.

Scripting examples

Create an Assignment from a JSON config

AGENT_ID=$(duvo agents create \
  --name "Invoice Processor" \
  --config-file ./invoice-processor.json \
  --json | jq -r '.agent.id')

echo "Created Assignment: $AGENT_ID"

Roll out a config change across multiple Assignments

for AGENT in agent-1 agent-2 agent-3; do
  duvo revisions create \
    --agent "$AGENT" \
    --name "memory-enabled-$(date +%Y%m%d)" \
    --config-file ./shared-config.json
done
For commands that bind specific Connections or integrations to a Revision, see Advanced commands.