Skip to content

Quick Start

This guide walks you through your first Vodoo commands after installation and configuration.

1. Test Your Connection

# Read your own user record
vodoo model read res.users --domain='[["login","=","your@email.com"]]' --field name --field login

If this returns your user record, you're connected.

2. Browse Data

# List helpdesk tickets (enterprise)
vodoo helpdesk list

# List project tasks
vodoo project-task list

# List CRM leads
vodoo crm list

# List projects
vodoo project list

# List knowledge articles (enterprise)
vodoo knowledge list

3. Search and Filter

Every list command supports filters:

# Search across text fields
vodoo crm list --search "acme"

# Filter by stage
vodoo helpdesk list --stage "In Progress"

# Combine filters
vodoo project-task list --project "Website Redesign" --stage "In Progress" --limit 20

4. View Details

# Show full detail for a record
vodoo helpdesk show 42
vodoo crm show 15

5. Add Comments and Notes

# Internal note (not visible to customers)
vodoo helpdesk note 42 "Investigated — root cause is a config issue"

# Public comment (visible to customers)
vodoo helpdesk comment 42 "We've identified the issue and are working on a fix"

6. Manage Timers

# Start a timer on a task
vodoo timer start 42

# Check running timers
vodoo timer active

# Stop all timers
vodoo timer stop

7. Work with Attachments

# Upload a file
vodoo helpdesk attach 42 screenshot.png

# List attachments
vodoo helpdesk attachments 42

# Download an attachment by ID
vodoo helpdesk download 789

8. Use as a Python Library

from vodoo import OdooClient, OdooConfig
config = OdooConfig(
    url="https://my.odoo.com",
    database="mydb",
    username="bot@example.com",
    password="api-key",
)
client = OdooClient(config)
# List open opportunities
leads = client.crm.list(
    domain=[["type", "=", "opportunity"]],
    limit=10,
)
for lead in leads:
    print(f"{lead['id']}: {lead['name']}")
# Add a note
client.crm.note(42, "Synced from external system")

Next Steps