> For the complete documentation index, see [llms.txt](https://support.ordereazi.com/central/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.ordereazi.com/central/apps/business-systems/hubspot.md).

# HubSpot

Send each Quote you create in OrderEazi Central to HubSpot as a deal, with its company and contact, using the HubSpot Integrator app.

When your sales team tracks its pipeline in HubSpot, recapturing every quote there takes time, and deals go missing. With the **HubSpot Integrator** app, each Quote you create in OrderEazi Central creates or updates a deal in HubSpot, a CRM (customer relationship management system). The app also finds or creates the deal's company and contact.

Information only goes from OrderEazi to HubSpot. Nothing comes back.

### Before you start

You'll need:

* **A HubSpot access token:** Create a private app in your HubSpot account, with access to deals, companies, contacts, and owners, and copy its access token.
* **Your HubSpot internal names:** Find the internal names, not the labels, of the pipeline, deal stage, and deal type new deals should use. HubSpot shows them in its property settings.
* **Matching sales reps:** Each sales rep in OrderEazi needs a HubSpot user with the same email address. The deal is assigned to that user.
* **Permissions:** **View Installed Apps** and **Configure and Open Installed Apps**, in the **App Gallery** permission group. See [App Gallery](/central/apps/app-gallery.md).

### How to set up HubSpot

1. In the main menu, select **Apps**.
2. If **Installed Apps** opens, select **View Gallery**.
3. Find **HubSpot Integrator**, and select **Install**.
4. On **Installed Apps**, select **Open** on **HubSpot Integrator**.
5. Under **HubSpot API Key/Token**, paste your access token into **HubSpot Key**.
6. Under **HubSpot Sync Settings**, tick **Sync your deals to HubSpot**.
7. Under **Default Sync Values**, enter the internal names in **HubSpot Pipeline**, **HubSpot Stage**, and **HubSpot Deal Type**.
8. Select **Save**.

From the next Quote you create, the project is sent to HubSpot. Quotes created earlier aren't sent.

**Optional settings:**

* **Gross Profit Percentage:** Enter the internal name of a HubSpot deal property to fill with the project's gross profit percentage.
* **Organization Country:** Enter the internal name of a HubSpot deal property to fill with your organisation's country.
* **Enable Currency Conversion:** Tick it, and choose your **Organization Currency** and the **Hubspot Currency**, to convert deal amounts using OrderEazi's [exchange rates](/central/order-management/settings/organization-setup/exchange-rates.md).

### How deals are created

* **One deal for each project:** The deal's name is the project number, without "PRO" and its leading zeros, then the client's company name. Each later Quote on the project updates the same deal.
* **The deal's details:** The amount is the project's total value, and the close date is its expected close date. The description is the project's description, and the priority is always medium.
* **The owner:** The deal goes to the HubSpot user with the same email address as the project's sales rep.
* **The company:** The app looks for a HubSpot company with the client's web domain, then its name, and creates one if neither matches.
* **The contact:** The app looks for a HubSpot contact with the project contact's email address, and creates one if none matches.

**Example:** You create a Quote on project PRO001234 for Clientco (Pty) Ltd, worth R25 000, with Thandi as the sales rep. HubSpot gets a deal called "1234 - Clientco (Pty) Ltd" for R25 000, owned by Thandi, in your default pipeline and stage. A week later you create a revised Quote for R27 500, and the same deal's amount changes to R27 500.

### When a deal isn't sent

Each Quote is sent to HubSpot as a webhook, so you see what happened on the **Queue** tab under **Integrations** > **Webhooks**. The delivery's response shows the reason. See [Webhooks](/central/order-management/integrations/webhooks.md).

* **"Must have value of > 0. Not created.":** The project's total value is 0. Add lines with prices, then create the Quote again.
* **"Unknown owner '\[email]'", with the sales rep's email address in place of \[email]:** HubSpot has no user with that email address. Add the user in HubSpot, or correct the sales rep's email address in OrderEazi, then resend the delivery.
* **Any other error:** HubSpot refused the deal, and its message is shown. Check your access token and internal names.

### What the HubSpot app does not do

* **Update deals as projects move:** Only creating a Quote sends a project. Approving it, invoicing it, or cancelling it doesn't change the deal, and the deal's stage stays at your default.
* **Send products:** The deal has no line items.
* **Bring anything back:** Changes made in HubSpot don't reach OrderEazi.

The **Organization Country** setting sends your own organisation's country, not the client's.

### Related pages

* [App Gallery](/central/apps/app-gallery.md): install and manage apps
* [Quotes](/central/order-management/documents/sales-documents/quotes.md): create the Quotes that become deals
* [Users](/central/order-management/settings/manage-users/users.md): check your sales reps' email addresses
* [Webhooks](/central/order-management/integrations/webhooks.md): check and resend deliveries to HubSpot
