Quantum Business Solutions Quantum Business Solutions
Quantum Business
HubSpot portal administration

The HubSpot Super Admin Best Practices Guide

A practical, click-by-click reference for setting up and running a HubSpot portal as its Super Admin. Running a portal well depends less on knowing where every button is, and more on a handful of decisions you make early. It shows you how to shape a portal end to end: brand it to your company, build pipelines and lead stages that fit your sales process, bring people on with the right access and ownership, migrate and maintain accurate data, run sequences and call tracking, and report on results.

Get these right, and the portal runs cleanly for everyone who uses it afterwards: data stays trustworthy, teams work with clear access, and the setup keeps holding up as you grow. Each section stands on its own, so whether you are setting up a new portal or auditing one area of an existing one, you can go straight to the one you need and follow it directly.

Quantum Business Solutions · HubSpot Platinum Solutions Partner
Contents

Contents

1.1 · Foundations

Understanding the Data Model: Objects, Properties, Records & Associations

HubSpot is built on a data model: objects (types of record) that hold properties (fields) and connect to one another through associations. Properties, workflows, reporting, and integrations all rely on the data model. Think of it as the map of your portal: every object is a card, and the lines between them show how they connect. There is one layer beyond objects: the Business Units add-on (requires Marketing Hub Enterprise) lets a single HubSpot account manage multiple brands under one shared portal, each with its own branding and permissions.

The Core Concepts

  • Objects are the types of record HubSpot stores, and they are the backbone most processes are built on. The standard (native) objects include Contacts, Companies, Deals, Tickets, and Projects on every paid account, plus Leads (Sales Hub Professional and Enterprise), and activity objects such as calls and meetings. When a business needs to capture data that has no home yet, you create a custom object on the object where that data logically lives.
  • A record is a single entry on an object: one contact, one company, one deal. Every record has a system-generated Record ID that never changes. Record limits vary by object and subscription and change over time, check the current numbers under Data Management > Data Model > Limits rather than assuming a fixed ceiling.
  • Properties are the fields on an object (e.g., a contact’s Email, a deal’s Amount). They hold the actual data and are what reports, filters, and workflows read from.
  • The index page is the list view of all records of an object (Contacts home, Deals home). Saved views and filters live here.
  • An association is a relationship between two, or several, objects: the plumbing that makes HubSpot relational. The question it answers is: what is the relationship between these records? In the data-model view, hovering an object lights up every line radiating from it, so you can see at a glance what connects to what (a company can link to contacts, deals, tickets, line items, and more).
  • Association labels describe the role of a relationship (for example, Primary, Decision Maker, or Billing Contact). They matter beyond tidiness: property sync and roll-up fields rely on them to know which associated record to read from.
  • Ownership is a field on every object, native or custom, naming the person responsible for the record. As a rule, the owner should be whoever manages that company in HubSpot.

Native vs. Custom Objects

  • Reach for a property or an association on an existing object before creating a custom object. Custom objects add real reporting and permission complexity and cannot be undone cleanly.
  • HubSpot lets you rename native objects, and in many cases repurposing a native object (for example, using the Projects object for “jobs”) is faster and cheaper than using a custom object.
  • If you do build a custom object, choose which objects to associate to at creation. Association labels, such as Primary or Decision Maker, are configured afterward on the object’s own Associated objects and labels tab, not at creation.
  • Requires Enterprise tier. Custom objects need at least one Enterprise-tier hub to create. When native objects genuinely cannot hold what a business needs, a custom object can (for example, a Contract object with start date, end date, monthly payment, total value, expiration, and status). How many custom objects a portal can create depends on which Enterprise hubs are active and changes over time, check the Limits tab in the data model builder for the current number rather than assuming a fixed count.
  • Mind the record limits. Native and custom objects each carry their own ceiling, and custom objects typically share a combined cap well below native-object levels, so heavy data (for example, synced invoices) can hit that ceiling. Check the exact current numbers on the Limits tab rather than assuming a fixed figure.
Tip: Sketch the object model on one page, objects as boxes, associations as lines, labels on the lines, before touching Settings. Most “how do we store this?” questions resolve at the whiteboard, not in the portal.

Create a Custom Object and Its Associations

  1. From the side rail, click More, then open Data Management > Data Model.
  2. Check headroom first. Click More, then navigate to Data Management > Data Model, and click the Limits tab.
  3. Before proceeding, confirm the portal has an active Sales Hub Enterprise (or equivalent Enterprise-tier) subscription. Super Admin access alone is not enough, if clicking Create object > Custom object shows an upsell screen instead of the object-details form, that is a plan-level limitation, not a permissions problem, and no amount of re-clicking or role changes will resolve it.
  4. Click More, then navigate to Data Management > Data Model, and From the Data Model builder’s Manage tab, in either the graph or table view, click the Create object button. This opens a Create a new object modal with three choices: Create with AI, a free-text description plus a Generate object button; Create manually, which builds from a HubSpot-defined template such as Appointments, Courses, Listings, or Services; or Or create a custom object, then Custom object: Build your own object from scratch, which is the option that opens the object creation form the remaining steps below describe.
  5. Complete Object Name (Singular) and Object Name (Plural), and optionally Object description.
  6. Set the Primary display property, this is what names each record, and choose its Property type (Single-line text, Number, Date picker, and so on).
  7. Optionally add a
  8. Optionally add a Secondary display property, which has its own Property type dropdown and a Require unique values checkbox; only one Secondary display property field exists here, not a repeatable list. There is no + Add property control on this creation screen. Add any further, non-display properties afterward from the object’s own Properties tab once the object exists.
  9. Click Create.
  10. Choosing which objects to associate to is part of this same object creation screen, alongside the object name and display property steps above, and is completed before clicking Create. A checkbox picker lets you choose which objects to associate to, for example Calls, Communications, Companies, Contacts, Emails, Meetings, Notes, Opportunities, Postal Mail, Tasks, and Tickets. This screen does not configure association labels such as Primary or Decision Maker; labels are set afterward on the object’s own Associated objects and labels tab once the object exists.
  11. Verify it worked: open the object’s detail page and check its real tabs: Properties, Property groups, Associated objects and labels, and Conditional logic. Usage information is not a tab; it is a View object usage item inside the page’s own Manage object dropdown, which also holds Create property, Export properties, Edit object name, and Deactivate object.
1.1b · Foundations

CRM Fundamentals: Daily Record Work

A hands-on walkthrough of everyday record work: getting oriented, creating a contact, linking a company, creating a deal, adding line items, adding notes and mentions, and managing deals from the index page.

1. Getting oriented: navigation and record layout

All navigation lives on the left-hand rail. The CRM section holds every record type (contacts, companies, leads, tickets, projects), and you can pin the ones you use most so they are one click away.

  1. Every object opens the same spreadsheet-style index page. Because contacts, companies, deals and projects all behave identically, learning one list teaches all of them: you search, filter, sort and choose columns the same way everywhere.
  2. Every record opens in the same three-panel layout: left is information about the record itself, middle is the activity timeline (emails, calls, notes, tasks), right is associations (related contacts, companies, deals, projects).
  3. That three-panel structure is identical on a contact, company, deal or project. Master one record type and you can navigate them all, which keeps the learning curve short.

2. Create a contact (with duplicate detection)

  1. From the side rail, open CRM > Contacts.
  2. Go to Contacts and click Add contacts. Always enter the email address first: it is the field HubSpot uses to recognize and de-duplicate people, so leading with it is the best way to avoid duplicate records.
  3. As soon as you type an email (or phone number) that already exists, HubSpot warns you and shows the matching contact, so you can open it instead of creating a duplicate. If you do not have an email, search for the person by name or company before creating a new record.
  4. The quick-create Contact modal has no Company field. Fill in whatever real fields you have: Email, First name, Last name, Contact owner (defaults to the creator), Job title, Phone number, Lifecycle stage (defaults to Lead), Lead status, and optionally check Set this contact as a marketing contact. Company association is not part of this modal; it is handled separately (see Link a company and manage associations below).
  5. Click Create and the contact record opens, ready to link deals, companies and projects.
Note: If a call-tracking or web-form tool is connected, inbound contacts are auto-created and de-duplicated on email or phone, so most manual entry is for contacts you add yourself.

3. Link a company and manage associations

  1. From the side rail, open CRM > Contacts, then open the contact record you want to link a company to.
  2. On the contact’s right-hand panel, click +Add on Companies and search for the business first. Associating an existing company rather than re-creating it keeps one clean company record with all its contacts, deals and projects attached.
  3. If there is no match, switch to Create new and enter the company domain first. HubSpot de-duplicates companies by domain the same way it de-duplicates contacts by email, so leading with the domain prevents duplicate company records.
  4. Once created, the company page opens with the contact already associated. The domain also lets HubSpot enrich and match future records to the same company automatically.
  5. When a contact leaves an organization, remove them from the deal and add the replacement so the opportunity stays tied to the company, not the individual. Use association labels (Decision Maker, Billing Contact, and so on) to describe each person’s role, especially on projects with several contacts.

4. Create a deal

The fastest route is from the contact record: click + beside the Deals section to open the Create Deal panel, so the contact (and its company) link automatically.

  1. From the side rail, open CRM > Contacts, then open the contact record you were working on and click + beside the Deals section to open the Create Deal panel.
  2. Name the deal with a human-readable label so you can spot it later (for example: Acme Co., Q3 renewal). Name, pipeline and stage are the only truly required fields; anything unknown can be filled in afterwards.
  3. Set the Pipeline to match the type of work (for example, New Business or Renewals). The pipeline determines which set of stages the deal moves through, and lets you report revenue and win/loss separately per line of business.
  4. Pick the Deal stage that reflects where the opportunity stands today. You can move a deal between stages at any point as it progresses.
  5. Enter the Amount (the total opportunity value) and the Close date (when you expect to win it). HubSpot auto-defaults the close date to approximately 90 days from the deal’s creation date (a deal created on September 15, for example, defaults to a close date around December 14), but set it to your real cycle (for example, about 30 days for a fast-moving deal type, about 90 days for a longer sales cycle) since it drives follow-up reminders and forecasting.
  6. Confirm the Deal owner (defaults to whoever creates the record and is the person responsible for working it) and set Deal type to one of five real options: Net-New Business, Existing Business, Cross-Sell, Up-Sell, or Win-Back, so you can later analyze revenue by deal type.
  7. Click Create. The deal opens with its amount, stage, close date and linked contact in place. From here, every call, email, note and task logged against it builds the history you use to manage the opportunity and forecast the pipeline.

5. Add line items to a deal (optional)

  1. From the side rail, open CRM > Deals, then open the deal record you want to add line items to.
  2. On the deal record, find the Line items card in the right-hand column and click + Add. Line items itemize exactly what is being quoted, and are mainly worth using for deals you intend to quote out of HubSpot.
  3. Tick the products or services you are quoting from the product library, selecting only what is relevant to this project.
  4. For each line, adjust the quantity, Unit price, then click Save to attach the line items to the deal. Leave prices at a nominal value if you only want to record scope rather than a real quote.
Note: If quotes are still sent by email or PDF, line items stay optional unless you decide to quote out of HubSpot later.

6. Add a note and mention a teammate

  1. From the side rail, open CRM, then open the contact, company, deal, ticket or project record you want to add a note to.
  2. On any record (contact, company, deal, ticket or project), click Note in the action bar. Notes are the simplest way to log context that is not an email or call, and they stay on the record’s activity timeline for the whole team to see.
  3. Type the note in the pop-up. The toolbar lets you format the text and attach a file. Everything is saved to the record’s middle activity panel as a timestamped entry.
  4. Type @** followed by a colleague’s name to tag them. They receive an email notification with a direct link straight back to the note and record. Click Create note** to save.

7. Manage deals from the index page

Every object opens on an index page: a spreadsheet-style list of all its records, where each row is a record and each column a property. This is where most day-to-day pipeline management happens.

  1. From the side rail, open CRM > Deals to open the deals index page.
  2. Click Edit columns to add, remove or reorder the fields shown, and drag columns to reposition them. Freeze the first column or two so key info stays visible as you scroll sideways. Each person’s view is their own.
  3. Use Filter and the pipeline selector to narrow the list (for example, only New Business deals), and Sort by to order by any column such as close date. These can be saved as named, shareable views (for example, my deals closing this month, or deals overdue but still open) so the whole team stays on top of their work.
  4. You do not have to open a record to act on it. Straight from the row you can change a deal stage, schedule a meeting or create a follow-up task, which is handy for clearing deals down or chasing ones HubSpot flags as having no next activity scheduled.
1.2 · Foundations

Brand Set Up: Colors, Fonts & Themes

Build and Apply the Brand Kit

1. Open the Brand Kit

  1. From the side rail, open Marketing > Brand.
  2. In your HubSpot account, click the Marketing icon in the left rail, scroll down within the flyout menu, and click Brand. This lands on a page titled Brand Identity with three tabs: Brand kit, Brand voice, and Brand knowledge.
  3. If the account has the Brands add-on, click the dropdown menu in the top right and select the Brand you intend to edit.
  4. Confirm you are on the Brand Kit tab.

2. Set brand colors

  1. From the side rail, open Marketing > Brand, then open the Brand kit tab.
  2. On the Brand kit tab, in the Colors section, click Edit colors.
  3. In the right panel, set each slot by typing the exact hexadecimal code from the brand style guide, or use the color picker.
  4. Primary color: the main brand color.
  5. Secondary color: the supporting brand color.
  6. Accent color: up to three colors used to complement the core brand colors.
  7. Additional colors: a repeatable set of further colors, added with a + Add color button. These will not automatically be used when setting up new content.
  8. Optionally, populate the palette by entering a web page address and clicking Import colors from URL to import colors from an existing site.
  9. To remove a color, click the delete icon next to it.
  10. Click Save.

3. Set the Primary, Body and Fallback fonts

  1. From the side rail, open Marketing > Brand, then open the Brand kit tab.
  2. On the Brand kit tab, in the Fonts section, click Add (or Edit, if a font is already set) next to the slot you want to change.
  3. In the right side bar, click the Select font dropdown menu, then enter the font name in the search bar or select it from the list.
  4. Click Save.
  5. Repeat for all three slots.

4. Add a Google font or upload a custom font

  1. From the side rail, open Marketing > Brand, then open the Brand kit tab.
  2. On the Brand Kit tab, in the Fonts section, click Edit for the font you want to change.
  3. In the right side bar, click the Select font dropdown menu and search for the font by name, or pick it from the list.
  4. Click Save.
  5. On the Brand Kit tab, in the Fonts section, under Custom fonts, click + Add a custom font.
  6. In the Font name field, enter the name of your font.
  7. Click Upload file(s) and select the files from your computer.
  8. Click + Upload more files to add more font files (upload every weight and style you intend to use, a missing weight is faux-bolded or faux-italicized by the browser).
  9. Click Next.
  10. Use the dropdown menus to select a corresponding font style for each file.
  11. Click Save.
  12. Choose a fallback where the custom font is applied.

5. Assign and activate the theme

  1. Click the Marketing icon in the left rail, scroll to Brand, open the Brand kit tab, and in the right column find the Brand theme card. Click its Change theme button. This opens a Branding > Themes page titled Themes in your portal, listing every installed theme as a card. The currently active theme’s card shows an Active theme badge with a Back button; every other theme’s card shows a Set as active theme button plus a Preview button, and clicking Set as active theme on one of those cards is what actually changes the active theme. Settings icon > Website > Content > Themes & Modules is a real page, but it is read-only: it lists themes with an Active theme badge only and has no activation control, so it cannot be used for this task.

6. Review and publish theme settings

  1. Navigate to Content > Website Pages (or Landing Pages, or Blog) and click the name of a page using the theme.
  2. Click the Edit menu and select the theme option, which is labelled with the theme’s own name (Theme: [name of theme]), to open the full theme editor.
  3. Work through each settings group and align it to the Brand Kit values. The real groups are Global colors, Global fonts, Website header, Typography (headings, body, links), Buttons (a single shared style: Background color, Text color, Border, Padding, Hover; there are not separate primary, secondary, or simple button variants), Forms (Header text color, Label color, Help text color, Field border color, and Field focus border color only; there is no separate submit-button style or size control, since submit buttons share the global Buttons style, and no standalone background color or padding control at the Forms level), Tables, Cards, Spacing, Footer, and Blog.
  4. Global colors: “Your theme’s color settings apply a primary, secondary, and text color to all elements included in your theme templates. These styles will be applied to all elements on your website.” Note the scope.
  5. Fonts: choose a primary and secondary font to apply to your website’s headings, forms, buttons, and body text.
  6. Click Publish theme to save changes made in the full theme editor.

7. Configure the tools that do not inherit from the Brand Kit

  1. Marketing email templates. Go to Marketing > Email and click Create email. On the template selection screen, use the dropdown menu above the template gallery to select Apply [brand name] brand kit, this pushes the Brand Kit’s colors and fonts into that template. This only applies at template or email creation time, HubSpot does not document a way to retroactively re-apply updated Brand Kit colors or fonts to an email or template already built.
  2. Quote themes. Quote templates are live-linked to the CMS theme, not a one-time snapshot. From Settings icon > Data Management > Objects > Select an object: Quotes > Quote Templates tab, open Customize quote template > [template name] > Settings tab. That screen shows a CMS theme and template section stating that the customized quote template is styled by the theme settings, and changing those settings may affect multiple pages on the site, with an Edit theme settings button that opens the same live Theme Editor covered in this file’s 6. Review and publish theme settings step (Global theme styles), here scoped to the pages and templates that use that theme. Editing Global colors in the Theme Editor continuously restyles the quote template along with everything else using that theme, so a brand kit or theme color update applies automatically to quote templates; there is no separate saved quote theme version to update after a rebrand.
  3. Legacy form global styles. Go to Settings > Marketing > Forms and open the Styles tab. The real fields are grouped into a Text section (Font family, Label color, Size) and a Button section (Color, Alignment, Font color). There is no separate button background color field distinct from the button’s own Color and Font color. Click Save. The Save and Cancel controls sit in a sticky bar fixed to the bottom of the page, which only appears once a field is changed, so they are easy to miss without scrolling. Global styles apply at the moment a form is created, so existing forms do not update retroactively when you change these settings.
  4. CRM and conversations inbox email font. Go to Settings > Account Defaults > User Defaults tab, and under the Email section set the Font, Font size, and font color, then click Save (requires Edit account defaults permission). This setting only controls one-to-one CRM emails and connected-email replies sent from the conversations inbox, it does not affect templates, snippets, CRM email signatures, or marketing email default fonts, so it must be set separately from the Brand Kit. As on the Legacy form global styles page, the Save and Cancel controls here sit in a sticky bar fixed to the bottom of the page, appearing only once a field is changed, and are easy to miss without scrolling.
  5. Sales templates and sales emails. These have no Brand Kit or centralized font control, HubSpot’s documentation does not describe a global styling option for the Templates tool (CRM > Message Templates). Font, size and alignment are set manually per template using the editor’s formatting toolbar, and since sales templates fall back to whatever font is set in Account Defaults > User Defaults for CRM emails, confirm that default is on-brand and reformat each template’s text to match rather than expecting a bulk sync from the Brand Kit.
Verify it worked
  1. Landing page. Navigate to Content > Landing Pages, click Create, and build a one-section page using the active theme.
  2. Blog post. Navigate to Content > Blog and create a draft post.
  3. Marketing email. Navigate to Marketing > Email, click Create email, and on the template picker use the dropdown above the templates to select Apply [brand name] brand kit.
  4. Contrast check. For any link/CTA color pairing you intend to standardize on, validate it.
  5. Delete the test assets once verified, or move them to a clearly labelled internal folder so they are never indexed or sent.
Note: Changing the active theme does not restyle existing content.
1.3 · Foundations

Set Up Properties

Before you create anything: audit the existing property set

  1. Go to Settings > Data Management > Properties, then pick the object from the Select an object dropdown.
  2. Search by property name and by likely synonyms (for example region and territory) before creating anything new.

Create a property

Quick create

  1. Click the Settings icon in the top navigation bar.
  2. In the left sidebar menu, in the Data Management section, click Properties.
  3. Click the Select an object dropdown menu, then select [Object] properties.
  4. Above the table, click Create property.
  5. In the right panel, in the Property label text field, enter a name for your property.
  6. Click the Field type dropdown menu and select an option.
  7. Click Create property.

Full editor (recommended for any property used in reporting or automation)

  1. From the Settings icon, open Data Management > Properties.
  2. Follow steps 1 to 4, then click Edit more options.
  3. On the Details tab, set:
  • Property label, the display name for the property.
  • Internal name, the unique name for the property used for integration app sync and API calls.
  • Object type, the object for which the property displays.
  • Brand, only for accounts with brands enabled (requires Marketing Hub Enterprise).
  • Group, the section the property belongs to.
  • Description, optional additional text to describe the usage and specific details about the property.
  1. Click the Field type tab to configure the field type, additional options, and default value.
  2. Click the Rules tab to set visibility and validation options:
  • Global search results, allow values in the property to be searchable across objects in the global search bar.
  • Show in forms and chat tools, allows the property to be used in forms or chat tools.
  • Include in gibberish detection, if you are showing a property in forms, customize whether the property is included or excluded in gibberish detection.
  1. Click the Manage access tab to control who has access to view and edit the property (Enterprise only).
  2. Click the Preview tab to review how your property will function.
  3. In the top right, click Create.

Cloning an existing property as a template

  1. Click the Settings icon, then in the left sidebar menu click Properties.
  2. Hover over the property, click the More dropdown menu, then select Clone.
  3. Set the new property’s details, then click Create.

Rollup and Calculation properties

Rollup: aggregate a number across associated records

  1. Settings icon > Properties
  2. Click the Select an object dropdown menu and select [Object] properties.
  3. Click Create property, fill in the Property label and Field type in the quick-create modal, then click Edit more options to reach the full editor described below.
  4. Click the Field type dropdown menu and select Rollup.
  5. From the Settings icon, open Data Management > Properties.
  6. Click the Rollup type dropdown menu and choose one of Min, Max, Count, Sum, Average, Earliest date or Latest date.
  7. Click the Number format dropdown menu and choose Formatted Number, Unformatted number, Currency, Percentage or Duration.
  8. Select the associated object and the associated record property to calculate from.
  9. Optionally click Select association labels and choose labels, to aggregate only across records carrying a specific label.
  10. Optionally click Add condition to require criteria before the property calculates (for example, calculate when Recent deal amount > 1000 and Deal probability >= 80).
  11. Click Save.

Calculation: time between dates, or a custom equation

  1. From the Settings icon, open Data Management > Properties.
  2. Follow steps 1 to 4, then click the Field type dropdown menu and select Calculation.
  3. Click the Calculated property type dropdown menu and select one of the following:
  4. Time between, select a Start date and an End date property.
  5. Time since, select the date property that supplies the start date.
  6. Time until, select the date property that supplies the end date.
  7. Custom equation, build an equation from number properties on the same object, using arithmetic, comparison and logic operators, conditional statements and functions.
  8. For Time between only: click Add condition to add optional criteria the record must meet.
  9. Click Create property.
  • Once a calculation property exists you cannot change which calculated type it is (Time between, Time since, or Time until). You can still repoint the start or end date properties.

Property sync: copy a value from an associated object

  1. From the Settings icon, open Data Management > Properties.
  2. Follow steps 1 to 4 to start a new property on the record you want the value to show on (for example, the contact).
  3. In the Field type, choose the option that copies a value from an associated object (property sync), then select the associated object (for example, the company) and the field to pull (for example, zip code).
  4. Choose which associated record to read from: the first-created or most-recently-created associated record, or a specific association label. For a contact and company this is usually the Primary label.
  5. Click Create. The value updates automatically as the record associations change.
Note: Property sync can interfere with the Connection Cell integration, so check that before enabling it on synced objects.

Create a property group and move properties into it

  1. Click the Settings icon, then in the left sidebar menu click Properties.
  2. Click the Select an object dropdown menu and select the object.
  3. Click the Groups tab.
  4. In the upper right, click Create group.
  5. Enter the group name, then click Save.
  6. To move properties in bulk, return to the properties table, select the checkboxes next to the properties, then at the top of the table click + Add to group.
  7. To move a single property, hover over it, click the More dropdown menu, then select Choose new property group.

Manage access: who can see and edit the property’s value

  1. Click the Settings icon, then in the left sidebar menu, under Data Management, click Properties.
  2. Select the object, hover over the property, click the More dropdown menu, then select Manage access.
  3. Choose a preset: Private to super admins only, Allow everyone to view and edit, Allow everyone to view, or assign users and teams individually with View and edit, View only, or No access.

Set validation rules

  1. Click the Settings icon, then in the left sidebar menu click Properties.
  2. Select the object, then click the name of the property.
  3. Click the Rules tab and configure the rules available for that field type:
  • Single-line text / Multi-line text: do not allow leading and trailing spaces; do not allow any spaces; character count limits; automatic character removal; case requirements.
  • Phone number: validate phone numbers for this property, with an optional default country code; require unique values.
  • Number: minimum and maximum value; set max number of decimal places; require unique values.
  • Date picker / Date and time picker: restrict to past, future, a specific range, or weekdays.

Make a property required at record creation

  1. Click the Settings icon, then click Data Management > Objects.
  2. Click the Select an object dropdown menu and choose the object (for example, Contacts).
  3. On the Setup tab, click Customize the ‘Create [object]’ form.
  4. Hover on a property and click the required icon.

Add, load, archive and delete options

  1. Click the Settings icon, then in the left sidebar menu click Properties.
  2. Select the object, hover over the property, click Edit, then click the Field type tab.
  3. To add options one at a time, click + Add option, enter the label, then enter the internal value.
  4. To add options in bulk, use Load options, this lets you load a predefined set, paste a custom batch, or copy the options from an existing enumeration property.
  5. To retire an option without affecting existing data, select the checkboxes next to the options, then click Archive.
  6. To bring an archived option back, click the Archived options tab within the Field type section, select the options, then click Restore.
  7. To remove an option permanently, select the checkboxes next to the options, then click Delete at the top of the table.

Badges: color-code selector values

  1. From the Settings icon, open Data Management > Properties, then open the property you want to edit.
  2. Edit a Dropdown, Radio, or Multiple checkbox property, then open the Field type tab.
  3. Turn on Badge and assign a color to each value from the fixed palette (for example Tier 1 green, Tier 2 yellow, Tier 3 red), then Save.
  4. On the record, each value then shows in its color, so its meaning reads at a glance.

Conditional options (Professional and Enterprise)

  1. Click the Settings icon, then in the left sidebar menu click Properties.
  2. Click the Select an object dropdown menu and select the object.
  3. Next to the Properties tab, click More, then click Conditional logic.
  4. Click Create logic, then select the dependent property, the enumeration property whose options should change based on another property.
  5. Click the Controlling property dropdown menu and select the property that will determine which options appear.
  6. In the When controlling property equals section, click an option.
Verify it worked
  1. Check the editor preview.
  2. Check it appears on a record.
  3. Check it is reportable and segmentable.
  4. Check API visibility if an integration depends on it.
  • The 90-day rule. “Once archived, properties are stored in the Archived tab and will be permanently deleted after 90 days.” Properties archived 90 or more days ago cannot be restored.

Archive a property

  1. Click the Settings icon, then in the left sidebar menu click Properties, and select the object.
  2. Before archiving, export the data: hover over the property, click the More dropdown menu, then select Export property definition (this generates three CSV files).
  3. To archive one property: hover over the property, click the More dropdown menu, then click Archive.
  4. To archive several: select the checkboxes next to the properties, click Archive at the top of the table, enter the number of properties to confirm, then click Archive.
  5. Review the panel before confirming.

Restore or permanently delete an archived property

  1. On the properties table, click the Archived tab.
  2. Click the Filter by dropdown menu and select the type of property, and use the date fields to filter by when the properties were archived.
  3. Select the checkboxes next to the properties you want to restore or permanently delete.
  4. At the top of the table, click Restore or Delete.

Converting a text property to a dropdown select

  1. From the Settings icon, open Data Management > Properties, then select the object and property you want to convert.
  2. Export the property’s current values for all records.
  3. Clean the exported values offline and agree the final option list.
  4. Clear the property value for all affected records.
  5. Change the property’s field type to Dropdown select and add the agreed options, setting each internal value deliberately.
  6. Re-import the cleaned values, mapping them to the new options.
  7. Resolve any remaining red invalid values, either correct the value on the record, or add the invalid value as an option to the enumeration property if it turns out to be legitimate.

Field-type cautions when editing options

  • Dropdown to Multiple checkboxes is a one-way conversion. You can change a single-select Dropdown to Multiple checkboxes, but not back: a checkbox field may already hold several values at once, and HubSpot cannot know which single value to keep.
  • Radio select behaves identically to a Dropdown (single choice). The only difference is on forms: a dropdown hides options behind a menu (saves space), a radio shows all options at once. Use radio when there are only a few options so people see them all.
  • Loading options in bulk: under Load options, Paste your own puts each option on its own line (each line becomes a new value, no delimiter needed), or paste a comma or semicolon separated list and set the matching delimiter, then Load. This is faster than clicking + Add option repeatedly for a long backlog.
  • Caution for sequences: do not put a Multiple-checkbox property into a personalization token. It renders every selected value at once (for example every show a company attends), which defeats the purpose. Keep multi-value data such as events at the company level (a contact may change employers, but the company is what exhibits or attends), then build an event-specific sequence and a list of contacts whose associated company has that value selected, and bulk-enroll them.
1.4 · Foundations

Personalization Tokens & Calculated Fields

Two property-level capabilities that come up constantly and belong alongside your brand and property setup. Both reduce manual work when configured well and cause visible errors when not.

Personalization Tokens

  • Tokens pull a property value into an email, sequence, workflow, or page (e.g., contact first name, company name, owner details).
  • Always set a fallback value on every token so a blank property does not render an empty or broken phrase. Fallbacks are available in both marketing emails and sales sequences.
  • Pull tokens from the object that reliably holds the data, a company token on a contact email only works if the contact is associated to a company.

Calculation Properties

  • A Calculation property derives its value from other properties on the same record (sums, differences, date math such as time between two dates, or a custom equation) instead of being entered manually.
  • Use it for things like days-in-stage or time-since-last-activity, anything a human would otherwise keep re-typing from the same record.
  • Because they are read-only and update automatically, they are safer for reporting than a manually maintained field, but confirm the source properties are clean first.

Rollup Properties

  • A Rollup property aggregates a value across associated records (for example, total associated deal value, or earliest service start date across associated deals) instead of being entered manually.
  • Because rollups are read-only and update automatically, they are safer for reporting than a manually maintained field, but confirm the source properties are clean first.
2.1 · Users, Teams & Access

Adding Users

Create the user

  1. Go to Settings icon > Account Management > Users & Teams, then click Add users, and select Create new (there is no standalone Create user button).
  2. In the right panel, enter the company email, then choose the seats, permissions, and (Pro/Enterprise) preset.
  3. Tick Send email invites, click Add user, then Done.
  4. Hover the new user and click Edit permissions to finish any per-user trimming.

Alternate path: classic user creation wizard

  1. From the Add users dropdown, click Create new, then click Use the classic user creation wizard to switch to a 3-step flow (Email, Access, Review) instead of the single-page form.
  2. Email step: enter the company email address.
  3. Access step: click Choose how to set access, then choose Use seat permissions (default, no custom access), Use custom permission sets (apply a saved permission set; a Make Super Admin checkbox sits inside this option’s permission set picker, it is not a separate choice), Start with a template (copy another user or a role-based template), or Start from scratch (fully custom).
  4. Review step: confirm the seat, access and team assignment, then send the invite.

Assign or change the seat

  1. Settings icon > Account Management > Users & Teams
  2. Hover over the user, click Actions, then click Change seat.
  3. Click the Seats dropdown menu and select the seat type.
  4. To take a seat away, click the x next to it.
  5. Click Save.

Assign permissions

  1. Settings icon > Account Management > Users & Teams
  2. Click the user record, then click the Access tab.
  3. Click Choose how to set access to expand the section, then choose one of the following:
  • Use seat permissions: the default, no custom access applied.
  • Use custom permission sets: apply a saved permission set (Enterprise only); a Make Super Admin checkbox sits inside this option’s permission set picker, it is not a separate choice.
  • Start with a template: click Choose a template to expand the section, then click the Choose a user or role-based template dropdown menu and pick a template based on the person’s job function.
  • Start from scratch: fully custom.
  1. Click Choose permissions to expand the section and toggle individual permissions on and off.
  2. Click Next, then Save.

Assign teams

  1. Settings icon > Account Management > Users & Teams
  2. Click the user’s name.
  3. Click the Setup tab (a direct top-level tab, no More dropdown needed).
  4. In the left sidebar, click Teams.
  5. Use the Default team dropdown menu (renamed from Main Team) to select the user’s primary team.
  6. Use the Team(s) field for any additional teams.
  7. Changes on this page save automatically; there is no separate Save button.
Verify it worked
  1. From the Settings icon, open Account Management > Users & Teams.
  2. Confirm the invite was sent and accepted.
  3. Confirm the seat. In the users table, check the Seat column for that person.
  4. Confirm permissions. Click the user record and open the Access tab.
  5. Confirm teams. Check the “Default Team (Formerly Main Team)” column in the users table, or SetupTeams on the user record (no More dropdown needed).

Adding users at volume

  1. Click the Settings icon → Account ManagementUsers & Teams.
  2. Click Add users > Import.
  3. Click choose a file and select the .csv, or click paste directly from your spreadsheet, paste the content, then click Upload.
  4. Note the Choose how to import Users control: it is fixed to Create new Users only (rows matching an existing record will error out); there is no user-to-user association checkbox on this step.
  5. Select the language of your column headers from the language dropdown menu.
  6. In the bottom right, click Next.
  7. Review the column-to-property mapping.
  8. Click Next, then continue with seats and permissions.

Deactivating and removing users

Deactivation is reversible, removal is not, and they are sequential: a user must be deactivated before they can be removed.

  1. Deactivating: the user can no longer log in or access the account, but their profile and associated data remain for reporting, and they keep their paid seat (it no longer counts against the account’s seat total). A deactivated user can be reactivated later with their current assets intact, for example they remain assigned to their records.
  2. Removing: the user’s profile is removed from the account, and they are unassigned from conversations and assets and removed from reports. Removal cannot be undone; restoring that person means going through the user creation process again.

Deactivate a user

  1. Settings icon > Account Management > Users & Teams
  2. Hover over the user’s name, click Actions, then select Deactivate user.
  3. Review the advisory in the dialog box, then click Deactivate user to confirm.

Remove a user

  1. Settings icon > Account Management > Users & Teams
  2. Click the status dropdown menu and select the Deactivated checkbox to filter the table.
  3. Click the user’s name and confirm their status shows as Deactivated.
  4. Select the checkbox next to the deactivated user (there is no Remove from account item in a per-row Actions menu), then click Remove in the bulk action toolbar that appears above the table.
  5. Review the advisory in the Remove users dialog box, then click Confirm (a single-step confirmation, not two).

Troubleshooting: invite email not received

  1. From the Settings icon, open Account Management > Users & Teams.
  2. Ask the user to check their Junk or SPAM folder.
  3. Confirm you spelled the address correctly, and that the mailbox exists and is active.
  4. Check with IT whether a firewall is blocking HubSpot email; set up allowlisting for HubSpot email and IP addresses if so.
  5. Hover the user, click the Actions menu, then select Resend invite.
  6. If the first delivery attempt failed, HubSpot blocks that address. Hover the user’s row, click Actions, then select Unbounce email to self-service unblock it; contact HubSpot Support only if that does not resolve it.

Onboarding checklist

Company email address confirmed, read back character by character.
Seat type selected and available on the Seats tab.
Base permission template or permission set applied, then trimmed.
Default team set (Professional/Enterprise), and the permission-set scope that depends on it configured.
Preset assigned (Professional/Enterprise).
Invite sent; user moved out of Pending Invites.
Verified in the users table: Seat, Access, Permission Sets, Default Team (Formerly Main Team), Invite Status (there is no Extra Teams column; additional teams show only on the user record’s Setup > Teams > Team(s) field).
Post-login items owned by the user: profile details, working hours, connected email inbox and calendar, meeting link, any required certifications or training.
2.2 · Users, Teams & Access

Linking Email Addresses

Connecting a personal inbox

  1. Go to Settings > General > Email tab, then click Connect email account.
  2. Optionally tick Turn on inbox automation, then click Connect your inbox.
  3. Enter the email, click Next, then click Connect to your provider and complete the sign-in.

Account-level Email Log & Track settings

  1. Settings icon > Objects
  2. At the top of the page, click the Select an object dropdown menu and select Activities.
  3. Click the Email Log & Track tab.
  4. In the Contact email logging rules section, select one option:
  • Log replies only, logs a reply only if it’s already part of a thread logged in the CRM.
  • Log all emails (from known contacts), the default for all accounts.
  • Create new contacts from logged emails (NEW), extends this option by automatically creating a contact when a connected personal inbox receives email from an address not already in the CRM.
  1. Set the tracking and attachment checkboxes.
  • Allow all users to log email attachments, whether incoming attachments are logged to the CRM, conversations inbox and sidebar.
  • Apply Default Log setting for all users - Sales Extension Only, when on, exposes the Log all emails by default switch, which sets the default state of the per-message Log checkbox for every user.
  • A parallel Apply Default Track setting for all users - Sales Extension Only checkbox sits under the tracking checkbox and works the same way.
  • Allow all users to track emails and see recipients open and click on their emails, whether users can track email sent from the CRM, conversations inbox, email extensions and sequences.
  1. In the Manual Logging section, click Copy next to the BCC Address field and next to the Forwarding Address field, and distribute both to users.
  • BCC Address, added to the BCC line of an outgoing email; the content is recorded on the contact’s record.
  • Forwarding Address, used after the fact, to log a message you have already received.
  • Both are capped at 40 MB total for body, headers and attachments, and both require Personal email access and contact-create permissions.
  1. In the Never Log section, click Add emails or domains to build the account-wide exclusion list (labelled Blocked for all users).
  2. Click Save.
  3. From a connected inbox, send an email to a test contact that already exists in the CRM and confirm the activity lands on the timeline in the expected form (logged / tracked / neither).
  4. Send a second email to an address on the never-log list and confirm no activity and no new contact record is created.

Per-user logging and tracking controls

  1. Inbox automation (per inbox). Go to SettingsGeneralEmail tab. Next to the connected inbox, toggle Inbox automation on or off, this can be set at initial connection or changed later for an already-connected inbox.
  2. Personal never-log list (per user). Go to SettingsGeneralEmail tab and find the Never Log section labelled Only You, to add addresses or domains that apply only to your own connected inbox, separate from the account-wide list (labelled All Users).
  3. Per-user log/track defaults in the Chrome extension. In Gmail, click the gear icon at the top of the inbox and select Log and track settings, then toggle your default logging and tracking preferences there (the Outlook add-in’s own settings menu offers the equivalent control).
  4. Email aliases. SettingsGeneralEmail tab → Configure section → Add email alias.
  5. Default one-to-one From address (per user). On any record, click the Email icon, click the email address in the From field, click Edit default from Address, then select an address from the dropdown and click Set as default.
  6. Restricting who can read logged email. This is the CRM emails permission. Go to SettingsUsers & Teams, edit a user’s permissions, open the CRM tab, then CRM Objects, then CRM emails, and choose All CRM emails, Their team’s CRM emails, or Their CRM emails (only emails they are on as sender, recipient, CC or BCC) to control who can view email content on a shared record.

Tracking consent and data privacy

  1. Data privacy settings. Go to SettingsPrivacy & Consent to manage GDPR and consent options, including a legal-basis setting that, when enabled, automatically turns on unsubscribe links for one-to-one and sequence emails and shows a legal-basis banner on contact records in the sales extension. This is separate from the tracking on/off toggles below.
  2. Account-wide off switch for one-to-one tracking. This is the same Allow all users to track emails and see recipients open and click on their emails checkbox covered under Account-level Email Log & Track settings above, uncheck it there and click Save to turn off one-to-one tracking for every user at once.
  3. Account-wide off switch for marketing email tracking. Go to Settings icon > Tools > Marketing > Email, click More, then click Tracking tab, and turn off Track email opens, Track clicks in HTML emails, and Track clicks in plain text emails to disable tracking for all marketing emails account-wide.
  4. Per-email off switch for marketing email tracking (BETA, you must opt the account into the Switch off tracking per marketing email beta).

Connecting an Email Sending Domain

  1. Settings icon > Content → Domains & URLs
  2. Click More, then click the Email Sending tab.
  3. In the top right, click Connect sending domain.
  4. Enter an email address you use to send marketing emails, then click Next.
  5. Confirm the email sending domain HubSpot derives from that address is correct, then click Next.
  6. If available for your DNS provider, click Sign in with [provider] to let HubSpot write the records for you. Otherwise, click No, I’ll set it up manually, then copy the DKIM (two CNAME records), SPF (one TXT record) and DMARC (one TXT record) values HubSpot generates and add them to the DNS provider’s own interface yourself, if an SPF record already exists, append the new HubSpot string to it rather than creating a duplicate, so the SPF version and “-all” flag each appear only once.
  7. Save the records at the DNS provider. Propagation typically takes 10 to 70 minutes but can take up to 48 hours, wait at least 20 minutes before verifying.
  8. Return to SettingsContentDomains & URLsMoreEmail Sending.
  • Not authenticated, none of DKIM, SPF and DMARC is fully set up.
  • Partially authenticated: “DKIM has been correctly set up and verified but SPF or DMARC still need to be fully verified.”
  • Authenticated, all three complete and verified.
  1. Send a test marketing email to an internal address and confirm the From address renders as your own domain, with no HubSpot-managed sending domain substituted.
  2. Open the marketing email in the editor, click the From address dropdown menu and select the address to send from.
  3. An address is usable only if it belongs to an active user in the account or sits on a connected email sending domain or has been individually verified.
2.3 · Users, Teams & Access

Adding Meeting Links to Users

Configure Meeting Scheduling Pages

Step 1, Grant the user the permissions the meetings tool depends on

  1. From the Settings icon, open Account Management > Users & Teams.
  2. Go to Settings > Users & Teams > the user record > Access tab > Edit permissions.
  3. In the Account category, toggle on Personal email access.
  4. In the Sales category, toggle on Sales Access, then toggle on Meeting scheduling pages (only for users who manage others’ calendars).
  5. Click Save (top right).

Step 2, Have the user connect their calendar (Google or Office 365)

  1. From the Settings icon, open Your Preferences > General.
  2. Go to Settings > Your Preferences > General, click More, then click the Calendar tab, then click Connect your Calendar.
  3. Choose Google / Gmail or Office 365 and sign in.
  4. Review the permissions, then click Accept and connect.

Step 3, Confirm the user’s calendar settings before any page is built

  1. Settings icon > General
  2. Click More, then click the Calendar tab.
  3. Confirm the Calendar Sync checkbox is selected.
  4. If the user has an assigned Sales or Service seat and you want their HubSpot tasks on their calendar, click Connect your calendar to create and connect a new calendar for HubSpot tasks.
  5. Confirm the Meeting Scheduling Pages checkbox is selected.
  6. Click the Availability Calendars dropdown menu and select any additional calendars HubSpot should check for conflicts before offering times.
  7. Review the list for calendars the user has lost access to and remove them by clicking the X next to the inactive calendar.

Step 4, Set the user’s meetings URL, default link, and (optionally) custom domain

  1. Settings icon > General
  2. Click More, then click the Calendar tab.
  3. In the Meetings URL field, edit the URL.
  4. To change which page is used when meeting links are inserted into sales email templates, click the Default meeting link dropdown menu and select a page.
  5. To host scheduling pages on your own domain instead of a HubSpot address, click the Meeting domain dropdown menu and select a custom domain.

Step 5, Create the scheduling page and set the meeting details

  1. From the side rail, open Sales > Meetings.
  2. On the Meetings screen, click Create scheduling page, then pick One-on-One, Group, or Round robin.
  3. Set the meeting details and availability, then optionally toggle CAPTCHA, Block free email domains, or Allow guests.
  4. Save and copy the link.

Step 6, Add team members (Group and Round robin only)

  1. From the side rail, open Sales > Meetings, then continue the scheduling page you began creating in Step 5 above.
  2. On the Team members page, in the top right, click Edit members.
  3. In the right panel, choose one:
  4. Users, click the Users dropdown menu, select the users, then click Confirm.
  5. Use a rotation, click the Rotation dropdown menu, select a meeting rotation, then click Confirm.
  6. Click Next.

Step 7, Set the page URL, welcome screen, and availability

  1. From the side rail, open Sales > Meetings, then continue the scheduling page you began creating in Step 5 above.
  2. On the Scheduling page, at the top, edit the scheduling page URL.
  3. If HubSpot payments or Stripe is set up and you want to charge for the booking, toggle Collect payments on, then on the Payment tab click the Payment link dropdown menu and select a payment link.
  4. On the Welcome tab (round robin only), toggle Prioritize contact owner on if a known contact should be routed to their owner.
  5. On the Schedule tab, set:
  • Scheduling title, the heading above the calendar.
  • Duration, click the Duration options dropdown menu and select durations; click + Add custom duration for others.
  • Your time zone, the time zone the availability is based on.
  • Availability window, set days and times; click + Add hours for additional blocks.
  • Consider working hours, toggle on so users can only be booked inside their configured working hours.
  1. Expand Additional settings and set:
  • Image, Organizer’s avatar (one-on-one pages only), Company avatar, or Custom image.
  • When a meeting can be scheduled, select Over a period of rolling time, or Custom date range (assigned Sales or Service seats only; a custom range cannot exceed 10 weeks).
  • Minimum notice time, the shortest lead time a contact can book with.
  • Buffer time, gap enforced between meetings.
  • Start time increment, the granularity of start times, e.g. 15-minute increments produce 10:00, 10:15, 10:30.
  • Booking page language, if the visitor’s browser language cannot be detected, the page renders in English.
  • Date and time format, the options offered depend on the Booking page language selected.

Step 8, Configure the booking form and confirmation behavior

  1. From the side rail, open Sales > Meetings, then continue the scheduling page you began creating in Step 5 above.
  2. On the Form tab, note that First Name, Last Name, and Email are required by default and cannot be removed.
  3. To add a property field, click + Contact property, select a contact property, then click Save.
  4. To add a free-text question, click + Custom question, enter the question, then click Save.
  5. Toggle CAPTCHA (spam prevention) on to add a CAPTCHA challenge.
  6. Toggle Block free email domains on to reject consumer addresses.
  7. Toggle Allow guests on if invitees may add other attendees.
  8. If data privacy settings are on for the account, new scheduling pages default to data privacy on and inherit the Consent text from your Privacy & Consent account settings.
  9. Expand Additional settings to toggle Pre-populate fields with known values and Auto-submit form when all fields are pre-populated.
  10. On the Confirmation tab, to send the contact somewhere specific after booking, select Restrict to another page, then either pick a HubSpot page from the dropdown menu or click Add external link, enter the URL.
  11. Click Next.

Step 9, Set the automations, then create the page

  1. From the side rail, open Sales > Meetings, then continue the scheduling page you began creating in Step 5 above.
  2. On the Automation page, a confirmation email is sent by default when someone books.
  3. To add reminders, toggle Pre-meeting reminder on.
  4. Enter a number in the text field and use the dropdown menu to select weeks, days, hours, or minutes before the meeting.
  5. Click + Add reminder for up to three reminder emails total.
  6. Click Preview reminder email to see what contacts receive.
  7. Click Customize your reminder email to edit the Subject line and body, inserting company, contact, host, and meeting tokens via the Personalize dropdown menu in the bottom toolbar.
  8. Click Create scheduling page.

Step 10, Share the meeting link

  1. From the side rail, open Sales > Meetings.
  2. Click Show in a pop-up, then Create pop-up, to generate a draft pop-up in the calls-to-action tool pre-filled with the meeting details.
  3. Click Get embed code, then Copy code, or click Email web developer, enter the developer’s email, and click Send message.
  4. Click Copy share link, then Copy.
  5. In your HubSpot account, click the Sales icon in the left rail, then click Meetings.
  6. To see another user’s pages, click the Owner dropdown menu and select a user.
  7. Hover over the meeting name and click Copy link.
Verify it worked
  1. In your HubSpot account, click the Settings icon in the top navigation bar.
  2. Click Users & Teams in the left sidebar menu.
  3. In the user table, click the user record.
  4. On the Overview tab, review the Connected accounts card, it lists the user’s connected email and calendar, any active calendar syncs, and their scheduling pages.
  5. Or go directly to the Preferences tab and click Connected accounts in the left sidebar.
  6. In your HubSpot account, click the Sales icon in the left rail, then click Meetings.
  7. Hover over the meeting link and click Edit.
  8. In the top right, click Troubleshoot.

Default reminder emails for the whole account

  1. Settings icon > Tools > Meetings
  2. On the Meeting Configurations tab, toggle the turn on meeting reminders by default switch on.
  3. Enter a number in the text field, then click the Scheduled reminder email dropdown menu and select a time measure.
  4. Click Add reminder for up to three reminders; click the Delete icon to remove one.
  5. Changes on this page save automatically; there is no separate Save button.

Meeting rotations for distributing inbound demand

  1. Settings icon > Tools > Meetings
  2. Click Meeting Rotations (a direct tab next to Meeting Configurations), then click Create a rotation.
  3. In the right panel, enter a Rotation name.
  4. Click the Rotation members dropdown menu and select users or teams.
  5. Under Distribution logic, select Distribute meetings evenly between members or Distribute meetings based on a weighted percentage assigned to each member.
  6. Click Save.
  7. For weighting, click the rotation name and set each member’s Weight.

Before deactivating a user: transfer their scheduling pages

  1. In your HubSpot account, click the Sales icon in the left rail, then click Meetings.
  2. Select the checkboxes next to the scheduling pages to move.
  3. At the top of the table, click Transfer ownership.
  4. In the dialog box, click the Owner dropdown menu and select a new owner, then click Transfer.
  5. Only then remove the user from the account.
2.4 · Users, Teams & Access

Setting Up Email Signatures

HubSpot signatures come in two types: Simple (a built-in editor with formatting icons, links, and image insertion, but no raw code access) and HTML (a formatted, visual signature built from custom HTML, with clickable social icons and a calendar link).

Build and Install an Email Signature

  1. Open HubSpot’s free Email Signature Generator. It is not linked from inside HubSpot, so find it by searching for HubSpot email signature generator.
  2. On the Details tab, fill in full name, job title, department, company, phone number(s), website, email, address, and social links. You can add custom fields and legal content.
  3. Turn off the Created With HubSpot credit toggle at the bottom. The tool is free, so there is no reason to advertise it in the signature.
  4. Use the left rail (Templates, Styles, Images) to pick a layout and match colors and fonts to the brand. Buttons and calls to action are interactive: a Schedule time with me button can open the rep’s calendar link.
  5. Add the logo: it needs a hosted URL. Upload the file inside HubSpot at Content, then Files (use a transparent PNG for a logo), click Copy URL, and paste that into the Company Logo field in the generator.
  6. When it looks right, click Create signature, then Copy source code. Keep that code on your clipboard.
  7. Back in HubSpot, click the Settings icon. Under Your Preferences, then General, open the Email tab, then Manage email signatures.
  8. Flip the Signature toggle from Simple to HTML, paste the source code, tick Use as my global default signature, and Save. The preview renders exactly as it looked in the generator.
Best Practices
  • Everyone builds their signature with the same tool so signatures look consistent across the org.
  • Set the signature once in the HubSpot back end, per user. A sequence can then close with just a greeting (for example Talk soon,) and each sender’s own signature is appended automatically. Do not rebuild the signature as personalization tokens in every email.
  • Decide as a team whether a lead-in line (for example Talk soon,) lives in the email body or the signature block. That greeting can be kept in the email body, separate from the signature block, so tone can be tailored per message. Editing text directly into the HTML signature means editing inside the table HTML, which is more tedious.
2.5 · Users, Teams & Access

Team Set-Ups

Create a team manually

  1. Go to Settings icon > Account Management > Users & Teams > Teams tab, then click Create team.
  2. Type the Team name, and set a parent team (or leave standalone).
  3. Add members in the Search for users box, then click Save.

Create teams in bulk by import

  1. Go to Settings icon > Account Management > Users & Teams > Teams tab, then click Import teams.
  2. Click Choose a file and select your import file.
  3. Set the column-header language, map the columns, then Finish.

Set a user’s Main Team and Extra Teams from their user record

  1. Settings icon > Account Management > Users & Teams
  2. Click the name of the user.
  3. On the user settings page, click More ▾, then select Setup.
  4. In the left sidebar, click Teams.
  5. Use the Main Team dropdown menu to select the user’s main team.
  6. If the user is assigned to a main team, use the Extra Teams dropdown menu to assign them to additional teams.
  7. Click Save.

Edit, move and delete teams

  1. Settings icon > Account Management > Users & Teams
  2. Click the Teams tab.
  3. Browse or search for your team.
  4. Hover over the team name, then click Edit.
  5. Make changes to the Team name field as needed.
  6. To add or remove users, use the On this team searchable list, checking or unchecking each user, with a per-member Membership/Default team dropdown (there is no single Team members dropdown menu).
  7. Click Save.
  8. Repeat steps 1 to 4.
  9. Hover over the team name, then click Move.
  10. In the dialog box, use the Teams dropdown menu to select the teams to move, any nested teams under that team move with it, then use the New parent Team dropdown menu to select the new parent.
  11. Click Save.
  12. Repeat steps 1 to 4.
  13. Hover over the team name, then click Delete.
  14. In the dialog box, click Delete team.

Restrict record visibility using Teams plus permission scope

  1. Settings icon > Account Management > Users & Teams
  2. In the table, select the checkboxes next to the users’ names.
  3. At the top of the table, click Edit permissions.
  4. In the left sidebar menu, navigate to CRM > CRM Objects.
  5. Click the name of the object (for example Contacts, Companies, Deals) to expand the section.
  6. Click the View dropdown menu and select Their team’s [objects], then clear the Unassigned checkbox.
  7. The available options are All [objects], Their team’s [objects] and Their [objects] for View; Edit, Delete and Merge add None.
  8. The Unassigned checkbox, which appears once you select a team- or owner-scoped option, lets the user also act on records with no owner.
  9. Unassigned applies only to the object’s default owner property (for example Deal owner) and ignores custom HubSpot user properties.
  10. To control which records a user can log emails, calls and meetings to, go to CRM > CRM Tools and use the Communicate dropdown: All records, Records their team owns, Records they own, None.
  11. In the top right, click Save.

Create a permission set for a team (Enterprise)

  1. Go to Settings icon > Account Management > Users & Teams > Permission Sets tab, then click Create Permission Set.
  2. On the Access tab, name the set and toggle the CRM, Sales, Service, and Reports permissions it should grant.
  3. Move to the Review tab to confirm the selections, then optionally assign the set to specific users on the Users tab.
  4. Click Create.

Scope assets and tools to teams

  1. Navigate to the tool holding the asset (templates, sequences, documents, playbooks, workflows, campaigns, ad accounts, social accounts, files, etc.).
  2. The sharing option’s name and presence vary by asset type: on Sequences, hover over the asset and its per-row Actions dropdown offers Manage sharing. Files and Documents currently expose no per-asset access-scoping option at all (Files’ bulk toolbar offers only Move, Move to trash and Change file visibility; Documents’ Actions dropdown offers only Create link, Download, Delete, Move and Edit campaigns).
  3. In the Manage sharing settings dialog box (for a sequence, asking Who can see this sequence?), select Private, Everyone, or Specific users or teams (three choices, not two).
  4. Click the Teams or Users tab, then select the checkboxes for the teams and users to assign.
  5. Click Save. The asset is then visible only to the selected users and teams.
  6. Settings icon > Account Management > Users & Teams
  7. Click the Teams tab.
  8. Click to toggle the Limit access to new content switch on (requires Content Hub or Marketing Hub Enterprise).
2.6 · Users, Teams & Access

Setting Up Permissions

Permissions are governed through Permission Sets under Settings icon → Account ManagementUsers & TeamsPermission Sets. A Permission Set is a bundle of CRM object access levels, tool access, and account-level permissions that gets assigned to one or more users, it is the layer that should do almost all of the work, with individual per-user overrides kept rare.

Create and Assign Permission Sets

  1. Go to Settings icon → Account ManagementUsers & TeamsPermission Sets, then click Create permission set. In the wizard’s Choose how to set access section, choose one of three cards: Make Super Admin, Start with a template (default), or Start from scratch. For a template, choose the closest starting point from Choose a template (Sales manager, Sales rep, Marketing manager, Content marketer, Service manager, Service rep, Standard user, View only, CMS developer, or Developer).
  2. Name the set after the role it represents (e.g., ‘SDR, Standard’ or ‘Client Success, Read Only’), not after a specific person.
  3. Under each CRM object (Contacts, Companies, Deals, Tickets, Custom Objects), each action gets its own control, not one shared access-level dropdown: Create is a plain on/off toggle; View and Edit each get a 3-option dropdown, All [objects], Their team’s [objects], Their [objects] ; Delete and Merge get a 4-option dropdown adding None (Delete also carries a Critical badge). Set each action’s scope as appropriate for the role.
  4. The wizard’s left sidebar is a flat list of top-level categories, not one grouped section: CRM (CRM objects, CRM tools, Custom objects), Marketing, Sales, Revenue, Service, Data management, Automation, Reporting, AI features, Account. Enable only the specific tools this role needs (for example Sequences, Workflows, Reports) by navigating each relevant category individually rather than granting broad access by default.
  5. These sensitive permissions are scattered across categories, not grouped under one Account section: Import and Export are separate Critical toggles under CRMCRM tools (not Account); AccountAccount settings has the Modify billing and change name on contract toggle (Critical); AccountAccount access has a single bundled Account Access toggle covering user management, data privacy settings, account defaults and billing all at once (not four separately reviewable toggles). Grant each only to roles that genuinely require it.
  6. Save the set, then assign it to users under Settings icon → Account ManagementUsers & TeamsUsers → [select user] → Access tab.
  7. Log in as (or shadow-test with) a sample non-admin user to confirm the permission set behaves as intended before rolling it out to the full role.
Best Practices
  1. Build permission sets around roles, not individuals, a handful of well-named sets covering your actual job functions is far easier to maintain than dozens of one-off, per-person configurations.
  2. Default new permission sets to the most restrictive access that still lets the role do its job, and expand only when a real, specific need comes up.
  3. Keep Super Admin assigned to the smallest possible number of people, every other role should be built from a scoped, custom permission set instead.
  4. Separate ‘can view sensitive data’ from ‘can delete/export sensitive data’ wherever HubSpot’s permission granularity allows it, most day-to-day roles need the former, very few need the latter.
  5. Re-run a permission set review any time your org restructures, not just on your regular review cadence.
Caution: Permissions granted directly to an individual user (rather than through a Permission Set) are easy to forget about during an audit, they do not show up when you are reviewing sets, only when you open that specific user’s profile. Avoid one-off overrides; adjust the set or create a new one instead.
2.7 · Users, Teams & Access

Permissions: Granularity & Ownership Fields

Setting Up Permissions covers assigning a Permission Set at user creation, this page covers how permissions actually resolve and how they interact with ownership. Getting this right is what prevents both over-exposed data and “why is this record not visible to me?” tickets.

How Permissions Work

  • Permissions are granular: they are set per object (Contacts, Companies, Deals, Tickets, custom), per action (View / Create / Edit / Delete / Merge), and View/Edit/Delete/Merge can each be scoped to whose records a user may touch, for example on Contacts: All contacts / Their team’s contacts / Their contacts. Communicate (whether a user can log emails, calls and meetings to a record) is a separate CRM Tools control, not a peer action alongside View/Edit/Delete/Merge.
  • Tool access (Workflows, Segments, Import, Reporting, etc.) is a separate axis from CRM record access, a user can have full contact access but no rights to build workflows.
  • Property-level and some field-level controls exist on higher tiers, sensitive properties can be hidden or made read-only for certain permission sets.
  • Teams control which records a user sees; Permission Sets control what they are allowed to do. Use them together, not as substitutes.

Permissions & Ownership Fields

  • Owned-only” visibility keys off the record’s owner field. With a single owner (the standard HubSpot Owner property), a user sees a record only if they are that owner.
  • When a record needs to be visible to more than one person, use a multi-user ownership field (a custom “HubSpot user” property that accepts multiple users) and grant visibility through Team membership rather than loosening everyone to “Everything.”
  • Decide the ownership model per object before rolling out restrictions, single-owner is simplest for straight sales; multi-user ownership fits pods, pooled service queues, or account teams.
  • Always test record-level restrictions with a non-admin test user before rolling out, Super Admins bypass every restriction and will not experience what a scoped user sees.
Caution: Tightening visibility to Owned-only on an object where records were never consistently assigned an owner will make records vanish for most users. Confirm owner data is clean before enabling owner-based restrictions.
2.8 · Users, Teams & Access

Managing Users & Their Tools

Adding a user is only the first step, a user is not productive until their tools are connected. Treat provisioning as one bundled motion rather than a series of disconnected tasks. This section groups the per-user setup and points to the detailed steps for creating the user, connecting their email, adding a meeting link, and setting their signature.

The Per-User Setup Bundle

  1. Create the user and assign a Permission Set and primary Team (see Adding Users).
  2. Connect their email inbox for logging and tracking (see Linking Email Addresses).
  3. Connect their calendar, then create and brand their meeting link (see Adding Meeting Links to Users).
  4. Set up their email signature in HubSpot so tracked/sequenced sends carry consistent branding (see Setting Up Email Signatures).
  5. Connect calling (HubSpot Calling or an integrated provider) and assign a phone number or verify their outbound number if the user will call from HubSpot.
Best Practices
  • Standardize email-signature structure across your users so replies and sequence sends look uniform.
  • Verify calling permissions and number registration early, carrier/branded-caller-ID registration can take days, so it should not be discovered on go-live day.
2.9 · Users, Teams & Access

Account Access & Security Review

Who can reach your portal and what can they do: who holds Super Admin (full) access, who can manage billing, what HubSpot’s Security Health dashboard flags, and how paid seats are assigned. Run it when you take over a portal, when your team changes, or on a regular schedule, so access always matches who should have it.

Grant billing permission (Modify billing and change name on contract)

  1. Settings icon (upper right-hand corner) > Users & Teams
  2. Select the user, then click Edit permissions.
  3. Go to the Account section, then Settings access.
  4. Toggle Modify billing and change name on contract.

Confirm and inventory Super Admins

  1. Go to Settings > Users & Teams.
  2. Read each user’s access from the Access and Permission Sets columns; note anyone with more than their role needs.

Cross-check against Security Health

  1. Go to Settings > Security > Permissions tab (Super Admin access required, this whole section is invisible to non-Super-Admins).
  2. Review each measure shown: partner users with Super Admin access, Super Admins in your account, users with critical permissions, and inactive users, then click Manage on anything to remediate. Two-factor enforcement is configured separately, under the Login tab on the same Security page, not as a measure here.

Confirm seat assignment for each Super Admin

  1. Go to Settings > Users & Teams > Seats tab.
  2. Confirm each Super Admin holds a paid Core, Sales, or Service seat and none sits on a Developer seat.

Confirm audit visibility and its retention limits

  1. Settings icon > Audit Log
  2. Review the All Logs, Login History and Security Activity tabs.
  3. Click Export report to take a copy before the retention window rolls off, check the banner at the top of the Audit Log for the exact number of days on this portal (retention varies by subscription tier).

Check permission history for the users you inherited

  1. Settings icon > Users & Teams
  2. Hover over the user and click the Actions dropdown menu, then click Manage permissions.
  3. Click View user permission history, then review the Permission, Action (Create = permission added, Delete = permission removed), Updated by and Date of change columns. (GDPR delete)
2.10 · Users, Teams & Access

Installation of the Mobile App on Users’ Phones

The HubSpot mobile app (CRM & Sales) gives reps calling, notifications, and record access on the go. Installation is user-driven from the device’s official app store, HubSpot does not support installing it from a third-party site or, on Android, from a sideloaded APK.

Install and Configure the Mobile App

  1. On the user’s device, open the Google Play Store (Android) or the App Store (iOS).
  2. Search for ‘HubSpot’ (CRM & Sales) and tap Install (Android) or Get (iOS).
  3. Open the app once installed, and log in with the user’s HubSpot credentials.
  4. If the user has access to multiple HubSpot accounts, select the correct portal when prompted.
  5. When the ‘HubSpot Would Like to Send You Notifications’ prompt appears, tap Allow, if missed, notifications can be re-enabled later from the device’s own SettingsNotificationsHubSpot.
  6. Inside the app, tap Menu, then the Settings icon, to configure calling preferences, keyboard behavior, Dark Mode, and Device Lock (biometric/PIN protection for the app itself).
  7. Under the app’s Notifications settings, toggle on the specific activity types the user wants pushed to their phone (tasks, mentions, deal updates, etc.) rather than leaving every category on by default.
Best Practices
  1. Add mobile app installation to the standard new-user onboarding checklist so it is not left to chance for customer-facing reps.
  2. Turn on Device Lock (biometric or PIN) for every installed instance, the mobile app carries live CRM data, and a lost or unlocked phone is a real data exposure risk.
  3. Use SettingsAccount DefaultsNotification Profiles (Super Admin only) to set sensible default notification channels (email, in-app bell, pop-up, browser, and connected apps like Slack) so new users start with reasonable alert behavior. Mobile push toggles are separate: each user sets those inside the mobile app’s own Notifications settings (Step 7 above).
  4. Standardize which notification categories reps should have on (e.g., task reminders and @mentions) versus off (e.g., every marketing email open) to avoid notification fatigue that leads users to disable the app’s alerts entirely.
  5. If mobile calling will be used, confirm the user’s connected calling number and permissions are set up before they rely on the app for live prospect calls.
Note: Android installation is only supported through the Google Play Store. If a user’s device does not have Play Store access (e.g., certain corporate-locked devices), the mobile app cannot be sideloaded as a workaround, this needs to be resolved at the device/MDM level, not in HubSpot.
3.1 · Data: Import, Migration & Integrity

Setting Up Data Imports: Tips & Tricks

Permissions

  1. From the Settings icon, open Account Management > Users & Teams.
  2. Go to Settings > Users & Teams > the user > Access tab, click Edit permissions, use the Current view permissions selector (there is no CRM tab) to reach CRM > CRM tools, then toggle on Import and Export.

Take a backup before you import

  1. Click the CRM rail icon and the relevant object (there is no More click needed).
  2. Select the view containing the records the import will touch.
  3. In the upper right, click Export.
  4. Click Customize and choose All properties and all associations on records rather than the default Properties and associations in your view.
  5. Choose a File format (CSV, XLSX or XLS) and confirm.
  6. HubSpot emails a download link.

Format the import file

Start from a generated template, not a blank sheet

  1. From the side rail, open CRM, then open the object's index page and click Import data.
  2. Enter the import flow and select the objects and activities you intend to import.
  3. Click Next.
  4. Click Download example file.
  5. HubSpot creates a column for each object’s required properties.
  6. The generated file contains explanatory helper rows.

Run a single-object import

  1. From the side rail, open CRM, then open the object's index page and click Import data.
  2. Go to the object index > Import data > Advanced imports (all objects), pick the object, then Next.
  3. Choose the import mode (Create and update [Object]s, Create new [Object]s only, or Update existing [Object]s only, the object name is embedded in each option and every mode but the first ends in "only").
  4. Map your unique-identifier column first, then the rest; set Do not overwrite on any column that must not clobber good data.
  5. Name the import, then click Finish.

Importing multiple objects and associations

  1. From the side rail, open CRM, then open the object's index page and click Import data.
  2. Enter the import flow and choose Advanced imports (all objects).
  3. Choose Single file if all objects are in one spreadsheet, or Multiple files if each object has its own file.
  4. For Multiple files, click choose a file for each object (the live control reads lowercase "choose a file", not "Select a file"), then identify the shared key using the Common column headers found in your files dropdown menu.
  5. For Single file, use the Choose how to import [objects] dropdown for each object type.
  6. Include a unique identifier for each object involved.
  7. When importing exactly two objects, the HubSpot property column populates the relationship automatically.
  8. To apply association labels, set the column’s Import as dropdown to Association label.
  9. Click Next, complete the Details step, then click Finish import.
Verify it worked
  1. From the side rail, open Data Management > Data Integration.
  2. Read the import row. Click the Data Management rail icon (no More click needed), navigate to Data Integration, then select the File imports tab.
  3. Isolate the affected records on the index page.
  4. Spot-check individual records against the source file.
  5. Review property history on an updated record.

Rollback: what is actually recoverable

A. Delete the records an import created

  1. Click the Data Management rail icon (no More click needed), navigate to Data Integration, then select the File imports tab.
  2. Hover over the import and click More, then select View [Object], for whichever object you need (the menu lists one View [Object] entry per object type included in the import, not one generic View Records item).
  3. Select the checkboxes next to the records to remove and click Delete.

B. Restore records you deleted in error, 90 days

  1. Go to the object’s index page.
  2. In the upper right, click the unlabeled ... (three dot) overflow icon, there is no button literally labeled Actions here, then select Restore records.
  3. Filter by a pre-defined date range or a custom range up to 90 days ago, then restore.

C. Roll back the property changes an import made, 14 days, Super Admin

  1. Settings icon > Backup & Restore
  2. Select the Restore tab, then Restore CRM changes.
  3. Set the Source dropdown to Import, then pick the specific past import from the Import name dropdown.
  4. Optionally narrow by Objects and Properties. There is no date or time picker for the Import source option; Select a date and Select a time only appear under the separate CRM Changes source option (which also offers Integration and Workflow), not here.
  5. Click Prepare preview.

Post-import hygiene

Run duplicate management

  1. Click the Data Management rail icon, then select Data Quality (no More click needed).
  2. Click the Manage Duplicates tab.
  3. Click the Contacts or Companies tab to view the table of duplicate objects.
  4. Click a record to open a side panel with its details.
  5. Click Review to merge: you can customize which properties will merge in the dialog box before confirming, or Reject to confirm the records are not duplicates and keep both.
  6. Export the duplicate list to CSV, XLS or XLSX if you need to work it as a queue.
3.2 · Data: Import, Migration & Integrity

Creating Unique Identifiers for Data Imports

Create the Unique Identifier property in the UI

  1. From the Settings icon, open Data Management > Properties.
  2. Go to Settings > Properties, pick the object, then Create property with a source-named label (for example NetSuite Customer ID).
  3. Select the Require unique values for this property checkbox directly on the property creation panel itself, no Rules tab or Edit more options click needed, then click Create.

Create the property via API (alternative path)

  1. Make a POST request to /crm/v3/properties/{objectType}.
  2. In the request body, set the hasUniqueValue field to true.
  3. Once created, address records by that key using the idProperty query parameter, for example, to retrieve a deal with a value of abc for the system_a_unique property, the request URL is /crm/v3/objects/deals/abc?idProperty=system_a_unique.
  4. The same ten-per-object ceiling applies: “You can have up to ten unique ID properties per object.”

Custom objects, set uniqueness on the Primary Display Property

  1. Go to Settings icon > Data Management > Objects, then use the Select an object dropdown at the top of the page (there is no More click, and no separate Data Model destination; an existing object’s Setup tab also carries a View [Object] in the data model link).
  2. Create the custom object and complete its details.
  3. For Primary display property, “enter a label for the property used to name a record of your object”.
  4. “Select the checkbox to require unique values for the primary display property. With this turned on, users will be unable to enter the same value for multiple records.” If the natural key you want to enforce is not the same as the record’s display name (for example, an Orders object displayed by a customer-facing order number but keyed internally by a system ID), create a separate property with unique values required instead, following Create the Unique Identifier property in the UI above, rather than forcing the display property itself to be unique.
Note: Reaching this checkbox requires the custom object to already exist. If your portal is not on Sales Hub Enterprise (or an equivalent Enterprise-tier plan), the Create object flow will stop at a paid-feature upsell screen before you can create a new custom object at all, this is a plan limitation, separate from the Super Admin access this procedure otherwise assumes.

Prepare the import file

  1. Build the file as CSV, XLSX, or XLS, with a single sheet.
  2. Stay inside HubSpot’s limits: fewer than 1,000 columns; on free tools, up to 20MB, 50 imports per day and 500,000 rows per day.Stay inside HubSpot’s limits: fewer than 1,000 columns. On the free tools, up to 20MB per file, 50 imports per day, and 500,000 rows per day. On a paid tier (Starter, Professional, or Enterprise), up to 512MB per file, 500 imports per day, and 10,000,000 rows per day, so check which ceiling applies to your portal’s subscription.
  3. Include a column whose header matches the unique identifier property you created.
  4. Include the object’s other required column headers: contacts need First name, Last name, or Email; companies need Name or Company domain name.
  5. De-duplicate the key column within the file before uploading.
  6. If you are importing contacts with more than one email address, “include an Additional email addresses column with their secondary emails.” If you are importing companies with more than one domain name, include an Additional domains column with their secondary domains the same way. To list multiple emails or domains in one cell, separate them with semicolons (for example, email@example.com; emailtwo@example.com).
  7. If the same file also creates associations, “Include information about associated records and/or activities in the same row and include a unique identifier for each object”.

Run the import against the Unique Identifier

  1. Click the Data Management rail icon, then select Data Integration (no More click needed).
  2. In the Import a file section, click Import data.
  3. Click Advanced imports (all objects).
  4. Select the object you want to import, then click Next.
  5. Choose the import mode from the dropdown: Create and update [records], Create new [records] only, or Update existing [records/activities] only.
  6. Upload the file (or paste the data), confirm the column header language, then click Next.
  7. Map the columns. Map your key column to the unique identifier property you created.
  8. Click Next once all columns are mapped.
  9. On the details screen, enter an import name.
  10. If your file includes more than one unique value property for the object, a Property to use to find existing [records] dropdown appears on the review screen, use it to select which property HubSpot should use for deduplication.
  11. Complete the remaining options on this screen (consent checkbox, contact segment/list, legal basis and marketing status for contacts, date and number formats).
  12. Click Finish import.
Verify it worked
  1. Click the Data Management rail icon, then select Data Integration, and open the File imports tab (no More click needed).
  2. In the imports table, read the New records column (“the number of new records added”) and the Updated records column (“the number of existing records updated by the import”).
  3. Apply the test: on a re-import of records that already exist, New records should be approximately zero.
  4. Click the import name to open its detail view.
  5. Open the Errors tab. Where an import has no errors, a checkmark is displayed.
  6. Correct the source file and re-import only the failed rows.
  7. Spot-check in the CRM: open two or three records that should have been updated and confirm the unique identifier property is populated and the expected fields changed.
3.3 · Data: Import, Migration & Integrity

Obtaining Emails from a Previous System into New HubSpot

  1. Import and deduplicate contacts, companies and deals first.
  2. Grant the importing user the Import permission.
  3. Grant Edit permission for every object in the import file.
  4. Grant Personal email access to any user who will log email manually.
  5. Confirm Super Admin access for Smart Transfer. “Only Super Admins can access Smart Transfer.”
  6. Decide the CRM email visibility model before you load data.

Route A: HubSpot Smart Transfer (check this first)

Using Smart Transfer

  1. From the Settings icon, open Data Management > Import & Export.
  2. Confirm you are a Super Admin (Smart Transfer is Super-Admin only), and grant the importing user Import and Edit on every object.
  3. Go to Settings icon > Data Management > Import & Export, then click Go to import to reach the Data Integration page, then click Transfer data on the Transfer your data card (there is no More menu, and no Data Import destination). This opens the Smart Transfer page: a grid of compatible source apps, each with an Install button, not Transfer, and no search box.
  4. On the User Guide tab click Audit my data, then Transfer my data.
  5. On the Configure page, map the properties per object, then run.

Reverting a Smart Transfer

  1. Go to Settings icon > Data Management > Import & Export, click Go to import, then Transfer data > the app > Configure Transfer tab (there is no More menu, and no Data Import destination).
  2. Click Revert transfer, select the stages to revert, then Revert.

Route B: Bulk import email activities from a spreadsheet

Importing emails against existing contacts

  1. From the side rail, open Data Management > Data Integration.
  2. Build the file. At minimum include: the contact’s Email (the association key), Email body, Email direction, Activity date, and Email subject.
  3. Download HubSpot’s Emails and existing contacts (CSV) sample from the Sample import files article and match its structure before building the real file.
  4. Click the Data Management rail icon, then select Data Integration (no More click needed).
  5. In the Import a file section, click Import data.
  6. Click Advanced imports (all objects).
  7. Select the objects for the import, Emails and Contacts, then click Next.
  8. Choose Single file (both objects in one spreadsheet) or Multiple files (one file per object, joined on a common column).
  9. If you chose Multiple files, click the Common column headers found in your files dropdown and select the shared column.
  10. Use the dropdown labelled Choose how to import [objects]/activities and select Create new [records] only.
  11. Upload the file: under Upload a file, click choose a file; or under Copy and paste, click paste directly from your spreadsheet.
  12. On the mapping screen, use the Import As dropdown to declare which object each column belongs to, and the HubSpot Property dropdown to map each column to a property.
  13. Name the import, select the Consent checkbox, set the date format to match your file, then click Finish import.

Route C: Manual logging from a connected mailbox

Retroactively logging an individual message

  1. In your Gmail inbox, locate and click the email you want to log.
  2. Below the recipient details, click Log email to HubSpot.
  3. Select the checkboxes for the existing CRM records, or for new contacts to create, that the email should be logged against.
  4. Click Save.
  5. In your Outlook inbox, locate and click the email you want to log.
  6. Open the HubSpot pane.
  7. In the task pane, in the This email activity section, click Log email to HubSpot.
  8. Select the checkboxes for the relevant records.
  9. Click Save.

The forwarding address (for mail you already received)

  1. Click the Settings icon in the top navigation bar.
  2. In the left sidebar, under Data Management, click Objects.
  3. Click the Select an object dropdown and choose Activities.
  4. Click the Email Log & Track tab.
  5. In the Manual Logging section, click Copy next to Forwarding Address (or BCC Address).
  6. In your mail client, forward the historical message to that address.
Verify it worked

Check the import result

  1. Click the Data Management rail icon, then select Data Integration (no More click needed).
  2. Open the File imports tab.
  3. Open the import and review the Summary and Errors tabs.
  4. Click Download errors as file and Download rows with errors as file to produce a corrections file.

Check the activity landed on the right record

  1. Open a sample contact record.
  2. In the middle column, click the Activities tab, then click the Emails tab to see only email activities.
  3. Click Filters to show the activity filters.
  4. Confirm the migrated messages sit at their original dates, not at the import date.

Check at scale on the Emails index page

  1. Click the CRM rail icon, then select Contacts (no More click needed).
  2. Click the Contacts dropdown at the top of the page and select the Emails activity index page.
  3. Filter to the migration date range and sort by activity date to confirm the distribution matches the source system rather than clustering on one day.
3.4 · Data: Import, Migration & Integrity

ZoomInfo: HubSpot Integration Governance

Connect the export integration

  1. Decide your Export Preference connection model before connecting, because the default is applied at connection time.
  2. In ZoomInfo, go to Admin Portal > Integrations > Connections.
  3. Use Filters or Search integrations to locate the HubSpot tile, then click Connect on the tile.
  4. Log in with HubSpot credentials.
  5. In the popup, select the radio button next to the HubSpot account you want to connect, then click Choose Account.
  6. On the success message, click Edit Settings to land on the General Settings page.
  7. Confirm the General Settings page lists your ZoomInfo account as the ZoomInfo Admin and shows the expected Service Account User.

User mapping and record ownership

  1. On the integration’s General Settings page, click Edit User Mapping.
  2. Review the User Mapping table.
  3. Manually map any ZoomInfo user who was not matched automatically.
  4. If you have switched the connected instance (for example from sandbox to production), click Reset Mapping.
  5. Re-check this table after every onboarding round.
Note: Personnel: only the primary connected admin can disconnect the HubSpot connection.

Export preferences and field mapping

  1. On the integration settings page, click Edit settings, then open the Export tab.
  2. Select each object type you want users to be able to export to HubSpot.
  3. Click Save Changes to apply to all users in the org.
  4. Open the Export Mapping tab.
  5. For each row, set the ZoomInfo Field (required fields are marked with an asterisk *), the HubSpot Field (read live from your instance), and the Update Options value:
  • Complete if missing (default), “Only complete with ZoomInfo data if none exists in HubSpot.”
  • Overwrite field: “Overwrite existing data in HubSpot with ZoomInfo data.”
  1. Add rows with Add Field at the bottom of the list; remove rows with the trash icon.
  2. Optionally set a hierarchy: map two ZoomInfo fields to the same HubSpot field and ZoomInfo numbers them 1 and 2, using the second only as a fallback.
  3. Click Test Mapping. Then click Save Changes.
Note: Picklists: if you map to a HubSpot dropdown or radio select property, the values ZoomInfo sends must match that property’s internal values, and “values are case sensitive.” HubSpot’s internal values default to matching the label but are independent of it, and “Once saved, your internal values will be set and cannot be updated.” A mismatch does not error loudly, it produces empty or junk values at volume.

Deduplication controls

  1. In the Admin Portal, configure the integration’s default duplicate-handling behavior.
  2. Understand what users will see: during export, duplicates are flagged and, depending on what the admin allowed, the user can update an existing record, create a duplicate record, or not export the record.
  3. Know ZoomInfo’s matching order, because it determines what counts as a duplicate:
  • Companies: matched on company domain only.
  • Contacts: matched in a defined order of fields, checked in this order: 1. Email address. 2. First name + Last name + exact company name.
  1. Export a small test batch (roughly 20 records) into a scratch segment before enabling exports at scale.
  2. Only after the test batch is clean, raise the per-object export limits for the wider team.

HubSpot-side duplicate cleanup

  1. From the side rail, open CRM > Contacts or Companies.
  2. Go to CRM > Contacts (or Companies) > the ⋯ menu (top right) > Manage duplicates.
  3. Work the queue with Review, then Merge and review next.
Note: Rejection is reversible for 14 days.

Control the marketing-contact cost of exports

  1. From the Settings icon, open Integrations > Marketing Contacts.
  2. Confirm the current default.
  3. Go to Settings > Integrations > Marketing Contacts.
  4. Under Your connected apps, review the toggle for each app.
  5. Leave the ZoomInfo toggle off unless there is a deliberate decision to bill every exported prospect as a marketing contact.
  6. If a segment of exported contacts genuinely needs marketing status, set it deliberately, via a workflow or bulk action on a defined segment, rather than by flipping the app-level toggle.

Contact-to-company association

  1. From the Settings icon, open Data Management > Objects.
  2. Understand the gap: ZoomInfo states that when exported, “contacts are considered independent records in HubSpot”, it does not natively associate them to companies.
  3. In HubSpot, go to Settings > Data Management > Objects > select Companies from the dropdown > Automation section.
  4. Select the Create and associate companies with contacts checkbox.
  5. HubSpot will ask “Do you want to retroactively create company records for your existing contacts?” Choose Yes to backfill existing contacts, or No to apply the setting only going forward.
  6. If there are domains you never want auto-associated (partners, competitors, your own domain), use the Exclude a domain out of automatic association link in the same Automation section.

Scheduled Enrich and credit protection

  1. Build the target audience in HubSpot first.
  2. In ZoomInfo, go to Admin Portal > Integrations > Connect Enrich.
  3. At the top of the Jobs page, check Enrich Active Admin.
  4. Click New Job. Set Object Type to Companies or Contacts, give it a Job Name and Description, and choose whether to enable job email alerts.
  5. Under Job Settings, configure Select the schedule to run this job.
  6. Under Advanced Options > Select Credit Usage Limits, choose deliberately:
  • No limit: the default. “All records in the job run will be enriched and applicable credits will be charged.”
  • Only Enrich records currently owned, enriches only records already under management. “This option does not incur any credit charges.”
  • Limit credits used per job run, caps credits per run; once the cap is reached processing stops and “Remaining records will be enriched in the next job run.”
  1. Set Select Accuracy Score for Enrichment to your minimum acceptable confidence.
  2. Review the Person Has Moved Setting and the warning below before deciding whether to leave it enabled.
  3. Under Job Filters, define the data set:
  • Contacts: Enrich all contacts, or Enrich contacts within a List View, a dropdown of available HubSpot segments.
  • Companies: Enrich all companies, or Enrich companies with specific criteria.
  1. Configure Mapping, ZoomInfo Field, HubSpot Field, Update Option, applying the same rule as the export mapping: Complete if missing for standard HubSpot fields, Overwrite only for ZoomInfo-dedicated custom fields.
  2. Optionally click Match Inputs to open Customize Match Inputs.
  3. Click Verify and Save.
Note: Person Has Moved: this setting is enabled by default, and when enabled “the Person Has Moved record will be enriched to reflect the new organization.” A recurring Enrich job will therefore rewrite job title, company name and related fields on your existing contacts to their new employer, while “Enrich does not associate contacts with their new companies.” The result is contacts whose properties describe Company B while they remain associated with Company A in HubSpot, which corrupts account-based reporting and can misroute outreach to a former customer contact.

Instant Enrich and your HubSpot API budget

  1. Go to Admin Portal > Integrations > Connect Enrich.
  2. Authenticate with the HubSpot user dedicated to Enrich, review the scope details, and click Connect app.
  3. Select the object type: Companies or Contacts.
  4. Toggle Instant Enrich <object_type> on or off.
  5. For Contacts, set the Accuracy Score threshold.
  6. Configure ZoomInfo Field / HubSpot Field / Update Option mapping, applying the same Complete-if-missing-for-standard-fields rule.
  7. Click Verify and Save.

HubSpot Import back into ZoomInfo

  1. Know that the Import toggle is enabled by default when you connect the HubSpot integration.
  2. Scope it with HubSpot permissions, not ZoomInfo settings: “ZoomInfo imports records according to the permissions granted to the connected service account user,” and will import only the records and fields that the authorized user can access.
  3. For full functionality ZoomInfo wants read access to: Company, Contact, Deal, Deal History, Deal Stage, Product, Task, User.
  4. Understand retention: ZoomInfo stores both matched data (records already in your HubSpot instance) and non-matched data.
  5. Review Admin Portal > Privacy & Security > Data Sharing.
  6. Use Import Rules (the Import Rules tab) to exclude records that are not relevant to current GTM efforts from being saved in ZoomInfo at all.
  7. If you use ZoomInfo Sales or Marketing, configure Advanced Search Filter Settings so reps can see and exclude accounts already owned or in an open deal.
Verify it worked
  1. Did ZoomInfo write the values you expected into the right properties?
  2. Can you identify ZoomInfo-created records at all?
  3. Is the connection healthy?
  4. Is it consuming what you expect?
  5. Are the scopes still satisfied?
  6. What did it do to overall data quality?

Alerting, ownership and offboarding on the HubSpot side

  1. From the Settings icon, open Integrations > Connected Apps.
  2. Assign a HubSpot app owner.
  3. Create a disconnect alert so a broken integration is not discovered by a rep.
  4. If you deactivate a HubSpot user who is an app owner, HubSpot prompts you to reassign ownership before completing the deactivation, so the integration is never left without an owner.
  5. To uninstall: Settings > Integrations > Connected Apps > Actions on the app > Uninstall > type uninstall in the text field > Uninstall.

Operational Detail: Prospecting and Intent

Refine a saved search and export to HubSpot

  1. Check what the saved search is returning. A job-title filter set to executives (owners, presidents) surfaces the wrong people when you actually want operational contacts.
  2. In the Job Title filter, clear the executive titles and use operations roles instead (for example operations manager, facilities manager, procurement manager, VP of Operations). The result set narrows to more relevant titles.
  3. Exclude irrelevant industries: set the industry filter to NOT that industry (for example NOT Staffing and Recruiting) to drop those contacts.
  4. Select the contact or company you want, then use Export to push the record straight into HubSpot.

Configure intent topics

  1. Each intent topic has its own saved search, matched to whatever industry or service categories are relevant to your business (topic categories span industries, compliance areas, and business functions). Opening a saved search shows the contacts it identified and their intent-signal score.
  2. For a focused list, set Intent Score to High and the Intent Lookback Period to long term, and turn on Contacts with Intent Signals.
  3. Topics come from a fixed catalog. In the Admin Portal, go to AI Context, then Intent. There is a cap on assigned topics (for example 8 of 500 used, with a limited number of changes remaining); All Topics is the full catalog of several thousand topics.
  4. Search the catalog for the closest usable term, because your exact trade or specialty term may not exist. A niche term often returns nothing exact, or only a narrower or oddly-adjacent match, so work through candidates to find the closest topics that do exist (a broader category for your industry, an adjacent vertical, or a compliance/operations topic that overlaps with your actual work).
  5. When a relevant topic exists, select it and click Assign to My Topics. Under My Topics, drop what is not useful and stay within the topic limit; new intent searches then run on the updated list.

Find the exported records again in HubSpot

  • After export, pull the ZoomInfo-sourced records two ways, both landing on the same people: a saved contact view filtered so Record Source is ZoomInfo, or a list or segment using that same filter. Record Source is the reliable field for isolating records that came from any given integration.
3.5 · Data: Import, Migration & Integrity

Integrations & Sync Hygiene (Beyond ZoomInfo)

ZoomInfo is one such integration; the same discipline applies to every other connected system (Salesforce, eAutomate/CEO Juice, accounting/ERP, calling, and email/calendar providers). An integration is code that writes to your portal continuously, so it needs governance, not just a one-time connect.

Best Practices
  • Before enabling a sync, know exactly which objects and fields it writes, in which direction, and whether it can overwrite existing values, the same Overwrite vs. “only if missing” decision you make for ZoomInfo applies here.
  • Map fields deliberately and reserve overwrite for fields the external system is genuinely the source of truth for; protect any field a rep or workflow maintains.
  • Test on a small batch and check for duplicates before turning on full sync, a mismatch on the match key (e.g., importing records before a customer/account number exists) is what turns a sync into a duplicate factory.
  • Watch the connection itself: the Microsoft (and Google) email/calendar connection can silently fail if HubSpot is not a whitelisted/approved app in your Microsoft 365 tenant, a common cause of “my email will not connect.”
  • Monitor after go-live using record history (each property’s change history shows what a sync wrote) so an integration quietly writing bad data is caught in days, not months.

Lead-Source and Call-Tracking Attribution

  • HubSpot native calling records and logs calls to the CRM, but it cannot attribute a call to a marketing source: there is no dynamic number insertion and no per-campaign numbers. So buying HubSpot numbers solves the recording goal, not the lead-tracking goal (native-logged calls land as offline).
  • Web forms already carry source and revenue attribution in HubSpot at no extra cost. The only piece that needs a paid tool is phone-call attribution, fed into HubSpot by a dedicated call-tracking platform.
  • Two platforms cover this. CallRail provides source attribution and dynamic number insertion, with recording and transcript into HubSpot, priced by numbers and minutes, so per-number cost climbs at scale. WhatConverts provides source attribution from its base plan, with recording and transcript billed separately, and charges a modest flat per-number add-on rather than CallRail’s steeper per-number-and-minute pricing, so its incremental cost per additional number tends to run lower.
  • Guidance: if you already pay for one of these tools, connect it to HubSpot rather than switching. That puts recordings, transcripts and source attribution into the CRM permanently and ends manual re-entry, with no new subscription. CallRail is the strong alternative if you want a single vendor. Native calling alone is not sufficient for attribution; it is only the destination the calls land in.
3.6 · Data: Import, Migration & Integrity

Record History, Recovery & Change Safety

Super Admins can change or destroy data at scale, and integrations can do so silently. This section is the safety net: how to see what changed, how to recover, and how to review changes before they are committed.

Best Practices
  • Read property/record history: every property tracks its change history (old value, new value, source, timestamp). When data looks wrong after a sync, history tells you exactly what wrote it, this is how a bad integration overwrite (e.g., a CEO Juice / eAutomate push clobbering good company data) gets caught and traced.
  • Know the recovery paths: deleted records go to a restorable trash for a limited window; an import does not create a separate Static list of the records it added or updated. Instead, click the Data Management rail icon, select Data Integration, open the File imports tab, click the import by name, then use the View imported records dropdown on that import’s detail page. This opens a normal CRM view filtered to only the records from that specific import, and is your actual rollback handle; deactivated (not deleted) users preserve historical attribution.
  • Review before you commit: when using AI or a service key to make bulk changes, always review the proposed changes before approving, and make changes in small, labeled batches so any one batch is easy to isolate and reverse.
  • Keep a lightweight internal changelog for major configuration changes (property deletions, workflow overhauls, permission redesigns), the audit log records the change but not the why.
Caution: HubSpot automatically retains prior field values for 14 days through SettingsBackup & RestoreRestore CRM changes, filterable by Import (pick a specific past import by name), Integration, Workflow, or general CRM Changes, so a recent overwrite can usually be undone without a manual export. Changes older than 14 days cannot be recovered this way, so exporting first is still the only safety net for older or longer-term changes. Back up before any bulk update that can overwrite, not only ones that create.
4.1 · Objects, Records & Pipelines

Pipelines, Deals & Lead Stages

Pipelines model a process as an ordered set of stages. Deals use them for sales, and Tickets use them for support and internal work. Pipelines drive forecasting, stage-based reporting, and stage-triggered automation, so getting the stage structure right up front avoids a painful re-map later and keeps reporting trustworthy.

Build a Pipeline and Its Stages

  1. Go to Settings icon > Data Management > Objects (the Settings-sidebar Data Management section, not the rail-icon Data Management tool), then use the Select an object dropdown to choose Deals (or Tickets for a service pipeline), then click the Pipelines tab.
  2. Click Create pipeline and name it after the distinct sales or service motion it represents (by product line, business unit, or deal type), not after a team or an individual rep.
  3. Add stages in the actual order records move through, giving each an action-oriented name (for example, “Discovery Call Scheduled” rather than “Stage 2”), and keep every stage a real, observable change in status.
  4. Set the probability or likelihood-to-close percentage for each stage, which feeds forecasting and weighted pipeline reports.
  5. Mark the final Closed Won and Closed Lost stages using their flags so reporting separates won revenue from lost or disqualified records.
  6. Set stage-entry requirements (required properties to advance) where a later report depends on that data, for example a Close Reason on Closed Lost.
  7. For leads, define the lead lifecycle and stage handoff so a qualified lead converts into a deal at the right point rather than living in two places.
  8. On Enterprise, restrict pipeline visibility and edit access to the correct Teams or Permission Sets if multiple business units share the portal but should not see each other’s pipelines.
  9. If the portal runs multiple pipelines, set the correct Default pipeline for new records so reps do not have to pick the right one every time.
  10. Create a test deal or ticket and move it through every stage end to end before rollout, confirming required properties, automation, and reporting all behave as expected.
Best Practices
  • As a general rule of thumb (not a HubSpot-specified number), keep each pipeline to roughly 5 to 7 stages, enough to reflect real decision points without turning stage-moving into a chore reps route around.
  • Run separate pipelines by work type. Sales, sales-as-a-service, support, and internal work each deserve their own pipeline and stages rather than one overloaded pipeline, and create a new pipeline only for a genuinely distinct process, not for every team or rep.
  • Keep required-to-advance fields minimal. Over-gating a pipeline pushes reps to enter junk data just to move a deal.
  • Do not overload the lifecycle stage with sub-status; use a dedicated status property when a stage needs finer states.
  • Decide deliberately whether every new opportunity starts as a Lead first, and document the rule so the whole team follows the same path.
  • Pair each pipeline with matching workflows that notify owners, set follow-up tasks, or flag stalled records. A stage without automation behind it tends to become a place deals go to be forgotten.
  • Periodically audit for deals sitting well past a stage’s typical dwell time; a pipeline is only as useful as the discipline behind moving records through it.
  • Document each pipeline’s intended use (which team, product, and deal type) in an internal reference so a new admin does not have to guess why multiple pipelines exist.

TIP: Before finalizing stage names, sit down with the reps who will use the pipeline daily. Names that make sense to leadership in a reporting meeting do not always match how reps describe where a deal really stands.

4.2 · Objects, Records & Pipelines

Record-Page & CRM Customization

How a record page is laid out determines whether users actually see and update the right data. This is one of the most frequent requests a Super Admin receives from their team, and it is fully configurable without code.

Customize the Record Page Layout

  1. From the Settings icon, open Data Management > Objects.
  2. Go to SettingsObjects → [Object] → Record Customization to edit the record page layout for that object.
  3. Configure the left sidebar (key properties), the middle column (activity, associated records, custom cards), and the right sidebar as needed.
  4. Add or reorder cards: including association cards that surface related records (e.g., a “Key Decision Maker” card, a documents/assets card) on the right-hand side.
  5. Use conditional property logic and required properties on a card so the right fields appear in the right context.
  6. Create different views/layouts per team or pipeline stage where different roles need to see different things.

Index Pages: Views & Saved Filters

  • Build saved views on each object’s index page for the segments users work daily (e.g., “My open deals,” “Unassigned projects,” “Contacts with no owner”).
  • Share team views centrally rather than having every user rebuild the same filter.
  • Keep the default view sensible for the most common role, it is the first thing users see when they open the object.
Tip: Record-page and view changes are low-risk (nothing is deleted) and take effect immediately for everyone with access, so they are a good starting point when tailoring HubSpot to how your team actually works.

Working the Sales Objects: Deals, Pipelines, Views and Jobs

1. Pipelines and deals in practice

  • Pipelines group the milestones of a selling process and are tied to deals. Keep one pipeline per process that genuinely differs (for example New Business versus Renewals), not one per team.
  • Switch between pipelines with the pipeline selector at the top right of the Deals list. Configure stages, colors and probabilities under Settings, Objects, Deals, Pipelines. If a pipeline holds no data, it is a candidate to consolidate into a single sales pipeline.
  • When a rep builds a new deal, the first choice is the pipeline. That selection controls which fields surface, so each line of business can show its own properties.
  • Products live in the product library, which is the single source of truth. If data was migrated from a prior system, everything quotable is imported there so reps pull from one place.
  • As reps build a deal, they add products as line items. Line items define the deal amount and preserve exactly what was quoted for later reference. Confirm currency settings are defined before relying on totals.
  • HubSpot has no native “deal template” object, though Quote templates (Sales Hub Professional/Enterprise) let you standardize line items, terms, and layout for a deal’s quote. For a reusable deal-record setup itself, keep one dummy deal per common combination, then clone it from the deal page and re-associate the correct contact and company.

2. Advanced filtering and column setup on an index page

  1. From the side rail, open CRM, then open the object's index page (for example Deals).
  2. Open the object list (for example Deals, then All deals) and open Advanced filters. Add a filter, pick a property, set the operator and value, then stack more conditions, combining them with AND or grouping alternatives with OR.
  3. Example: Is Closed Won is True, and Close date is This year, and Amount is greater than 5000. That narrows a list of several thousand deals to a few hundred larger won deals for the year.
  4. Click the view settings (table settings) icon, then Edit columns, to add, remove or reorder columns. Freeze the first column or two so key fields stay visible while scrolling sideways. Each person’s view is their own.
  5. You can add associated-object properties as columns (the associated contact, company or job), not just the object’s own fields.
  6. Save the result as a named, shareable view (for example, larger won deals this year) so the whole team works from the same list.

3. The Jobs object in Board and Gantt views

  1. From the side rail, open CRM, then open the object's index page and switch to the Jobs object.
  2. Switch the object to Jobs (HubSpot calls this the Projects object) to see fulfilment records for closed deals.
  3. Use the pipeline selector to focus on one pipeline (for example Fulfillment), then choose the view type with the view icon.
  4. Table view is a spreadsheet-style list, the same as any index page. Board view shows jobs as columns by pipeline stage (by default Planning, Execution, Review, Completed, On Hold, and Cancelled, fully customizable) so you can see where each job sits. Gantt view is a timeline: expand a job to see its stages, dates and whether it is on time.
  5. Click a job to open the record and see its tasks, contacts, deals and activities in the standard three-panel layout.
4.3 · Objects, Records & Pipelines

Creation of Segments (Lists)

Permissions

  1. In your HubSpot account, click the Settings icon in the top navigation bar.
  2. In the left sidebar, navigate to Users & Teams, then open the user or permission set you want to edit.
  3. Go to the Marketing tab.
  4. Toggle the Segments (previously Lists) switch on to give the user access to the segments tool, then set the level:
  • View: “let the user view segments, but not create or edit them.”
  • Edit: “let the user create and edit segments.”
  1. If the user must also add records to static segments, grant them Edit access for contacts and companies.
  • HubSpot’s permission-required callouts refer to this as Write segments / Write Segment permissions.
  • Updating static segment membership requires “Write Segment permissions and Edit access for the segment’s object”, two separate grants, not one.
  • A user whose CRM object View permission is set to Their Objects will see a reduced segment: users with that permission level only see their own assigned records on index pages, in the segments tool, and in reports.
  • Bulk delete is a separate CRM permission.

Account-level setting to configure first (Enterprise)

  1. Settings icon > Objects > Segments
  2. In the Control which records join a segment when assigned to a team section, click the dropdown menu and select Only records the creator team owns.
  3. If you also want to include records with no owner, select the Unassigned records checkbox.

Create a segment

  1. In your HubSpot account, click the CRM rail icon, then select Segments (there is no More click needed).
  2. In the upper right, click Create segment.
  3. Select the object with the records you want to segment.
  4. (Starter, Professional and Enterprise only, optional) In the Generate segment filters with AI text box, enter a description of the types of records you want to include.
  5. (Enterprise only, optional) Click the Team owner dropdown menu and select a team.
  6. Click Next.
  7. To name the segment, in the top left click the edit icon and enter a name.
  8. To file the segment, in the top left click Add to folder.
  9. In the left panel, click + Add filter to set the criteria.
  10. (Optional) Toggle the Test matches switch on to test whether records meet the filter criteria.
  11. (Optional) Configure exclusions as described under Exclusions below.
  12. In the upper right, click Next.
  13. Select the type of segment, either Active or Static.
  14. Enter a description of what the segment contains, or click Generate with AI to generate one from the filters.
  15. (Optional) Select campaigns to associate the segment with, or create a new campaign.
  16. (Enterprise only) Click the Access tab and set access as described under “Access control (Enterprise)” below.
  17. Click Save and process segment.

Build the filters

Filters on the segment’s own object:

  1. From the side rail, open CRM > Segments, then click + Add filter while building or editing a segment.
  2. After clicking + Add filter, select the object for which to set filters, the same object you selected when creating the segment.
  3. Select a filter category.
  4. Scroll or type to search, then select the property, event or membership.
  5. Select an operator (e.g. is equal to, is known).
  6. Set the criteria according to the field type:
  • Dropdown select or checkbox, click the dropdown menu and select the checkboxes to the left of the values.
  • Text, click the Add options field and type a value.
  • Numerical, enter a number value.
  • Date picker, click the date calendar field, then select a date in the calendar.
  1. Toggle the Test matches switch on to confirm the filter behaves as intended before adding the next one.

Filters on associated objects

  1. From the side rail, open CRM > Segments, then click + Add filter while building or editing a segment.
  2. After clicking + Add filter, select the associated object (e.g. campaign, company).
  3. Select the filter category, property/event/membership, operator and criteria.
  4. By default the segment includes records when any associated record meets the criteria.
  • Primary [object], filter on only the primary associated company, e.g. include a contact only if its primary associated company meets the criteria.
  • With label (Professional and Enterprise only), in the With label section, select a label to filter on only associations using that label.

Exclusions

  1. In your HubSpot account, click the CRM rail icon, then select Segments (there is no More click needed).
  2. Create a new segment, or click Edit to edit an existing segment’s filters.
  3. To exclude on criteria, add filters using negative operators (e.g. is none of, doesn’t contain exactly, Import membership is not in import, Segment membership is not a member of segment).
  4. To exclude named records or whole segments:
  5. Toggle the Exclude records switch on.
  6. Select the segments or individual records to exclude.
  7. (Contact segments only) To apply preconfigured exclusions, expand the Additional exclusion rules section and toggle on any that apply:
  • Exclude non-marketing contacts, “exclude any contacts set as non-marketing (i.e only include contacts to which you can send marketing communications).”
  • Exclude email domains, exclude contacts whose email addresses contain specific domains, e.g. your own company domain to keep employees out.
  • Exclude unsubscribers: “exclude contacts that are unsubscribed from your messaging subscriptions.”
  1. Continue creating or editing the segment, then save.
  2. Click the name of the segment.
  3. Select the checkboxes of the records to exclude.
  4. At the top of the table, click Exclude from segment.
  5. In the dialog box, click Exclude and reprocess to confirm.

Verify the segment worked

  1. From the side rail, open CRM > Segments.
  2. Understand what you are looking at while building.
  3. After clicking Save and process segment, wait for processing.
  4. Read the exact count, not the estimate: once the segment is saved and fully processed, “the exact count of records will be visible under the segment’s name in the upper left.”
  5. Sort and spot-check. In the table, click the column headers to sort records by property value, and use the search bar in the upper right to look for a specific record.
  6. Sanity-check the boundary.
  7. Confirm the type is what you intended.
  8. If you have just updated a record’s properties expecting it to join an active segment: the record should be added to an active segment immediately following the update. For complex segments or bulk property updates, this refresh may require up to one hour.
  9. (Enterprise) For any segment feeding a live send, turn on notifications so a future breakage surfaces without a manual check.

Organize segments into folders

  1. In your HubSpot account, click the CRM rail icon, then select Segments (there is no More click needed).
  2. In the upper right, click the Folders tab.
  3. Click Create folder. In the dialog box, enter a folder name, then click Create.
  4. To move segments in, select the checkboxes next to the segments, click Move to folder at the top of the table, select a folder in the dialog box, then click Move.
  5. To nest, rename or delete a folder, hover over it, click Actions, then select Move folder, Rename folder or Delete folder.
  6. To take a segment out of all folders, open the folder, select the segment, click Move to folder, select All segments, then click Save.

Segment properties: the better answer to “how do we document this?”

  1. In your HubSpot account, click the Settings icon in the top navigation bar.
  2. In the left sidebar, navigate to Properties.
  3. Click the Select an object dropdown menu, then select Segment (List) properties.
  4. Click Create property and define the property.
  5. Add the property to the create segment form so it is captured at creation time.
  6. On the segments index page, surface it as a column: click Actions > Edit columns.

Access control (Enterprise)

Set access on an existing segment

  1. In your HubSpot account, click the CRM rail icon, then select Segments (there is no More click needed).
  2. Select the checkboxes of the segments, then click Manage access at the top of the table.
  3. Choose one:
  • Private: “The segment will only be accessible to the segment’s creator and Super Admins.”
  • Everyone can view and edit, “This option is selected by default for new segments.”
  • Specific users and teams, manage team access on the Teams tab and individual access on the Users tab.
  1. For an individual user or team, click the dropdown menu next to their name and select View and edit or No access.
  2. Click Save to confirm.

Assign a segment to a team

  1. Navigate to CRM > Segments.
  2. Select the checkboxes of the segments to assign, then click Assign teams.
  3. In the dialog box, select a team.
  4. Click Assign segments to confirm.

Active to static, immediately

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments and click an active segment.
  3. Next to TYPE in the stats panel, click the direct Convert button (there is no separate Actions > Convert to static menu item).
  4. In the dialog box, click Convert to confirm.

Active to static, on a schedule

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments and click an active segment.
  3. Click the Settings tab, then navigate to Auto-convert to static in the left sidebar.
  4. Click the Convert this segment to static dropdown menu and select:
  • Never, the segment will never be converted.
  • On a specific day, select a date in the date picker.
  • After inactivity: select the period of inactivity. “Activity is based on the last record added or removed from the segment.”
  1. Click Save.

Static to active

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments and click a static segment.
  3. Next to TYPE in the stats panel, click the direct Convert button (there is no separate Actions > Convert to active menu item).
  4. In the dialog box, click Convert to confirm.

Marketing contacts

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments and click the name of a contact-based segment.
  3. Select the checkboxes next to the contacts.
  4. At the top of the table, click the More dropdown menu and select Set as marketing contacts.
  5. In the dialog box, enter the number of contacts and click Set [x] contacts. “The contacts become marketable immediately and count towards your marketing contact tier limit.” That last sentence is the important governance point to remember.

Notifications (Enterprise)

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments and click the name of a segment.
  3. Navigate to the Settings tab.
  4. Toggle on the notifications you want:
  • When this segment is edited or deleted.
  • When the size of this segment changes irregularly, “receive notifications when your segment size changes in an unexpected way. This setting uses HubSpot AI.”
  • When this segment reaches a specific size, “This number can be either higher or lower than the current segment size.” Enter the number of records that triggers the notification.
  1. In the Choose the users and teams who’ll receive notifications section, select the recipients.
  2. Click Save.

The Analyze tab

  1. From the side rail, open CRM > Segments.
  2. Navigate to CRM > Segments, then the Analyze tab.
  3. Click the Segment type dropdown menu and select the object.
  4. Review:
  • Segments in use for this object, cards per activation goal: Personalization (contacts only), Communication (Contacts only), Automation, Analytics, Segmentation.
  • Segments that require your attention, “shows segments with irregular changes in size in the last seven days”, with the segment name, 7-day size change, type, object, last update date and last updating user.
  • Segment overlap report (contact segments only), click Select segments and choose up to five to see overlap; click an intersection to view the overlapping records.
  • Segment journey report (contact segments only; Marketing Hub or Content Hub Professional or Enterprise).
5.1 · Automation, Outreach & Sales Tools

Setting Up Workflows

Build and Publish a Workflow

Open the workflows tool

  1. In your HubSpot account, click the Automation rail icon, then select Workflows (there is no More click needed).
  2. Alternatively, use the global Search bar in the top navigation and search for Workflows.
Note: HubSpot is promoting a newer Agent Hub based workflow builder alongside this classic builder. The classic builder this guide documents remains fully functional; a future revision of this guide may need to cover the Agent Hub builder as well.

Create the workflow and fix its object type

  1. From the side rail, open Automation > Workflows.
  2. Go to Automation > Workflows > Create workflow, then choose From scratch, With AI, or From template.
  3. Pick a trigger category and specific trigger first (for example Record created); HubSpot will then prompt you to choose the object type as part of the same trigger setup, not as a separate first step.
  4. Add actions with the + icon, then review and Turn on.

Define enrollment triggers narrowly

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. In the workflow editor, click the Trigger enrollment for [object] box (in an existing contact workflow this card reads Contact enrollment trigger; the generic label used elsewhere in the UI is Enrollment triggers).
  3. In the left panel, build the trigger.
  4. To change an existing workflow’s trigger type, click the Trigger enrollment for [object] card, then in the left panel click Change start trigger and click Confirm in the dialog box.

Decide re-enrollment and unenrollment explicitly

Where re-enrollment lives depends on the workflow’s object type, check which path applies rather than assuming the setting is missing.

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. For every object type, including contact-based workflows: click the enrollment trigger box, then in the left panel click the Settings tab (there is no separate Re-enrollment tab for contact-based workflows).
  3. At the top, click
  4. On the Settings tab, toggle the Re-enroll switch on (worded Allow contacts to re-enroll after completing the workflow on a contact-based workflow; there are no separate trigger checkboxes to select, the toggle is the whole control). On, two fixed, non-editable bullets explain what happens: records are re-enrolled either when manually re-enrolled, or when they meet the eligible-record conditions again. Then click Save.
  5. For unenrollment, on either workflow type, open the enrollment trigger’s Settings tab and use the Unenroll if [records] meet the following conditions section: on a contact-based workflow, choose from added to a suppression segment, met a workflow goal, or no longer meets the eligibility conditions; on a company, deal, ticket, or quote-based workflow, build the condition from the object’s own properties instead. Click Add criteria to combine conditions with AND/OR logic, then Save.

Build the actions

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. In the workflow editor, click the + plus icon.
  3. In the left panel, select an action.
  4. Configure the action and click Save.
  5. On large workflows, in the upper left click Show minimap panel to navigate.
  6. To undo or redo, use the undo icon / redo icon in the top left.

Name, describe, and file the workflow

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. In the top left of the workflow editor, click File > Organize > About this workflow to review and update the workflow’s name and description.
  3. In the same File > Organize menu, click Move to folder to file it.
  4. To leave build notes for colleagues, hover over the enrollment trigger box or any action and click the comment icon, type the comment, and use **@** to notify a user or team.

Test before publishing

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. Click the Enrollment triggers box.
  3. In the left panel, click Test [object].
  4. Click the Select a [record] to test dropdown menu and select the record.
  5. Read the result: green panel = the record meets the criteria; red = it meets none.
  6. In the top right, click Test.
  7. In the right panel, search for the record, hover over it and click Choose.
  8. At the top, select Automatic (simulate automatic enrollment) or Manual (simulate manual enrollment).
  9. The simulated path is highlighted green with a timestamp per action.
  10. Click an [action name] to expand its detail.
  11. For a Send email action, click Send preview to receive a copy, note this sends every email on the previewed path to your own address, not the tested contact’s.
  12. To swap records, click Change record at the top.

Review and publish

  1. From the side rail, open Automation > Workflows, then open the workflow you are editing.
  2. In the upper right corner, click Review and turn on (for a draft/off workflow).
  3. In the right panel, answer Do you want to enroll contacts that currently meet the enrollment criteria when the workflow turns on:
  4. Yes, enroll existing [objects] which meet the trigger criteria as of now.
  5. No, only enroll [objects] which meet the trigger criteria after turning the workflow on.
  6. On contact-based workflows with Marketing Hub Starter, Professional, or Enterprise, click See all contacts in lists to save a static list of the matching contacts.
  7. At the bottom, click Next to review Timing & Notifications and Connections, or click Skip to turn on.
  8. If Name or Description is empty it will be AI-generated; click Edit under the respective section to correct it.
  9. At the bottom, click Turn on workflow.
Verify it worked
  1. From the side rail, open Automation > Workflows.
  2. From the workflows page, hover over the workflow name and click More, then select View details.
  3. The details page opens on the Performance tab by default. Only one of Action logs, Enrollment history and Performance is shown as the active tab at a time; click More to switch to Action logs or Enrollment history, whichever you pick becomes the visible tab and the others move into More.
  4. On Enrollment history, confirm the records you expected, and only those, enrolled.
  5. On the Performance tab check Total [object-type] enrolled, Estimated unique [object-type] enrolled, and 7 day total enrollment against your expected volume.
  6. If enrollment volume is the metric that matters, on Enterprise turn on notifications: click Settings in the top left.

Restrict who can build

  1. User permissions control whether a user can touch workflows at all.
  2. Permission sets make this repeatable, and require an Enterprise subscription (Users & Teams > Permission Sets tab).
  3. Asset access controls which workflows a permitted user can see.

The quarterly audit: use HubSpot’s own reports, not a spreadsheet

  1. From the side rail, open Automation > Workflows.
  2. Go to Automation > Workflows. Work the pill views inside the Workflows tab: All workflows, Unused (workflows turned off or with no executed actions in the last 90 days), and Deleted (deleted in the past 90 days). There is no Needs review view; the closest equivalent lives on the Health view (see below).
  3. Click the Unused tab. A workflow lands here if it is turned off or has not executed any actions in the last 90 days.
  4. Next to the Workflows tab, click More, then Health, and review Workflows with issues, Unused workflows, Opportunities to review workflows with issues, and Opportunities to delete unused workflows.
  5. Next to the Workflows tab, click More, then Analyze, for enrollment volume across workflows.
  6. Work the error queue: from the workflows page, in the top right click Review automation issues.
  7. Anything genuinely retired: delete it.
  8. On Enterprise, Account Cleanup can auto-delete workflows that are off and unedited, you set the age threshold yourself, anywhere from 3 months to 3 years.

Change control: revision history

  1. From the side rail, open Automation > Workflows, then click the name of the workflow.
  2. Click the name of the workflow, then at the top left click View > Revision History.
  3. Filter the right panel by Date Range, Event (e.g. changed enrollment triggers, changed timing settings), or User.
  4. Hover a revision and click View to inspect that version read-only; click Settings in the top left to see the settings as they were at that revision.
  5. To roll back, hover the revision and click Revert.

Stopping a Live Workflow

  1. From the side rail, open Automation > Workflows, then click the name of the workflow (or select checkboxes for the bulk action).
  2. Individually: click the name of the workflow, then in the upper right click to toggle the Workflow is ON switch off.
  3. In bulk: from the workflows page, select the checkboxes, click Turn off at the top of the table, then Turn off in the dialog box.
  4. On a schedule: Settings tab > toggle Schedule this workflow to turn off automatically on > set the On (date) and at (time) fields > Save (or Review and turn on if not yet live).
5.2 · Automation, Outreach & Sales Tools

Sales Sequences

Sequences (Sales Hub Professional/Enterprise) automate personalized, one-to-one outreach, timed emails and tasks sent from a rep’s own connected inbox, and live under Sales → Sequences. They are built for individual sales conversations, not broadcast sends, which is the single most important distinction from Workflows or marketing email.

Build and Launch a Sequence

  1. From the side rail, open Sales > Sequences.
  2. Confirm the rep’s personal inbox is connected, sequences require a connected inbox and will not send otherwise.
  3. Go to SalesSequencesCreate sequence, and choose to build from scratch or start from a template.
  4. Add steps in order: Automated email, Manual email, Call, LinkedIn task, or general task, setting a delay between each step.
  5. Write the first email to be manually personalized at enrollment (not fully automated), this is HubSpot’s own recommended practice and consistently improves reply rates.
  6. Configure sequence-level settings: sending window (business hours only), automatic unenrollment when the contact replies or books for a meeting and daily send limits.
  7. Save and name the sequence clearly, e.g., ‘2026 Cold Outreach, Mid-Market Manufacturing.’
  8. Enroll contacts either individually from a contact record or in bulk from a list view, confirming the enrollment schedule before submitting.
  9. Monitor performance under SequencesAnalyze (open, reply, click, meeting, and no-response rates) and retire or revise steps that consistently underperform.
Best Practices
  1. Keep sequences short: roughly 4 to 6 steps spread over 2 to 3 weeks outperforms long, drawn-out cadences that prospects tune out of.
  2. Mix channels deliberately (email, call, LinkedIn touch) rather than relying on email alone; multi-channel sequences consistently see better engagement.
  3. Personalize the first touch by hand every time, an automated, generic opening email is the fastest way to get marked as spam or ignored.
  4. Use sequences strictly for individual sales conversations; route anything broadcast, promotional, or newsletter-style through marketing email instead, mixing the two erodes deliverability for both.
  5. Restrict who can create workflows that bulk-enroll contacts into sequences to a small group of experienced admins, this is the most common way a sequence accidentally reaches thousands of contacts at once.
  6. A/B test subject lines and opening lines on high-volume sequences, and prune or rewrite any sequence whose reply rate falls well below the team average.
Tip: Treat a sequence’s first live enrollment batch the way you would treat a workflow: enroll a small test group first, confirm personalization tokens and send timing look right, then scale up to full-list enrollment.

Hands-On Setup and Enrollment (Operational Detail)

On Sales Hub Professional you cannot automate sequence enrollment (that requires Enterprise), so enrollment is a deliberate, manual action.

1. Set the daily send-limit guardrail first

Do this once, before enrolling anyone. Go to Settings, then Data Management, then Objects. Set the object to Activities, open the Email Frequency Controls tab, and find Send limits.

  1. From the Settings icon, open Data Management > Objects, then set the object to Activities and open the Email Frequency Controls tab.
  2. Set Maximum sends per 24 hours to 350. HubSpot defaults this toward the high end (up to 1,000): firing that many sales emails from one inbox in a day looks like spam and risks the sending domain being blacklisted.
  3. Set Maximum sends per minute to 5 (down from the default of 10), then Save.
  4. Scope to remember: these limits are a back-end guardrail that applies to every user and cannot be exceeded manually or by automation. They govern sales emails and sequences sent through a connected personal inbox only, not marketing emails (which authenticate through a connected domain or subdomain and carry their own, much larger limits tied to the marketing-contact allowance).

2. One-time setup: add Enroll in sequence to the quick-action bar

Every contact, company, deal, and ticket record shows a row of five quick-action buttons. Swap a button you never use (for example Meeting, if the rep books via a signature link) for Enroll in sequence.

  1. From the side rail, open CRM, then open any contact, company, deal, or ticket record.
  2. On any record, click More on the quick-action bar, then Reorder activity buttons.
  3. Change Activity 5 to Enroll in a sequence using its dropdown, then click Save.
  4. From then on, the fifth quick-action button on every record is a one-click path into one-off enrollment. This is a one-time setup per user.

3. Enroll a single contact

Use this when you are looking at one contact and decide on the spot they are a good fit.

  1. From the side rail, open CRM > Contacts, then open the contact record you want to enroll.
  2. On the contact, click the Sequences quick action.
  3. Pick a sequence in the Select sequence dialog and confirm. By default the first email sends the moment you confirm.
  4. The rep’s inbox must be connected. If it is not, the dialog reports that the inbox is not connected and enrollment fails.
  5. Field use case: at an event, scan a business card into the HubSpot mobile app, allow some time for it to sync, then enroll the new contact. Follow-up starts immediately, with nothing left as a note or reminder.

4. Bulk enroll in batches of 50

Enroll from the Contacts index or a saved list. Fifty is the hard limit per enrollment.

  1. From the side rail, open CRM > Contacts (or a saved list) to reach the index page.
  2. Switch the table off infinite scroll: use the table-view gear and set the list to 50 per page, so you get numbered pages.
  3. Tick the header checkbox to select all 50 rows on the page (the banner confirms 50 contacts selected). You can pick fewer, but never more than 50 at once. For 200 people you would run four batches of 50.
  4. Above the table, open More, then Enroll in sequence, choose the sequence, and confirm. All 50 are enrolled.
  5. You do not have to send immediately. You can delay the start date per batch: batch 1 sends now, batch 2 starts tomorrow, batch 3 the day after, and so on, so a whole week of enrollments can be queued in one sitting.
  6. Tip for a large list: build a list or segment whose criteria exclude anyone already in the sequence. Enrolled contacts then drop off the list, so you can work it down to zero and know everyone has been covered. Plan enrollment volume against the 350-per-24-hours limit set above (HubSpot’s own default ceiling runs up to 1,000, but the guardrail configured earlier in this guide is the number that actually applies here), always worked in batches of 50.

5. Clone a sequence for an event-specific version

Rather than writing a new sequence per event, treat one as a template and clone it.

  1. From the side rail, open Sales > Sequences.
  2. Go to Sales, then Sequences (there is no Sequences entry under Automation). On the template row, open the Actions menu and choose Clone.
  3. Clicking Clone immediately opens a Clone sequence dialog with a Name your clone of this sequence field pre-filled with "[Original name] (clone)"; edit it there and then, for example to Met at event [CES], rather than renaming afterward. The dialog also offers a Save sequence to a folder dropdown and a Template options choice (clone a template and become its owner, or use the existing template and keep the same owner). Make the messaging event-specific instead of relying on a token.
  4. To enroll the right people, build a list or segment of contacts whose associated company has that event selected on a company property, then bulk-enroll that group. Company-level event data, plus a cloned event-specific sequence, plus a filtered list, is the recommended pattern.

6. Use a Sender token in the sign-off

If a closing name is hard-typed into a shared sequence (for example Best, Annie), it reads wrong when a different rep sends it. Replace it with a dynamic Sender token.

  1. From the side rail, open Sales > Sequences, then open the sequence and its email step editor.
  2. In the email editor, delete the typed name. Open Insert, then personalization token. Set Type to Sender and Token to First name, then click Insert.
  3. The closing then resolves to whichever rep sends the email. A Sender token always resolves to the sender’s own name, so no fallback value is needed.
  4. Do not rebuild an entire signature as tokens. Set each person’s signature once in the HubSpot back end and it appends automatically.
  5. Decide once whether the greeting and closing live in the email body (so they can be tailored per message, formal or casual) or in the signature block, and apply that choice consistently across every future sequence so the team stays aligned.

Sequence Copy Playbook: Writing Emails That Get Replies

Persistence matters more than most reps assume: these are commonly cited industry statistics on follow-up persistence (roughly 70 percent of positive responses coming from the second through fourth email, about 80 percent of sales taking at least five follow-ups, and nearly half of reps stopping after one), though their original sourcing is weak and unverifiable, the point behind them stands: persistence paired with personalization outperforms a single touch.

Structure and cadence

  • Use 3 to 5 emails: enough persistence without overwhelming the prospect.
  • Email 1 (Day 1): initial outreach; establish relevance and value.
  • Email 2 (Day 3 to 4): follow up; add a new angle or proof point.
  • Email 3 (Day 7 to 8): provide social proof or a case study.
  • Email 4, if used (Day 12 to 14): re-engage with a different value hook.
  • Email 5, if used (Day 18 to 21): breakup or final nudge.
  • Plan for capacity before mass enrollment: the manual tasks a sequence generates (calls, LinkedIn touches) can overwhelm reps if too many contacts are enrolled at once.

Tone and readability

  • Conversational: write the way you would speak in a relaxed business setting. If you would not say it to a prospect over coffee, do not write it.
  • Below a 12th-grade reading level: short sentences and common words (tools such as Hemingway Editor help you check).
  • Brief: 75 to 150 words per email; every sentence should earn its place.
  • First person, active voice: write from the rep’s perspective using “I” and “we”.
  • Read it aloud before saving; it should sound like a real person.

Email body: questions and progressive value

  • Include 1 to 3 questions per email: enough to prompt a reply, not so many it feels like an interrogation. Make them specific and easy to answer (for example, “Are you currently updating your price lists manually each week?” beats “Are you interested in saving money?”).
  • Give each email a new angle, never the same pitch twice: Email 1 connects to a specific pain point or trigger; Email 2 shares a proof point or quick insight; Email 3 offers extra value (a resource, a stat, a new angle); Emails 4 to 5 create gentle urgency or use a breakup approach.

Subject lines and threading

  • A single subject line covers the whole sequence, because each step is set to reply to the previous email, so the recipient sees one continuous thread (as in Outlook or Gmail).
  • 5 to 9 words: shorter lines open better, especially on mobile.
  • Personal and specific: reference the company, a shared connection, or a pain point; avoid generic openers like “Quick question” or “Checking in”.
  • Sentence case or lowercase feels more personal than title case.
  • Avoid spam triggers: no ALL CAPS, no “!!!”, and no words like free, guarantee, or act now.
  • Because it only has to work once, invest the time to make that one subject line compelling.

Calls to action and meeting links

  • End every email with one clear, easy call to action, and include a meeting link so the prospect can self-book instead of playing email tag.
  • Frame the CTA conversationally (for example, “What time this week works for a quick 15-minute call? Grab a slot here: [meeting link]”).
  • Insert the link with the meetings tool, and always use the sender’s meeting link, not the template creator’s, so the prospect books with the right rep.
  • Place the link toward the end, after value is established; leading with “book a meeting” lowers conversion.

Personalization and tokens

  • Use tokens to insert lead-specific detail: {{contact.firstname}}, {{company.name}}, {{contact.jobtitle}}, {{contact.city}}, plus sender tokens for the rep’s own name, title and phone.
  • Always set a fallback value for every contact or company token so a missing field still reads naturally (for example “Hi there” rather than a blank). A Sender token needs no fallback: it always resolves to the sender’s own name.
  • Use placeholder tokens for one-time values a rep fills in before sending, such as a reference to a specific LinkedIn post or recent company news.
  • Beyond tokens, have reps add a sentence or two of genuine personalization before enrolling (a recent post, an announcement, a mutual connection); it markedly lifts reply rates.

Proof and social proof

  • Weave one or two sentences of proof into the body, not as an attached case study.
  • Be specific: name the client (with permission), a real number, and a timeframe (for example, “we helped a similar team cut manual reporting from 6 hours a week to about 45 minutes”).
  • Match the proof to the prospect’s industry, and vary the proof point across emails (a success story, a metric, industry recognition, a testimonial).

Performance monitoring and optimization

  • Track: open rate (subject-line quality), reply rate (the real measure), meeting-booked rate (the goal), and bounce and unsubscribe rates (list quality and aggressiveness).
  • Review weekly: a standing review of which emails perform and which fall flat.
  • A/B test copy, CTAs, proof points and send times.
  • Use the Now in Sequence property: filter on “has ever been equal to true” for custom reporting on the historical impact of sequences on Closed Won deals.
  • Iterate, do not overhaul: make small, measured changes and check their impact before rewriting a whole sequence.
To learn more: See the Sales Sequences Playbook.
5.3 · Automation, Outreach & Sales Tools

Setting Up Call Outcomes

Add a custom call outcome

  1. Go to Settings > Calling > Call Setup > More ▾ > Call Configurations, then next to Track call outcomes click Edit options.
  2. Click + Add outcome, type the outcome (max 50 characters), then Save.
  3. Repeat for each outcome in your agreed vocabulary.
Note: Default outcomes cannot be renamed or deleted. Custom outcomes you have added can be renamed in place or deleted.

Require an outcome on every call

  1. Settings icon > Calling, then select Call Setup
  2. Click More ▾, then Call Configurations.
  3. Toggle the Make call outcome required switch on.

Meeting outcomes (same discipline, different screen)

  1. Settings icon > Meetings
  2. Click the Meeting Configurations tab.
  3. Next to the Track meeting outcomes setting, click Edit options.
  4. Click + Add outcome, enter the outcome, then click Save.
Best Practices
  1. Keep the outcome list short and mutually exclusive, a sprawling list leads reps to pick whatever is fastest rather than what is accurate.
  2. Design outcomes with reporting and automation in mind from the start; outcomes are not just descriptive; they can trigger workflows (e.g., auto-creating a follow-up task after ‘Left Voicemail’).
  3. Mirror the same design discipline on Meeting outcomes (SettingsMeetingsMeeting Configurations tab, the same place you set up call outcomes) so call and meeting reporting stay consistent.
  4. Review actual outcome-selection distribution periodically, if 80% of logged calls land on one catch-all value, the list likely needs to be redesigned or reps need retraining.
Note: Required call outcome logging only applies to outbound calls placed from HubSpot’s browser calling tool or calls already logged manually, it does not force outcome entry for inbound calls, mobile calls, or imported call records.
5.4 · Automation, Outreach & Sales Tools

Setting Up Call Dispositions

HubSpot does not have a separate ‘disposition’ object, teams coming from a contact-center tool or a different CRM typically use ‘disposition’ to mean a structured, often two-tier categorization of call results (e.g., a top-level Connected/Not Connected split, with specific reasons underneath). In HubSpot, that structure is built on top of the same Call outcome property you set up for call outcomes, optionally paired with a second custom property for finer detail.

Build the Call Disposition Taxonomy

  1. Before touching HubSpot, design the disposition taxonomy on paper: a small set of top-level categories (e.g., Connected, Not Connected, Voicemail) each with 2 to 4 specific sub-reasons.
  2. Build the top-level categories directly into the Call outcome property’s option list (SettingsCallingCall SetupMore ▾ → Call Configurations → next to Track call outcomes, click Edit options), using a consistent naming pattern such as ‘Connected, Qualified’ or ‘Not Connected, No Answer’ so the category is embedded in the value itself.
  3. If you need a true two-tier structure (category property plus a separate detail property), create a new custom property, e.g., Call Disposition Detail, as a dropdown.
  4. Go to SettingsProperties, select the Call object, then next to the Properties tab click More, then Conditional logic (a portal-wide, object-scoped tool, not a tab inside the individual property’s own edit screen). Click Create logic and set Call outcome as the controlling property, so only the relevant Call Disposition Detail values appear once a rep picks a top-level outcome.
  5. Add internal help text on both properties describing exactly when to use each value, and share the taxonomy with the team before rollout rather than letting reps discover it live.
  6. Wire your highest-value dispositions into workflow automation, e.g., ‘Connected, Qualified’ advancing a deal stage or notifying the deal owner.
Best Practices
  1. Keep the taxonomy mutually exclusive and collectively exhaustive, every real call result should map cleanly to exactly one disposition, with no ambiguous overlap.
  2. Resist the urge to add a disposition for every edge case; an ‘Other’ catch-all is fine as a release valve as long as it stays a small share of total volume.
  3. Align disposition naming with how sales leadership actually talks about call quality in pipeline reviews, if the dashboard and the taxonomy use different language, adoption suffers.
  4. Audit disposition usage monthly during the rollout period; a rep who always selects the same value is often a sign the list does not map to their actual calls, not that their calls are uniform.
Tip: If your team migrated from a system with a formal disposition list (e.g., a contact-center dialer or Salesforce), bring that exact list into your Call outcome / detail properties rather than starting from a blank slate, reps already know it, and historical reporting comparisons stay meaningful.
6.1 · Marketing & Web

Domains & Subdomains for Marketing & Web

Email sending authentication (SPF, DKIM, DMARC) is handled separately. This section covers connecting the domains and subdomains that host marketing email, landing pages, website pages, and blogs, so each content type resolves to the right branded URL.

Connect a Domain or Subdomain

  1. From the Settings icon, open Content > Domains & URLs.
  2. Go to Settings > Content > Domains & URLs. For a domain that will host website pages, landing pages, the blog, or the customer/knowledge-base portal, stay on the Web Hosting sub-tab and click Connect hosting domain. For a domain used to authenticate marketing email sends, switch to the Email Sending sub-tab and click Connect sending domain.
  3. Follow the wizard to add the host records, then verify.
Best Practices
  • Keep marketing/bulk sending on a dedicated subdomain to isolate its reputation from primary corporate email.
  • Map out all subdomains (email, pages, blog) up front with your IT/DNS owner, piecemeal DNS requests stretch launches out for weeks.
  • Re-verify connected domains after any DNS provider migration; a silent CNAME break takes pages or tracking offline.
6.2 · Marketing & Web

Marketing Toolset: Emails, Forms, Landing Pages, Websites & Blogs

The marketing tools all inherit the brand schema (colors, fonts, and themes) configured for the portal and feed the same contact database. A Super Admin’s job here is consistency and marketing-contact hygiene, not building every asset by hand.

Best Practices by Tool

  • Marketing emails: send from an authenticated subdomain (set up under Domains & Subdomains), always send to a defined Active segment, and test render before scheduling. Respect subscription types so unsubscribes are honored per email type, not globally.
  • Forms: standardize field mapping to existing properties (do not spawn new near-duplicate properties per form), and be explicit about whether a form creates or only updates contacts.
  • Landing pages: build from theme templates so brand fonts/colors cascade; set the correct domain, meta/SEO fields, and a thank-you/redirect for every page.
  • Website pages: keep them on a single active theme, and use global content (headers/footers) so a change propagates everywhere instead of page-by-page.
  • Blogs: separate go-to-market and knowledge-base blogs if both exist, use consistent tags/topics, and set canonical URLs to protect SEO/AEO.

Marketing Contact Management

  • On Marketing Hub, only Marketing contacts count toward the billable tier, set contacts to Marketing status deliberately (usually via workflow) and auto-set dormant or non-emailable contacts to Non-Marketing to control cost.
  • Never mark an entire import as Marketing by default; scope it to contacts you will actually email.
  • Review the marketing-contact count before renewal; like ZoomInfo credits, overages tend to surface as a surprise bill rather than a real-time alert.
7.1 · Reporting & Ongoing Governance

Reporting & Dashboards

Introduction

This supplement lists the standard reports and dashboards a HubSpot Super Admin should stand up for a new portal, organized by audience: Sales, Marketing, Service, Executive/RevOps, and Data Governance. It is meant to be a starting baseline, a portal that has at least these in place gives every team a single source of truth without hunting through raw record views.

Note: Every report listed here can be built with HubSpot’s native custom report builder across Contacts, Companies, Deals, Tickets, and Custom Objects. Availability of specific report types (e.g., attribution, journey analytics) varies by Hub and subscription tier, confirm against your portal’s actual subscription before promising a report to a stakeholder.

Working with Dashboards & Reports

Dashboards group individual reports into a single, shareable view, and every report can live on more than one dashboard.

Build and Share a Dashboard

  1. In the left side rail, click the Reporting icon, then DashboardsCreate dashboard (Reporting is not under Settings; it is its own rail icon). Name it clearly, including the audience and cadence (e.g., ‘Weekly Sales Review, Q3 2026’). Sharing is also decided upfront here, at creation, not only later.
  2. Click Add content (there is no button literally named Add report). The dropdown offers Report (pull in an existing saved report), Image or text, External content, Create report, and Create report with AI.
  3. Drag and resize report tiles to arrange the layout in the order the audience actually reads it, most important metric top-left.
  4. Use the dashboard-level Quick filters (a per-property quick-filter picker) and Advanced filters (two separate controls, not one Filters option) to set a global date range or property filter that applies to every report on the dashboard at once, rather than filtering each report individually.
  5. There is no button called Manage sharing. Click the gear icon (Dashboard settings) and set the Who can access this dashboard field to control who can view or edit the dashboard. The separate Share dropdown button does not control permissions at all; it only offers Copy URL and Email this dashboard.
  6. There is no separate Schedule button. Click Share, then Email this dashboard, and choose Is this a recurring email? to set up automatic recurring email delivery of the dashboard to stakeholders (no Slack delivery option exists on this screen).
Best Practices
  1. Build each report once as a standalone saved report, then reuse it across multiple dashboards, this keeps metric definitions consistent instead of quietly drifting between an executive view and a rep-level view.
  2. Name dashboards and reports for their audience and purpose, not just their content (e.g., ‘Sales Manager, Pipeline Health’ rather than ‘Deals Report 3’).
  3. Keep each dashboard scoped to one audience’s decisions, a dashboard trying to serve executives, managers, and reps at once usually ends up serving none of them well.
  4. Every tile should answer a specific, actionable question. If a metric moves and nobody knows what lever to pull in response, it is a vanity metric, not a working report.
Tip: Before building a new report, check whether HubSpot’s built-in report library or dashboard template gallery already has something close, starting from a template and adjusting filters is usually faster than a blank canvas.

Sales Dashboards & Reports

The Sales Dashboard should let a rep or manager understand deal flow, forecast accuracy, and individual productivity without opening a single deal record.

Sales Manager / Team Dashboard

Report / DashboardWhat It ShowsPrimary Object(s)
Deals Created vs. ClosedNew pipeline generated compared to deals closed won/lost over the same periodDeals
Deals by Stage (Funnel)Current pipeline broken out by stage, showing where volume concentrates or stallsDeals
Win Rate by StagePercentage of deals that progress from each stage to Closed WonDeals
Average Sales Cycle LengthAverage time from deal creation to Closed Won, overall and by pipelineDeals
Forecast vs. Closed RevenueWeighted forecast compared against actual closed revenue for the periodDeals
Deal Source / Channel PerformanceClosed revenue and win rate broken out by original lead sourceDeals, Contacts
Stalled DealsOpen deals that have sat in their current stage past a defined dwell-time thresholdDeals

Rep Productivity Dashboard

Report / DashboardWhat It ShowsPrimary Object(s)
Activities Logged by RepCalls, emails, and meetings logged per rep over the periodCalls, Meetings, Emails
Call Outcomes by RepBreakdown of logged call outcomes per repCalls
Sequence Performance by RepEnrollment, open, reply, and unenroll rates for sequences a rep is usingSequences
Revenue Closed per RepClosed won revenue attributed to each rep against their target/quotaDeals
Tasks Overdue by RepOpen tasks past their due date, grouped by ownerTasks
Best Practices
  1. Build the manager dashboard around pipeline health questions (where is volume stuck, is the forecast trustworthy) rather than just a list of open deals.
  2. Keep the rep-facing productivity dashboard focused on activity and near-term tasks, reps need what to do today, not a quarterly trend line.
  3. Pair Win Rate and Sales Cycle Length reports with the deal source breakdown to spot whether certain channels are quietly underperforming despite volume.
Caution: Forecast and win-rate reports are only as good as stage discipline and Closed Lost reason logging. If reps are not consistently moving deals and logging why deals are lost, these reports will look clean while actively misleading leadership.

Marketing Dashboards & Reports

The Marketing Dashboard should tie top-of-funnel activity (traffic, campaigns, content) all the way through to the pipeline and revenue it influences, a marketing dashboard that stops at ‘clicks and opens’ rarely earns a seat at the revenue conversation.

Overall Marketing Performance Dashboard

Report / DashboardWhat It ShowsPrimary Object(s)
Website Sessions & SourcesTraffic volume broken out by channel (organic, paid, social, direct, referral)Sessions
New Contacts CreatedVolume of new contacts generated per period, by sourceContacts
Marketing Qualified Leads (MQLs)Contacts reaching MQL lifecycle stage, by source and campaignContacts
Landing Page Conversion RateVisit-to-submission conversion rate per landing pagePages, Forms
Email PerformanceOpen, click, and unsubscribe rates by send, compared against portal benchmarksMarketing Emails
Campaign ROIRevenue/pipeline influenced per campaign against spend, where cost data is trackedCampaigns, Deals
Blog / Content PerformanceViews, contacts generated, and conversion rate per blog post or content assetPages

Lead-to-Revenue Attribution Dashboard

Report / DashboardWhat It ShowsPrimary Object(s)
Lifecycle Stage FunnelContact volume at each lifecycle stage, showing drop-off between stagesContacts
Multi-Touch AttributionRevenue credit distributed across the touchpoints in a contact’s journey (Pro/Enterprise)Contacts, Deals
Unengaged MQLsContacts marked MQL that have not been contacted by sales within a defined windowContacts
Source-to-Close RevenueClosed won revenue traced back to original source, by channelDeals, Contacts
Best Practices
  1. Extend every marketing dashboard through to pipeline and closed revenue wherever attribution data supports it, a dashboard that stops at MQL volume cannot answer whether marketing is actually driving the business.
  2. Track the handoff explicitly with an Unengaged MQLs report; a lead sitting untouched after qualification is a process failure that traffic and conversion metrics alone will not surface.
  3. Confirm which attribution model (first-touch, last-touch, multi-touch) each report uses, and keep it consistent across dashboards, mixing models across reports produces numbers that do not reconcile with each other.
Tip: If cost data is not tracked cleanly in HubSpot’s Ads or Campaigns tools yet, build the Campaign ROI report anyway with a manual cost property as a placeholder, it forces the conversation about tracking spend properly sooner rather than later.

Service Dashboards & Reports

The Service Dashboard should make it obvious whether support is keeping pace with demand and whether the customer experience is actually good, not just whether tickets are getting closed.

Support Operations Dashboard

Report / DashboardWhat It ShowsPrimary Object(s)
Ticket Volume by Pipeline/TypeNew tickets created per period, broken out by pipeline or ticket typeTickets
Time to First ResponseAverage time between ticket creation and the first reply, against SLA targetsTickets
Time to CloseAverage time from ticket creation to resolution, by priority and pipelineTickets
Open Tickets by OwnerCurrent open ticket load per rep, to spot workload imbalanceTickets
Tickets ReopenedTickets marked closed that were later reopened, a proxy for resolution qualityTickets
CSAT / Customer FeedbackPost-resolution satisfaction survey results, by rep and by ticket typeTickets, Feedback
Best Practices
  1. Report on Time to First Response and Time to Close separately, a team can hit one while badly missing the other, and blending them into a single average hides that.
  2. Track Tickets Reopened alongside Time to Close; a fast close rate paired with a high reopen rate usually means reps are closing tickets prematurely to hit a metric.
  3. Segment CSAT by rep and by ticket type, not just as a single portal-wide average, a single number rarely points at a specific fix.
Note: SLA-based reports (Time to First Response, Time to Close against target) typically require SLA rules to be configured on the relevant ticket pipelines first, confirm those are set up before assuming the report is measuring against a real target rather than just showing raw averages.

Executive / RevOps Dashboard

The Executive Dashboard is the one cross-functional view that ties marketing, sales, and service together into a single revenue and health narrative, built for a leadership audience that does not have time to reconcile three separate departmental dashboards themselves.

Report / DashboardWhat It ShowsPrimary Object(s)
Revenue Closed vs. TargetClosed won revenue for the period against the company or team targetDeals
Full-Funnel ConversionConversion rate from new contact through MQL, SQL, opportunity, to closed wonContacts, Deals
Pipeline Coverage RatioOpen pipeline value compared against the remaining period’s revenue targetDeals
Customer Acquisition Cost (CAC)Marketing and sales spend divided by new customers acquired, where cost data is trackedDeals, Campaigns
Net New vs. Expansion RevenueRevenue split between new-customer deals and renewal/upsell/expansion dealsDeals
Support Health SnapshotTicket volume, response time, and CSAT trend, summarized for a non-support audienceTickets
Best Practices
  1. Keep the executive dashboard to a single page of tiles, if it requires scrolling through multiple screens, it will stop getting opened.
  2. Schedule it for automatic recurring email delivery (Share > Email this dashboard) on a fixed cadence so leadership does not have to remember to check it.
  3. Pull each tile from the same underlying reports used in the Sales, Marketing, and Service dashboards rather than building parallel, slightly different versions, this is what keeps the executive number and the team-level number from ever disagreeing.
Tip: If the portal uses Custom Objects for things like subscriptions, onboarding projects, or renewals, consider a dedicated tile summarizing that object’s health here, standard Contacts/Companies/Deals reporting alone often misses that layer of the business.

Data Governance / Admin Dashboard

This dashboard is for the Super Admin, not a department, it surfaces the data-hygiene and system-health signals covered throughout the main guide in one place, so problems get caught during a five-minute weekly check rather than during a client escalation.

Report / DashboardWhat It ShowsPrimary Object(s)
Property Fill RatePercentage completion on key required or reporting-critical propertiesContacts, Companies, Deals
Duplicate Record CountCount of pending/suggested duplicates awaiting merge across primary objectsContacts, Companies
Workflow Enrollment HealthEnrollment volume and error rate per active workflow, flagging zero-enrollment workflowsWorkflows
Import Activity LogRecent imports by object, record count, and creator, for audit and rollback referenceContacts, Companies, Deals
User Permission Set DistributionCount of users per Permission Set, flagging any individual-level permission overridesUsers
ZoomInfo Credit ConsumptionMonthly credit usage against the annual allotment, per your ZoomInfo credit governance modelExternal
Best Practices
  1. Review this dashboard on a fixed weekly or biweekly cadence, it is built to catch drift early, not to be consulted only when something has already broken.
  2. Pair the Duplicate Record Count tile with the recurring deduplication pass described in the main guide’s Additional Super Admin Practices section, so the metric always has an owner and a next action attached to it.
  3. Restrict edit access on this dashboard to Super Admins; it is a diagnostic tool for the admin team, not a general-audience report.

Dashboard Governance Best Practices

A handful of portal-wide habits keep the reports useful as the number of dashboards grows, rather than turning into an unmaintained pile nobody trusts.

  1. Maintain a single naming convention across all dashboards and reports (e.g., [Audience], [Purpose], [Cadence]) so anyone browsing the library can tell what a report is for without opening it.
  2. Assign an owner to every standing dashboard, someone responsible for confirming it still reflects reality after property or pipeline changes.
  3. Archive or delete dashboards nobody has opened in the last quarter; a cluttered report library actively discourages people from finding the ones that matter.
  4. Re-check dashboard filters and property references any time an underlying property, pipeline stage, or deal stage is renamed or removed, a silently broken filter is worse than a missing report, because it looks correct.
  5. Keep sensitive dashboards (compensation, individual rep performance, churn risk) restricted to the appropriate audience via sharing permissions, not just left open because it was easier.
Tip: Once a quarter, sit down with one representative from each audience (a sales manager, a marketer, a support lead) and ask what question their current dashboard fails to answer. That conversation finds gaps faster than staring at the report library alone.

Quick-Reference Checklist

Use this as a launch gate for a new portal’s reporting setup, or as a periodic health check on an existing one.

A Sales Manager dashboard and a Rep Productivity dashboard both exist and are shared with the correct audiences
A Marketing Performance dashboard extends through to pipeline/revenue influence, not just traffic and email metrics
A Service Operations dashboard tracks Time to First Response and Time to Close separately, plus CSAT by rep
An Executive/RevOps dashboard exists, fits on a single page, and pulls from the same underlying reports as the departmental dashboards
A Data Governance dashboard is in place for Super Admin use, covering property fill rate, duplicates, workflow health, and permission distribution
All dashboards and reports follow a single naming convention and have an assigned owner
Sensitive dashboards (compensation, individual performance, churn risk) are restricted via sharing permissions
Dashboards are reviewed quarterly for relevance, broken filters, and stale references to renamed properties or stages
7.2 · Reporting & Ongoing Governance

Recommended Ongoing Admin Practices

Quarterly Super Admin and Permission Review

  1. Settings icon > Users & Teams
  2. In the upper right, click the Actions dropdown menu and select Export all users.
  • To export a subset instead, filter the table first, the available filters are Status, Last active, and Advanced filters, then click Export view in the table toolbar.
  • If the Access column is not visible in the table, click Edit columns in the top right of the table and add it.
  1. Cross-check the exported list against your current org chart or HR roster.
  2. Open HubSpot’s own read-out of the same risk surface: click the Settings icon, then in the left sidebar menu under Account Management click Security, then click the Permissions tab.
  3. To remove Super Admin from a user, return to Users & Teams, hover over the user in the table, click the Actions dropdown menu, and use the Super Admin control there.
  4. (Enterprise) Review the permission sets themselves.
  5. Verify it worked: click the Settings icon, navigate to Users & Teams, click the Actions dropdown menu for the affected user, select Manage permissions, then View user permission history.
  6. Re-run this review on a fixed quarterly date rather than only after an incident.

Common mistakes to avoid

  • Assuming the Permission Sets tab exists. It only appears on Enterprise; if a lower-tier account does not show it, that is expected, not a misconfiguration.
  • Removing a Super Admin before dealing with the seat. Pulling Super Admin permissions does not free the paid seat by itself, handle the seat as its own step so the account is not left holding an unused license.

Automate the Inactive-User Sweep

  1. Settings icon > Security
  2. Click the Permissions tab.
  3. Next to the inactive users measure, click Manage.
  4. Turn on the Automatically deactivate inactive users from your HubSpot account toggle.
  5. Review the Scheduled tab.
  6. Verify it worked: after the run, check the Deactivated tab for the users HubSpot removed access from, and confirm your exclusions are still listed as excluded.

Recurring Deduplication Pass

  1. From the side rail, click More, then open Data Management > Data Quality.
  2. In your HubSpot account, click More, then navigate to Data Management > Data Quality (direct URL: app.hubspot.com/l/data-quality).
  3. On the Overview tab, read the summary tiles before doing anything.
  4. Click the Manage Duplicates tab.
  5. Click More, then navigate to CRM > Contacts (or Companies).
  6. Click the Actions dropdown menu and select Manage duplicates.
  7. Click the Contacts or Companies tab to view the table of duplicate objects.
  8. For each pair, click Review to merge, or Reject to confirm the records are not duplicates and keep both.
  9. If the suggested list is noisy: on the free tier there is no way to narrow the matching criteria yourself. Add new rule (next to “HubSpot model (default)”) lets you define custom matching rules instead, but it requires a Data Hub Professional or Enterprise subscription. Without that plan, work the list as HubSpot’s default model presents it.
  10. Verify it worked: in the top right, click Export duplicates to export a CSV, XLS or XLSX snapshot of what remains.
  11. Put the pass on a recurring calendar reminder, monthly for high-inbound portals, quarterly otherwise, rather than running it only after a bulk import.

Periodic audit log review

  1. Click the Settings icon in the top navigation bar.
  2. In the left panel, under Account Management, click Audit Log.
  3. There are two top-level tabs, Events and Analyze (Enterprise), not one flat list of views. Within the Events tab, use the second-row selector to choose the view you need:
  • All Logs, all log categories, for whatever date range you select.
  • Login History, all logins, for whatever date range you select.
  • Security Activity, all security activity, for whatever date range you select.
  • More, a dropdown in the same second row exposing additional Events views beyond these three.
Note: Each of these three views defaults to showing the last 30 days, but the Date filter can be widened to a month, quarter, year, or custom range. The page itself states: View user actions taken in your HubSpot account over the last 365 days.
  • Analyze (Enterprise) is the second top-level tab, not a view nested under Events. It shows overview metrics including total daily logins, total daily deletions, total daily exports and total daily reports, with charts by category, action, login trend and CRM record.
  1. Filter with Category, Subcategory, Action, Modified by and Date.
  2. Click into an entry to open the side panel, then the Details tab for additional metadata (Enterprise) and the Comments tab to annotate the entry for whoever reads it next.
  3. Click Export report to export the current view.
  4. Verify it worked: confirm the export email arrives and that the row count matches the filtered view you exported.

Turn on the two alerts worth having

  1. Settings icon > Notifications
  2. Use the search box (not a tab) to find the relevant alerts: search for one about admin permissions being removed (under Security and Authentication, Super Admin only) and one about an unusually high number of exports (under Data Imports and Exports, visible to any user); the exact toggle wording can vary by portal, so search by what the alert does rather than an exact label. Toggle the Email column for each.
  3. The admin-permissions alert notifies you when a user’s admin permissions are removed; the exports alert notifies you when HubSpot logs an unusually high number of exports in a day.
  4. While you are here, note that the entire Security and Authentication topic, not just this one alert, is Super Admin only.
  5. Verify it worked: there is no threshold you can lower to force a test, Multiple exports fires on HubSpot’s own internal definition of a high number, not a number you set. Confirm instead that the Email column is checked for both alerts, and treat any future notification as the real signal.

Set the export threshold and review the export log

  1. Settings icon > Data Management > Import & Export
  2. If there is no configurable export-count threshold in this account, skip this step. Settings > Notifications lets you turn the Multiple exports alert on or off, but it fires on HubSpot’s own internal definition of a high number of exports, not a number you set.
  3. Review the export log table, Name, Source, Records, User and Date.
  4. Use Cancel export on any in-progress export that should not be running, and View history to see download activity for a completed export.
  5. Note that export files remain available for download for 30 days after completion.
7.3 · Reporting & Ongoing Governance

Service Keys & API Access Governance

Over time a portal accumulates integrations, connected apps, and the occasional custom script, and each one reaches your data through one of several distinct mechanisms rather than a normal login: Legacy Apps (the consolidated home for former private and public apps, each flagged for migration to a Project under the newer Developer platform), Service Keys, a Personal Access Key, a Developer API Key, or a Connected App (an OAuth based installed integration). These are no longer one generic private app or API token concept. Each of these can often read and write across the whole portal and bypass the per-user permissions that protect everyone else, so the Super Admin’s job here is oversight: control who can create this kind of access, keep the list of active credentials small and known, and be able to trace what each one does.

Best Practices
  • Limit who can create a Legacy App, a Service Key, a Personal Access Key, a Developer API Key, or install a Connected App to Super Admins, and treat each new one as a deliberate decision, not a routine grant.
  • Scope every token to the minimum it needs. If an integration only reads contacts, it should not also be able to write deals. Least privilege keeps a leaked or misbehaving token from doing broad damage.
  • Treat write access as powerful. Where a connection changes data in bulk, review what it will change before approving, and prefer small batches so a mistake stays contained.
  • Keep an inventory of active Legacy Apps, Service Keys, Personal Access Keys, Developer API Keys, and Connected Apps, noting who owns each and why it exists. Review it periodically and revoke anything you cannot account for, especially when a vendor engagement ends or someone leaves.
  • Never share a token, paste it into a document, or commit it to code. A token is a password to your CRM, and anyone who holds it has that access.
  • Prefer HubSpot’s native connectors and built-in integrations for everyday needs, and reserve custom API access for what those genuinely cannot do.
  • Watch record history for changes made by an integration. If data looks wrong after a sync, history shows which connection wrote it, which is how you catch a misconfigured token early.
7.4 · Reporting & Ongoing Governance

Super Admin Quick-Reference Checklist

Who this is for: Written for whoever holds Super Admin responsibilities in your portal. Not every line item is Super-Admin-gated in HubSpot itself, but reviewing the full list is that role’s job. Use this as a lightweight gate before considering a new portal ‘launch ready,’ or as a periodic health check on an existing one.
Brand colors, fonts, and a single primary theme are configured and tested on a live email, page, and blog post
Property groups are organized
No duplicate properties exist across objects for the same underlying concept
All users have a Permission Set and a primary Team assigned
Meeting links are live and calendar-connected for every customer-facing user
Personal inboxes are connected; sending domains are SPF/DKIM/DMARC authenticated
Teams mirror the real org structure and combine correctly with Permission Sets
Workflows sit in folders and have been stress-tested before activation
Active vs. Static segment usage matches each segment’s actual purpose
A defined import process (clean → map → test batch → full import → verify) is followed for every import
Unique identifier properties are in place for any object without a natural dedup key
ZoomInfo field mapping (Overwrite vs. Complete if Missing) is documented and dedup-tested on a small batch
Scheduled Enrich jobs are scoped to active segments with a defined credit limit
Call outcome (and, if used, disposition detail) values are short, mutually exclusive, and mapped to real reporting/automation needs
Permission Sets are built around roles (not individuals), reviewed quarterly, and free of stray one-off user-level overrides
Sales sequences are short, multi-channel, personalized on the first touch, and restricted from bulk workflow enrollment
Mobile app installation, notification setup, and device lock are part of standard new-user onboarding
Each pipeline reflects a genuinely distinct process, uses 5 to 7 action-oriented stages, and has Closed Won/Lost flags set correctly
Super Admin access is limited to the minimum necessary number of users
Quantum Business SolutionsThe HubSpot Super Admin Best Practices Guide

Frequently asked questions

Who should read this guide?

Whoever holds Super Admin on a HubSpot portal, whether setting one up for the first time or auditing an existing one. Each of the 34 sections stands on its own, so it works as a reference to open at the one section you need rather than a manual to read start to finish.

What is the first thing a new Super Admin should set up?

The data model. Section 1.1 covers objects, properties, records and associations before anything else, because every later decision, from permissions to pipelines to reporting, depends on how records relate to each other.

How should permissions be structured for a growing team?

By granularity and ownership fields rather than by copying one user's access to the next person, covered in sections 2.6 and 2.7. The guide also covers the specific risk of granting permissions directly to an individual user instead of through a team.

What is the safest way to import data into HubSpot?

Start with a unique identifier strategy before the import itself, covered in sections 3.1 and 3.2, and keep record history and recovery in mind, covered in 3.6, since HubSpot's own retention of prior field values changes what a rollback can and cannot undo.

How does this guide treat ZoomInfo and other integrations?

As a governance question, not just a setup step. Section 3.4 covers ZoomInfo integration governance specifically, and 3.5 covers sync hygiene for every other integration, because property sync can interfere with connected tools in ways that are hard to diagnose after the fact.

What belongs on a Super Admin's recurring checklist?

Section 7.4 is a quick-reference checklist built from the rest of the guide, and 7.2 sets out which admin practices should happen on an ongoing basis rather than once at setup, such as the quarterly account access and security review in section 2.9.

No call required

Want a second opinion on your own portal?

Tell us which of these thirty-four areas you are least confident about, and we will reply with what we would check first.