vodoo

Query and manage Odoo ERP data (helpdesk tickets, projects, tasks, CRM leads, knowledge articles) via the vodoo CLI

7 stars

Best use case

vodoo is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Query and manage Odoo ERP data (helpdesk tickets, projects, tasks, CRM leads, knowledge articles) via the vodoo CLI

Teams using vodoo should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/vodoo/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/julian-r/vodoo/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/vodoo/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How vodoo Compares

Feature / AgentvodooStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Query and manage Odoo ERP data (helpdesk tickets, projects, tasks, CRM leads, knowledge articles) via the vodoo CLI

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Vodoo - Odoo CLI Tool

Use `uvx vodoo` to interact with Odoo via XML-RPC. No installation required - uvx runs it directly.

## Important: Always Use --no-color

**ALWAYS add `--no-color` to every vodoo command.** This disables ANSI escape codes and significantly reduces token usage.

```bash
# Correct
uvx vodoo --no-color helpdesk list

# Wrong (wastes tokens on color codes)
uvx vodoo helpdesk list
```

## Commands Overview

| Module | Model | Description |
|--------|-------|-------------|
| `helpdesk` | helpdesk.ticket | Support tickets |
| `project-task` | project.task | Project tasks |
| `project` | project.project | Projects |
| `crm` | crm.lead | Leads & opportunities |
| `knowledge` | knowledge.article | Knowledge articles |
| `model` | any | Generic CRUD for any model |
| `security` | - | User & group management |

## Helpdesk Tickets

```bash
# List tickets
uvx vodoo helpdesk list
uvx vodoo helpdesk list --stage "New"
uvx vodoo helpdesk list --limit 5

# Show ticket details
uvx vodoo helpdesk show 123

# Add comment (visible to customer)
uvx vodoo helpdesk comment 123 "Your issue has been resolved"

# Add internal note (not visible to customer)
uvx vodoo helpdesk note 123 "Escalated to dev team"

# Manage tags
uvx vodoo helpdesk tags                    # List available tags
uvx vodoo helpdesk tag 123 "urgent"        # Add tag to ticket

# View history and attachments
uvx vodoo helpdesk chatter 123             # Message history
uvx vodoo helpdesk attachments 123         # List attachments
uvx vodoo helpdesk download 456            # Download attachment by ID
uvx vodoo helpdesk download-all 123        # Download all attachments

# Update fields
uvx vodoo helpdesk fields                  # List available fields
uvx vodoo helpdesk fields 123              # Show field values for ticket
uvx vodoo helpdesk set 123 priority=3      # Set field value

# Attachments and URL
uvx vodoo helpdesk attach 123 report.pdf   # Attach file
uvx vodoo helpdesk url 123                 # Get web URL
```

## Project Tasks

```bash
# List tasks
uvx vodoo project-task list
uvx vodoo project-task list --project "Website Redesign"
uvx vodoo project-task list --stage "In Progress"

# Create task
uvx vodoo project-task create "Fix login bug" --project "Website"

# Show task details
uvx vodoo project-task show 456

# Comments and notes
uvx vodoo project-task comment 456 "Started working on this"
uvx vodoo project-task note 456 "Need clarification from client"

# Tags
uvx vodoo project-task tags
uvx vodoo project-task tag 456 "backend"
uvx vodoo project-task tag-create "new-tag"
uvx vodoo project-task tag-delete "old-tag"

# Attachments and history
uvx vodoo project-task chatter 456
uvx vodoo project-task attachments 456
uvx vodoo project-task attach 456 spec.pdf

# Fields and URL
uvx vodoo project-task fields
uvx vodoo project-task set 456 priority=1
uvx vodoo project-task url 456
```

## Projects

```bash
# List projects
uvx vodoo project list

# Show project details
uvx vodoo project show 789

# Comments and notes
uvx vodoo project comment 789 "Project kickoff complete"
uvx vodoo project note 789 "Budget approved"

# History and attachments
uvx vodoo project chatter 789
uvx vodoo project attachments 789
uvx vodoo project attach 789 contract.pdf

# Fields and stages
uvx vodoo project fields
uvx vodoo project set 789 description="Updated description"
uvx vodoo project stages              # List task stages
uvx vodoo project url 789
```

## CRM Leads/Opportunities

```bash
# List leads
uvx vodoo crm list
uvx vodoo crm list --stage "Qualified"

# Show lead details
uvx vodoo crm show 321

# Comments and notes
uvx vodoo crm comment 321 "Follow-up scheduled"
uvx vodoo crm note 321 "Decision maker: John Smith"

# Tags
uvx vodoo crm tags
uvx vodoo crm tag 321 "hot-lead"

# History and attachments
uvx vodoo crm chatter 321
uvx vodoo crm attachments 321
uvx vodoo crm attach 321 proposal.pdf

# Fields and URL
uvx vodoo crm fields
uvx vodoo crm set 321 expected_revenue=50000
uvx vodoo crm url 321
```

## Knowledge Articles

```bash
# List articles
uvx vodoo knowledge list

# Show article
uvx vodoo knowledge show 111

# Comments and notes
uvx vodoo knowledge comment 111 "Updated for v2.0"
uvx vodoo knowledge note 111 "Needs review"

# History and URL
uvx vodoo knowledge chatter 111
uvx vodoo knowledge attachments 111
uvx vodoo knowledge url 111
```

## Generic Model Operations

For any Odoo model not covered by specific commands:

```bash
# Read records
uvx vodoo model read res.partner --domain "[('is_company', '=', True)]" --fields name,email
uvx vodoo model read res.partner --ids 1,2,3

# Create record
uvx vodoo model create res.partner name="ACME Corp" is_company=true

# Update record
uvx vodoo model update res.partner 123 phone="+1234567890"

# Delete record
uvx vodoo model delete res.partner 123

# Call model method
uvx vodoo model call res.partner 123 method_name
```

## Security / User Management

```bash
# Create standard Vodoo security groups
uvx vodoo security create-groups

# Create API service account
uvx vodoo security create-user "api-bot" "api-bot@example.com"

# Assign user to Vodoo API groups
uvx vodoo security assign-bot 456

# Set/reset user password
uvx vodoo security set-password 456 "new-password"
```

## Common Options

Most commands support:
- `--no-color` - **Required for AI usage** (put right after `vodoo`)
- `--limit N` - Limit results
- `--help` - Show command help

## Field Updates

The `set` command supports special operators for numerical fields:
- `field=value` - Set to value
- `field+=10` - Add to current value
- `field-=5` - Subtract from current value
- `field*=2` - Multiply current value
- `field/=2` - Divide current value

## Tips

1. Always use `--no-color` flag (saves tokens by removing ANSI codes)
2. Use `fields` command to discover available fields before updating
3. Stage names are case-sensitive and must match exactly
4. The `model` command can access any Odoo model if you know its technical name

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).