Quote Builder Developer Documentation
Integration setup, app configurations, permissions mappings, and developer reference guides.
Getting Started & Installation
Quote Builder CRM Card installs directly from the HubSpot Marketplace using standard OAuth 2.0. No HubSpot API keys are required.
How It Works
Reps can compose and publish quotes directly inside the Deal panel interface in five stages:
Configuration
Admins configure the default app settings via the HubSpot Connected Apps dashboard:
HubSpot Settings ➔ Integrations ➔ Connected Apps ➔ Quote Builder CRM Card ➔ Settings
- Deal Stage Visibility: Select specific pipeline stages where the card should appear.
- Sender Company Defaults: Pre-fill company names, addresses, and contact info for all sales reps.
- Terms & Payment Boilerplates: Configure pre-written acceptance text and net payment terms.
- Currency Defaults: Choose default currency codes and expiration periods.
Rich HTML in Boilerplates
Boilerplate text fields accept basic HTML tags (such as <b>, <i>, and <ul>) which will render formatted on the published HubSpot quote page.
Data & Permissions
This table outlines the access direction and use case for all requested HubSpot CRM permissions scopes:
| HubSpot Object | Scope Requested | Direction | Usage Description |
|---|---|---|---|
| Deals | crm.objects.deals.read / write |
Two-way Sync | Read deal name, stage, currency. Write line item associations to deal. |
| Quotes | crm.objects.quotes.read / write |
Two-way Sync | Create and update quote objects, templates, and signature options. |
| Line Items | crm.objects.line_items.read / write |
Two-way Sync | Read, create, and delete quote line items. Synchronize items to Deal. |
| Contacts | crm.objects.contacts.read |
Sync From HubSpot | Read associated contacts to add as buyer or signers. |
| Companies | crm.objects.companies.read |
Sync From HubSpot | Read associated company names and addresses for billing info. |
| Products | e-commerce |
Sync To HubSpot | Search and read items from HubSpot product libraries. |
| Owners | crm.objects.owners.read |
Sync From HubSpot | Read deal owner details to pre-fill sender information. |
Troubleshooting & Fixes
Solutions to the most common configuration and installation errors:
- Ensure
OAUTH_STATE_SECRETis identical across development, production, and Vercel environments. - Re-trigger the installation link and complete the prompt within 10 minutes.
- Re-authenticate the portal through the OAuth flow to refresh installation keys.
- Check Vercel backend logs for the precise HubSpot API client rejection message.
hubspot.fetch() requests.- Remove all custom headers from your React API fetch utilities.
- Pass custom parameters (such as portal IDs) as query params (GET) or JSON body keys (POST).
Uninstalling
To uninstall the app, navigate to Connected Apps inside HubSpot Settings, locate "Quote Builder CRM Card", and select Uninstall.
Data Preservation: Uninstalling does not delete any of your quote history. Native Quotes, deals, contact links, and line items remain secure in your HubSpot instance. Our database immediately deletes your OAuth tokens and configured settings upon receiving the uninstallation webhook.