Skip to content

Case 08 · Products · CRM · Operations · Automation

A business connected end to end, starting where context gets lost.

ZoDesk came from watching an opportunity lose context as it moves from marketing to sales and from sales to operations. It is the platform I created for car dealerships: it receives leads, assigns them, generates contracts, tracks collections and cash, and measures the journey. It has a variant for workshops.

Project
ZoDesk, a full-funnel ecosystem
Context
My own product · dealerships and workshops
By Antonio Duque
Reviewed against the code and documentation on

01

Context and need

At a dealership, the lead arrives on one channel, the conversation continues on another, the quote lives in a document and the payment in a spreadsheet. Every jump loses information and ownership.

Generic tools covered separate parts (CRM, spreadsheets, automations), but not the whole journey of a car business.

02

My responsibility

  • I am the product's creator: I define the problem, processes, modules, rules and priorities, and direct the build with AI agents, reviewing every delivery.
  • First client: the dealership where I work, in Panama. Workshop variant: its first client is a workshop in Portugal.

03

Strategy and decisions

  1. Design the whole journey, not an isolated automation.
  2. Integrate what the business already uses (website, WhatsApp, Google Docs and Drive) and retire dependencies once ZoDesk covers them, as happened with an external form automation.
  3. Be clear about what is ZoDesk core, what is an integration and what is another project.
  4. Role-based permissions and an audit log: everyone sees their own work and every action leaves a trail.

04

What I built

  • A lead inbox with source, rule-based assignment, alerts and reassignment, tasks and automations.
  • Sales, purchase, consignment and quote contracts generated with Google Docs, exported to PDF and filed in Drive; reading of ID and vehicle documents with AI vision.
  • A credit module with cases, documents and banks.
  • Issuing a sale unpublishes the car from the website via API, with a watchdog that checks it.
  • Inventory, purchases, paperwork, expenses, petty cash and global cash, team and permissions, audit log and a per-person API key.
  • Chat, lead-journey and advertising indicators, described in the dashboards case.
ZoDesk home with demo data from a fictitious dealership (interface in Spanish).

ZoDesk home with demo data from a fictitious dealership (interface in Spanish).

ZoDesk home screen with demo data: balances per account, cash and receivables.

Real screenshots

Screens from the real system. ZoDesk ones come from its demo mode, with an invented dealership; those marked “Live” are public pages captured on November 14, 2026.

ZoChat flows: what the assistant answers on each channel and who takes over the conversation.

ZoChat flows: what the assistant answers on each channel and who takes over the conversation.

ZoChat flows screen with WhatsApp, Instagram and Facebook Messenger, each with its menu and connection status.
Automations: when something happens in the system, the task is created for the right person.

Automations: when something happens in the system, the task is created for the right person.

ZoDesk automations screen: rules that create tasks when a sale is issued or paperwork changes status.

05

How it works

  • Customer
  • System
  • Team
  1. Customer

    Acquisition

    The website and campaigns (other projects) send leads to the ZoDesk inbox with their source.

  2. System

    Qualification

    Financing chat and ZoChat for WhatsApp, built and evolving.

  3. System

    CRM and assignment

    Rule-based assignment, alerts and follow-up with tasks.

  4. Team

    Documents

    Quotes, contracts, letters and credit cases.

  5. Team

    Sale

    Issuing the sale, unpublishing the car, collections and receivables.

  6. Team

    Operations

    Purchases, paperwork, expenses and cash.

  7. System

    Measurement

    Funnels, journeys and lead-to-sale matching to learn and adjust.

Demo

The funnel, piece by piece

What belongs to ZoDesk, what is integrated and what is another project

Diagram

  1. Acquisition

    • Dealership website and campaignsOther projectIn production
    • Forms into the inbox (signed notice)IntegrationIn production
    • Inventory publisher (Freedom)Other projectIn production
  2. Qualification

    • Financing chatZoDesk coreIn production
    • ZoChat for WhatsAppZoDesk coreIn progress
  3. CRM, assignment and follow-up

    • Inbox, assignment, alerts and tasksZoDesk coreIn production
    • Zoho CRM (legacy lookup)IntegrationConnected
  4. Quotes and documents

    • Contracts with Google Docs and DriveZoDesk coreIn production
    • Credit casesZoDesk coreIn production
  5. Sales and collections

    • Sale issuance and car unpublishingZoDesk coreIn production
    • Email collections campaignZoDesk coreBuilt and tested
  6. Operations

    • Purchases, paperwork, expenses and cashZoDesk coreIn production
    • Workshop variantZoDesk coreBuilt
  7. Measurement and learning

    • Funnels and lead journeyZoDesk coreBuilt and tested
    • Conversions to Google (via the website)IntegrationConnected
    • Conversions to MetaIntegrationPending

ZoDesk

Workshop variant

The workshop version shares ZoDesk's architecture. Its first client is a workshop in Portugal, with a documented deployment and real supplier, staff and equipment data loaded. I don't claim every module is used daily.

  • Work orders

    The yard as an eight-stage journey, with history, a drag-and-drop board and a “my jobs” view with a timer.

  • Workstations

    Configurable by order and role; they measure how long the car stayed and how long it was worked on.

  • Materials

    Supply usage linked to each order, physical counts, minimum-stock alerts and paint use per part.

  • Quotes

    Generated from the marked parts, with versions, a public link and WhatsApp sending; once approved they set the order total.

  • Payments

    Per order, with payment messages and reminders by WhatsApp and email.

ZoDesk for workshops with demo data (interface in Spanish).

ZoDesk for workshops with demo data (interface in Spanish).

ZoDesk for workshops home screen with demo data: quick actions and today's reminders.

06

Tools and what they do

Python, FastAPI and Jinja2
Platform core and its roughly 35 modules.
SQLite and Postgres (Supabase)
Main database and a mirror for queries.
Google Docs and Drive
Contract and document generation and filing.
WhatsApp Cloud API
ZoChat channel, in development.
Resend and Web Push
Emails and team notifications.

Available evidence

  • An internal, code-based platform audit (October 2026) with findings and follow-up.
  • Website leads plan: forms have flowed into ZoDesk since October 21, 2026, replacing an external automation.
  • Demo screenshots with invented data.

07

Current status

  • Inbox, CRM and assignment

    In use with the first client.

    In production
  • Contracts and documents

    Issuing contracts since September 2026.

    In production
  • Credit, sales, operations and cash

    In use with the first client; spreadsheets remain a fallback for collections.

    In production
  • Financing chat served by ZoDesk

    For demos and sales only; real customers use the website's version.

    In production
  • ZoChat (WhatsApp)

    Built; the assistant is off in production and the channel still runs on another tool.

    In progress
  • Conversions to Meta from ZoDesk

    Built and off pending configuration.

    Pending
  • Invoicing and online payments

    Not part of the product.

    Proposal

“In production” is only used when the project’s documentation confirms it. “Built and tested” means automated tests exist, not that it is in use. “Proposal” is a documented idea, not something built.

Next steps

  • Turn on ZoChat with the qualification assistant in a controlled pilot.
  • Make the financing chat a module configurable per dealership.
  • Bring per-vehicle ad budgeting and cost per lead into the platform.

08

Lessons learned

The most valuable part wasn't automating a task, but making context travel with the opportunity.
Replacing an external tool means running alongside it for a while and comparing results.
Being the first user of my own product forces me to prioritize what the team uses every day.

Related services

Connected cases