crm-bot

Capture trade-show leads from badges, voice notes, and text into Odoo CRM.

2|Updated Jun 26, 2026
One-click install
npx skills add https://github.com/otenycom/talents --skill crm-bot-otenycom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: crm-bot
Source: https://github.com/otenycom/talents/tree/main/skills/crm-bot
Command: npx skills add https://github.com/otenycom/talents --skill crm-bot-otenycom

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires PyYAML, and includes scripts (resource) and references (resource) components.

What problem does it solve? Trade-show teams lose leads because badge photos, voice notes, and quick chat messages never make it into a CRM before the visitor walks away. This Skill turns those raw captures into structured Odoo CRM contacts and leads in the same turn, then keeps meetings, briefings, and follow-ups on the same Odoo instance. ## Core Features & Use Cases - Multi-channel lead capture: Convert a badge photo (via document parsing), a voice recording (via transcription), or a plain text note into a deduplicated contact and lead in Odoo, with photos attached as the contact's profile picture. - Lead management scripts: List and count leads by event or name, inspect what is on a card (notes, photo, audio flags), and delete leads after confirmation — all through deterministic Python scripts over Odoo's JSON-2 API. - Guided first-run setup: Install Odoo Community and the CRM module on a fresh box, pin CRM as the home app, secure the admin password through a link (never in chat), and publish the site online. - Use Case: At an Odoo Experience booth, a staff member photographs a visitor's badge in a Telegram group titled "OXP Leads"; the Skill parses the badge, upserts the contact and lead, enriches missing fields via web search, and confirms the live lead card link while the visitor is still at the stand. ## Quick Start Ask the assistant to set up CRM and then send a badge photo or voice note naming a person to capture them as a lead in Odoo.

Frequently Asked Questions about crm-bot

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture a trade-show lead into Odoo from Telegram?▼

Send a badge photo, voice note, or short text naming the person in a DM or a group whose title ends in " Leads". The Skill parses the input, upserts the contact and lead via upsert_lead.py, and confirms the lead_id the script printed.

How do I list or count leads by event in Odoo CRM?▼

Run list_leads.py with optional --event or --name filters. It returns a count plus rows carrying note snippets and has_photo, has_audio, and avatar flags, so questions about a card's contents are answered without extra tool calls.

Does this work with an existing Odoo installation?▼

Yes. On a warm box where Odoo is already installed, first-run only installs the CRM module and pins CRM as the home app instead of reinstalling the engine. A cold box gets the full Odoo Community install plus hosting.

How are duplicate leads from multiple staff members handled?▼

Dedupe matches partners by email first, then phone, then name plus company. Two staff posting the same visitor at the same event produce one partner and one lead rather than duplicates.

Why does lead capture fail when Odoo is down?▼

When Odoo is unreachable, upsert_lead.py prints lead_id: null with an error instead of inventing an id. The Skill reports that error and stops; the stack must be restored with ensure_odoo.sh before capturing again.

Can I enter my Odoo admin password directly in chat?▼

No. Passwords and API keys go through a secure intake link (connect_account), never a chat paste. A prewarmed box's placeholder admin file is treated as missing and triggers the same secure link flow.