Tool Bundle Format
- Package as a
.zipfile containing your entry point HTML file at the root - Allowed file types: .html, .css, .js, .svg, .png, .jpg, .woff2, .json
- Max compressed size: 10 MB
- Max decompressed size: 50 MB
- Max file count: 200
- No path traversal (../) in filenames
manifest.json
Section titled “manifest.json”Every tool bundle must include a manifest.json at the root. The manifest declares
how the tool integrates with Vera.
Example:
{ "name": "Ziptrak Retail Estimator", "shortName": "Ziptrak", "type": "quoting_extension", "version": "2.0.0", "description": "Calculate supply and install costs for Ziptrak outdoor blinds. Adds itemised lines directly to the open quote.", "entry": "index.html"}Manifest fields:
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Full display name shown in the marketplace listing |
| shortName | string | Yes | Short name used in Vera UI chrome (e.g. tab labels) |
| type | enum | Yes | Integration type — see values below |
| version | semver string | Yes | Tool version (e.g. "2.0.0") |
| description | string | Yes | One-sentence description shown in the marketplace |
| entry | string | Yes | Relative path to the HTML entry point inside the bundle (e.g. "index.html") |
type values:
| Value | Behaviour |
|---|---|
standalone |
Default. Tool renders as a sidebar panel, launched from the Vera tool launcher. Has read access to customers, products, quotes, and jobs, plus quotes.create. This is the right type for quoting tools that create a new quote rather than injecting into an existing one. |
quoting_extension |
Tool integrates with an already-open quote modal. Launched from inside the quote UI rather than the tool launcher. Unlocks quotes.addLines and quotes.addSections, which add lines and sections directly into the active in-memory quote. Use this type when your tool is designed to add lines to a quote the user is currently editing. |