Skip to content
English
  • There are no suggestions because the search field is empty.

Set-Up Guide: How to install DoQuotes Modules for Revenue Hub Quotes

Covers installing Node.js and the HubSpot CLI, setting up a HubSpot quote project including DoQuotes' Field and Layout modules, deploying to a HubSpot Portal and adding modules to a Revenue Hub quote or template.

INDEX

About DoQuotes Modules

Part A: One-time computer setup

1. Install Node.js and the HubSpot CLI (on your Mac or PC)
2. Connect the HubSpot CLI to your portal

Part B: Per-portal setup

3. Create a HubSpot quote project template
4. Install the HubSpot quote project's dependencies
5. Rename the HubSpot quote project to 'doquotes'
6. Add the DoQuotes modules to your HubSpot quote project
7. Deploy the DoQuotes project to your HubSpot portal
8. Add a DoQuotes module to a quote template

What's next

About DoQuotes Modules

This guide covers DoQuotes Modules — the custom, buyer-facing quote modules that add to a HubSpot Revenue Hub quote template: form fields (text, number, date, dropdown, radio, checkbox) that save a buyer's answer back to a HubSpot property, plus a flexible column layout module. It walks through installing DoQuotes Modules into a brand-new HubSpot portal for the first time, from your computer's prerequisites through adding your first module to a quote template.

Note: This guide is specifically for Revenue Hub quote modules. If you're looking to install the main DoQuotes app and its CRM app cards, see the main DoQuotes Set-Up Guide instead.

Note: DoQuotes requires a HubSpot Revenue Hub Professional or Enterprise portal — quote modules aren't available on other plans.

This guide has two parts. Part A (steps 1-2) sets up your computer once — you won't need to repeat it for future portals. Part B (steps 3 onward) is done once per portal, and starts with generic HubSpot quote-project setup before anything DoQuotes-specific.

↑ Back to top

Part A: One-time computer setup

1. Install Node.js and the HubSpot CLI (on your Mac or PC)

DoQuotes modules are installed using two small developer tools: Node.js (runs the install scripts) and the HubSpot CLI (uploads your quote project to HubSpot). Both are installed once per computer, not once per portal.

  1. Open the Terminal app on your Mac (find it via Spotlight — press Cmd + Space and type Terminal) or Command Prompt on Windows.
  2. Check whether Node.js is already installed by typing node -v. If you see a version number (e.g. v22.23.2), you're set — skip to step 3. If you see "command not found," install Node.js from nodejs.org (choose the LTS version), then come back and repeat this check.
  3. Install the HubSpot CLI by typing npm install -g @hubspot/cli. This adds a new command, hs, that you'll use throughout the rest of this guide.

Tip: You only need to do this step once per computer. If you're setting up a second portal later on the same Mac, you can skip straight to step 2 below.

↑ Back to top

2. Connect the HubSpot CLI to your portal

  1. In Terminal, type hs account auth.
  2. Your browser opens automatically to a HubSpot page for generating a CLI Personal Access Key — nothing else to type in Terminal yet.
  3. In the browser: choose which HubSpot portal to connect, and confirm the permission scopes shown. Leave all scopes selected — these control what the CLI itself can do (like hs project upload), not DoQuotes' own permissions, and deselecting one can cause project uploads to fail later for no obvious reason.
  4. Once confirmed, the key is sent straight back to the CLI automatically — there's nothing to copy or paste. Terminal shows ✔ Personal access key received.
  5. Terminal then suggests a name for this connection, based on your portal's name, e.g. ✔ Enter a unique name to reference this account in the CLI: doquotesnpxsetuptest. Press Enter to accept the suggested name, or type your own (no spaces).
  6. Terminal then asks ? Set doquotesnpxsetuptest as your default account? [--default] (y/N). Type y and press Enter. (Notice the capital N — if you just press Enter without typing anything, it defaults to No.) Setting it as default means the commands later in this guide will automatically target this portal without you needing to specify it each time.

Note: The scopes screen here is about what the HubSpot CLI can do on your portal (uploading projects, etc.) — it's a separate thing from the DoQuotes back-end app's own permissions, which you'll connect in a later step.

Tip: After this step, Terminal shows a "What's next?" tip suggesting hs get-started — skip that. It's for building general HubSpot apps, not quote modules, and won't work for what we're doing here. Continue to step 3 below instead. If you're managing more than one portal on this computer, you can switch which one is default at any time later with hs account use, without repeating the whole auth process.

↑ Back to top

Part B: Per-portal setup

3. Create a HubSpot quote project template

You'll do this once per HubSpot portal you set up DoQuotes on. HubSpot provides a ready-made starting template for this — you need it because HubSpot's own tools can't yet scaffold a quote-module project from scratch.

  1. Open this link in your browser: github.com/HubSpot/quote-dev-starter
  2. Click the green Code button (top right, above the file list). A panel opens — ignore the clone URL box at the top of it.
  3. Near the bottom of that same panel, click Download ZIP (it's a plain text link with a small icon, not a big button — easy to miss below "Open with GitHub Desktop").
  4. Find the downloaded file (usually in your Downloads folder) named quote-dev-starter-master.zip, and double-click it to unzip it. This creates a folder called quote-dev-starter-master.
  5. Move that folder somewhere you'll remember — for example, place it on your Desktop or in your Documents folder. This folder is now your HubSpot quote project for this portal.

Tip: You don't need to know Git or use the Terminal to get this template — the Download ZIP link inside the Code panel does the same job. (If you're comfortable with Git, git clone https://github.com/HubSpot/quote-dev-starter.git also works, but on a brand-new Mac it can prompt you to install additional developer tools first, which the ZIP download avoids.)

↑ Back to top

4. Install the HubSpot quote project's dependencies

  1. In Terminal, move into the folder you just created: cd ~/Desktop/quote-dev-starter-master
  2. Type npm install.

This runs for a few seconds and prints a lot of text. All of the following are normal — not errors:

  • A block of lines starting with npm warn deprecated ... — these are older sub-components HubSpot's template depends on; they don't affect DoQuotes.
  • The install running twice — you'll see a line > postinstall partway through, followed by a second round of added X packages. This is expected: the first install sets up the main project, and it automatically triggers a second one for the quote modules themselves.
  • A summary mentioning a number of "vulnerabilities" (e.g. "31 vulnerabilities... 13 high") and a suggestion to run npm audit fix.

Note: Don't run npm audit fix or npm approve-scripts, even though npm suggests them. This project template is maintained by HubSpot, and changing its dependency versions yourself can break things in ways that are hard to undo. If you're ever concerned about one of these warnings, contact support@hubdo.com rather than trying to fix it yourself.

You'll know it worked when Terminal returns you to a normal prompt with no red npm error text.

↑ Back to top

5. Rename the HubSpot quote project to 'doquotes'

By default, this template will upload to HubSpot as quote-dev-starter — we want it to always upload as doquotes instead, so future updates land in the same place rather than creating a duplicate project. This is the first DoQuotes-specific step in this guide — everything before it applies to any HubSpot quote project, not just DoQuotes.

  1. In Terminal, in the same folder, type: sed -i '' 's/"quote-dev-starter"/"doquotes"/' hsproject.json
  2. Confirm it worked by typing cat hsproject.json. You should see "name": "doquotes", in the output.

Note: Do this before running hs project upload in step 7 — the name in this file is what determines the project's name inside HubSpot. That exact sed -i '' syntax (with the empty quotes) is Mac-specific.

↑ Back to top

6. Add the DoQuotes modules to your HubSpot quote project

  1. Make sure you're still in the project folder from steps 3-5 (the one containing hsproject.json).
  2. Type npx @hubdo/doquotes.
  3. The first time you run this, npm hasn't downloaded DoQuotes yet, so it will ask something like:
    Need to install the following packages:
    @hubdo/doquotes@1.0.9
    Ok to proceed? (y)
    Press Enter (or type y) to continue.

Note: The version number shown will be whatever the current release is at the time — it won't always say 1.0.9.

  1. You'll then see a confirmation listing everything that was added — a set of shared files followed by one entry per module:
    ✔ Installed:
      - shared/ConditionalVisibility.tsx
      - shared/CrmPropertyTargetFields.tsx
      ... (26 shared files in total)
      - modules/FieldDatePicker
      - modules/FieldDropdownSelect
      - modules/FieldMultiLineText
      - modules/FieldNumber
      - modules/FieldRadioSelect
      - modules/FieldSingleCheckbox
      - modules/FieldSingleLineText
      - modules/LayoutColumns
    Next: run your usual "hs project upload" to deploy.
    That's seven Field modules and one Layout module — this matches everything DoQuotes currently ships, so this list is the same every time you run this command fresh.

Note: This command only works when run from inside a HubSpot quote project folder (one containing hsproject.json) — if you see an error saying No hsproject.json found, you're in the wrong folder; go back to step 3.

Tip — updating later: if HubDo releases a newer version of DoQuotes and you want to update your existing modules, re-run this command with --force: npx @hubdo/doquotes --force. Without --force, it skips any module it finds already installed rather than overwriting it — so if you'd made your own edits to a module, they're safe by default.

↑ Back to top

7. Deploy the DoQuotes project to your HubSpot portal

  1. Type hs project upload.
  2. You'll likely see two warnings before anything else happens:
    ⚠ WARNING Project lint: lint packages not installed for src/cms-assets/my-react-assets. Run `hs project lint` to install them.
    ⚠ WARNING npm audit: security issues found for src/cms-assets/my-react-assets: 31 total (13 high, 15 moderate, 3 low)
    Both are safe to ignore — the same underlying "vulnerabilities" you saw during npm install in step 4, and an optional linting step you don't need for this setup.
  3. Since this project doesn't exist in your portal yet, you'll be asked:
    ? [--forceCreate] The project doquotes does not exist in doquotesnpxsetuptest [test account] (149143419). Would 
    you like to create it? (Y/n)
    Press Enter (or type y) — notice this one defaults to Yes.
  4. HubSpot then creates the project, uploads your files, and automatically builds and deploys it, all in one go, with no further prompts:
    ✔ SUCCESS New project doquotes successfully created in doquotesnpxsetuptest [test account] (149143419).
    ✔ Uploaded doquotes project files to doquotesnpxsetuptest [test account] (149143419)
    View build #1 in HubSpot: https://app.hubspot.com/developer-projects/149143419/project/doquotes/activity/build/1
    ✔ Built doquotes #1
    --------------------------------------------------
    Build #1 succeeded. Automatically deploying to doquotesnpxsetuptest [test account] (149143419)
    View deploy of build #1 in HubSpot: https://app.hubspot.com/developer-projects/149143419/project/doquotes/activity/deploy/1
    ✔ Deployed build #1 in doquotes
  5. Once you see "Deployed build #1 in doquotes," your DoQuotes modules are live in the portal and ready to add to a quote template.

Tip: Each of the two links printed above opens that build/deploy's details directly in HubSpot, if you want to double-check anything.

Note: The project is named doquotes because of the rename in step 5. If you ever set up a second DoQuotes project in the same portal, you'll need to give it a different name first — HubSpot won't let two projects in one portal share a name. You can also view the uploaded project any time by going to your portal and navigating to Developer Projects, or by running hs project open from this same folder.

↑ Back to top

8. Add a DoQuotes module to a quote template

  1. In your portal, go to SettingsObjectsQuotesQuote TemplatesOpen template library.
  2. Create a new quote template, or open an existing one to edit it — if it's already published, unpublish it first so you can make changes.
  3. Decide where in the template you'd like to add a module.
  4. Use the + (plus) icon at the top-left of the editor to add a module to the template.
  5. Choose one of DoQuotes' modules in the picker — e.g. Field: Single-text or Layout: Columns — and drag and drop it onto the template.
  6. Configure the module using the panel on the left side of the editor.
  7. When you're done, publish the template to make it available for new quotes.

Note: Field modules (everything except Layout: Columns) won't save a buyer's answer until the DoQuotes back-end app is connected to this portal — that's a separate step, not yet covered in this guide.

↑ Back to top

What's next

Connecting the DoQuotes back-end app — needed before Field modules can save a buyer's answer — isn't covered by this guide yet. For help in the meantime, contact support@hubdo.com.

↑ Back to top