- 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
Every tool bundle must include amanifest.json at the root. The manifest declares
how the tool integrates with Pipeline.
Example:
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Full display name shown in the marketplace listing |
| shortName | string | Yes | Short name used in Pipeline 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 Pipeline 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 — which appends lines 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. |