---
title: "Quotes Module"
module_id: "quotes"
version: "1.0.0"
category: "data"
autonomy: "view-required"
generated: true
generated_at: "2026-05-04"
---

# Quotes

> Sales quotes with line items, versioning, customer e-sign via public link, reusable templates, and approval workflow before sending high-value offers.

Ships with **1 agent skill**, an **admin UI**.

## Quick Facts

| Property | Value |
|----------|-------|
| **Module ID** | `quotes` |
| **Version** | 1.0.0 |
| **Category** | data |
| **Autonomy** | view-required |
| **Core** | No |
| **Capabilities** | `data:read`, `data:write` |
| **MCP-exposed skills** | 1 |
| **Owns tables** | — |

## Integrations

**Optional:** `stripe`, `resend`

## Skills

These skills are seeded into `agent_skills` when the module is enabled and exposed via MCP.
External operators (FlowPilot, OpenClaw, Claude Desktop, custom MCP clients) can call them directly.

| Skill | Scope | Description |
|-------|-------|-------------|
| `manage_quote` | internal | Manage sales quotes end-to-end: list pending/sent quotes, create new from a lead or template, add line items, send for approval (if above threshold) and then to the customer with a public e-sign li… |

## Module API Contract

**Actions:** `list`, `get`, `create`, `update`, `add_item`, `send`, `request_approval`, `list_templates`, `use_template`, `convert_to_invoice`

**Input fields:** `action`, `id`, `lead_id`, `deal_id`, `template_id`, `title`, `intro_text`, `terms_text`, `notes`, `currency`, `valid_until`, `description`, `quantity`, `unit_price_cents`, `tax_rate_pct`, `status`

**Output fields:** `success`, `quote_id`, `quote_number`, `public_url`, `message`, `error`, `data`

## Used in Processes

This module participates in the following end-to-end business processes:

- [quote-to-cash](../processes/quote-to-cash.md)

## File Map

| Purpose | Path |
|---------|------|
| Module definition | `src/lib/modules/quotes-module.ts` |
| Hook | `src/hooks/useQuotes.ts` |
| Admin page | `src/pages/admin/QuotesPage.tsx` |

## Contributing

To enhance this module, see [Contributing Guide](../contributing/contributing.md).

Key rules:
- Follow `ModuleDefinition<I, O>` contract pattern
- All schema changes require idempotent migrations
- Skills must be self-describing ([Law 2](../concepts/openclaw-law.md))
- Blocks are interfaces, not pipelines ([Law 3](../concepts/openclaw-law.md))
- New skills must pass the [Agent Contract Integrity](../architecture/agent-contract-integrity.md) checklist (`bun run lint:skills`)

---

*This file is auto-generated by `scripts/generate-module-docs.ts`. Do not edit manually — re-run the script after changing the module definition.*