Quick-reference guide for daily CRM tasks and a comprehensive wiki covering every HubSpot feature your team uses. Start at the top for the everyday essentials, or jump to any section in the nav.
You can also hover over a name and click Preview for a quick look without leaving the list.
Key info: name, email, phone, owner. Click “View all properties” for more.
Overview: snapshot of recent activity. Activities: full timeline of emails, calls, meetings, notes & tasks.
Linked records: companies, deals, tickets. Click any to jump to that record.
HubSpot cross-links everything. A contact links to their company, their company links to deals, deals link back to contacts. Click any name in the right panel to jump between records.
Same three-panel layout as contacts. The key difference: a company record rolls up all contacts, deals, and activity across the entire organization.
The Activities tab shows every interaction in reverse-chronological order. Use the filter buttons to narrow by type.
Emails log automatically when a team member’s inbox is connected to HubSpot. You don’t need to do anything special — correspondence with known contacts appears on their timeline.
Notes are how you record context that isn’t captured automatically.
Notes go on the record itself — “Met at the stadium, interested in 10-seat group package.” Comments are conversations with your team — “@Sean can you follow up on the pricing question?”
Associate the call with the relevant deal too — not just the contact. That way the call shows up on both the contact and deal timelines.
Tasks are to-do items with due dates, assigned to specific team members. They’re how you track follow-ups without things slipping through the cracks.
Your task list shows everything assigned to you. Filter by Due today, Upcoming, or Overdue.
Your stages may differ from the example below.
| Property | What it tells you |
|---|---|
| Deal Name | Descriptive name of the opportunity |
| Amount | Dollar value of the deal |
| Deal Stage | Current position in the pipeline |
| Close Date | Expected or actual close date |
| Deal Owner | Sales rep responsible for the deal |
| I want to… | Go here |
|---|---|
| Find a specific person | Global Search, type their name or email |
| See all contacts | CRM → Contacts |
| See all companies | CRM → Companies |
| See the deal pipeline | CRM → Deals |
| Read email history with someone | Contact record → Activities → Filter: Email |
| Leave a note on a record | Any record → Note icon in left panel |
| Log a phone call | Any record → Log activity → Log call |
| Create a follow-up task | Any record → Task icon in left panel |
| Tag a teammate | Any activity → Comment → @name |
| See who works at a company | Company record → Right panel → Contacts |
| Check a deal’s status | Deal record → Left panel (Stage, Amount, Close Date) |
| View my tasks | CRM → Tasks |
| Preview without opening | Hover over any name in a list, click Preview |
HubSpot’s CRM is a relational database with four layers:
| Object | Purpose | Unique identifier |
|---|---|---|
| Contacts | Individual people | email, hs_object_id |
| Companies | Business organizations | domain, hs_object_id |
| Deals | Revenue opportunities | hs_object_id |
| Tickets | Support/service requests | hs_object_id |
Additional objects by subscription: Leads (Sales Hub Pro/Enterprise), Line Items, Products, Quotes, Custom Objects (Enterprise).
Associations represent relationships between records:
Common association patterns:
Contact > Company (many-to-many)
Contact > Deal (many-to-many)
Company > Deal (many-to-many)
Deal > Line Item (one-to-many)
Contact > Ticket (many-to-many)
| From > To | TypeId |
|---|---|
| Contact > Company | 1 |
| Company > Contact | 2 |
| Deal > Contact | 3 |
| Contact > Deal | 4 |
| Deal > Company | 5 |
| Company > Deal | 6 |
For custom labels: GET /crm/v4/associations/{fromObjectType}/{toObjectType}/labels
Every object has default properties (pre-built), custom properties (user-created), and property groups (organizational categories). Properties have a type (string, number, date, datetime, bool, enumeration) and a fieldType (text, textarea, select, checkbox, date, number, etc.).
| type | Description | Valid fieldType values |
|---|---|---|
| bool | Binary yes/no | booleancheckbox, calculation_equation |
| enumeration | Set of options | booleancheckbox, checkbox, radio, select, calculation_equation |
| date | Day/month/year only | date |
| datetime | Day/month/year + time | date |
| string | Plain text (max 65,536 chars) | file, text, textarea, calculation_equation, html, phonenumber |
| number | Numeric with optional decimal | number, calculation_equation |
POST /crm/v3/properties/{objectType}
{
"groupName": "contactinformation",
"name": "favorite_food",
"label": "Favorite Food",
"type": "string",
"fieldType": "text"
}
Required fields: groupName, name (internal), label (display), type, fieldType.
{
"groupName": "dealinformation",
"name": "system_a_unique",
"label": "Unique ID for System A",
"hasUniqueValue": true,
"type": "string",
"fieldType": "text"
}
Max 10 unique ID properties per object.
Computed properties using formulas. Use fieldType: "calculation_equation" with type of number, bool, string, or enumeration.
Arithmetic: + - * / · Comparison: < > <= >= = != · Logic: or and not
Functions: max, min, is_present, contains, concatenate, number_to_string, string_to_number
if amount > 0 and units > 0 then amount / units else 0
if quantity >= 100 then quantity * 8.50
elseif quantity >= 50 then quantity * 9.00
elseif quantity >= 10 then quantity * 9.50
else quantity * 10.00
User-defined database tables for data that doesn’t fit standard objects. Enterprise subscriptions only. Navigate: Settings → Data Management → Objects → Custom Objects.
POST /crm/v3/schemas
{
"name": "games",
"labels": { "singular": "Game", "plural": "Games" },
"primaryDisplayProperty": "game_name",
"properties": [
{ "name": "game_name", "label": "Game Name",
"type": "string", "fieldType": "text",
"isPrimaryDisplayLabel": true },
{ "name": "game_date", "label": "Game Date",
"type": "date", "fieldType": "date" }
],
"associatedObjects": ["contacts", "deals"]
}
Practical example: Season Ticket Packages. Properties: package_name, seat_section, seat_row, seat_numbers, price_tier (P0-P5), total_price, season_year, payment_plan. Pipeline: Deposit Received → Seat Selection Pending → Seat Assigned → Contract Sent → Payment Complete → Active.
| Feature | Starter | Professional | Enterprise |
|---|---|---|---|
| Workflows | — | Yes | Yes |
| Custom Objects | — | — | Yes |
| Custom Code Actions | — | Yes (Data Hub) | Yes |
| Calculated Properties | Yes | Yes | Yes |
| API Access | Yes | Yes | Yes |
| Sequences | — | — | Yes (Sales/Service) |
Data model viewer: Settings → Data Management → Data Model. Graph view shows visual relationship maps, table view shows associations.
Workflows automatically enroll records based on trigger criteria and execute a series of actions. Available with Marketing Hub, Sales Hub, Service Hub, Data Hub, Smart CRM, or Commerce Hub Professional/Enterprise. Navigate: Automation → Workflows.
Three approaches: from scratch, using AI (“When [this happens], then [do this]”), or from templates. Object types (locked after setting triggers): Contact-based, Company-based, Deal-based, Ticket-based, Lead-based, Custom object-based, Conversation-based.
Re-enrollment: records must complete workflow first. Re-enrollment triggers are separate from initial triggers.
| Action | Description |
|---|---|
| Set amount of time | Pause for X days/hours/minutes |
| Calendar date | Wait until a specific date |
| Date property | Wait until date in a property |
| Event occurrence | Wait until page visit, form fill, etc. |
| Days of week | Wait until a specific day |
| Time of day | Wait until a specific time |
| Type | Description |
|---|---|
| Single property | Up to 250 branches, no AND/OR |
| AND/OR logic | Filter criteria combinations |
| Random distribution | Split by percentage (Marketing Pro/Enterprise) |
Automated 1:1 sales outreach. Timed email templates from your connected inbox combined with task reminders. Sends from your personal inbox. Stops when contact replies or books a meeting.
| Requirement | Detail |
|---|---|
| Hub | Sales Hub Starter, Professional, or Enterprise |
| Seat | Paid Sales Hub seat |
| Inbox | Gmail or Outlook connected |
| Permission | Sequences permission enabled |
| Plan | Daily limit |
|---|---|
| Sales Hub Starter | 100 / user / day |
| Sales Hub Professional | 500 / user / day |
| Sales Hub Enterprise | 1,000 / user / day |
Bulk enrollment: up to 50 contacts at once, throttled at ~3 emails/minute. Max 10 email templates per sequence.
| Step | Behavior |
|---|---|
| Automated Email | Sends automatically at scheduled time |
| Manual Email Task | Creates a task; review/personalize before sending |
| Call Task | Reminder to make a phone call |
| LinkedIn Task | Reminder for LinkedIn outreach |
| General Task | Any custom follow-up action |
| Feature | Sequences | Workflows |
|---|---|---|
| Purpose | 1:1 sales outreach | 1-to-many automation |
| Sends from | Personal inbox | Marketing email system |
| Stops on | Reply or meeting | Based on set logic |
| Best for | Sales follow-up | Nurture campaigns, ops |
Segments group records based on property values. Used across marketing emails, workflows, reports, ads, surveys. Navigation: CRM → Segments.
Converting: Active → Static stops auto-updating. Static → Active starts auto-updating (must have filters set).
Filter logic: AND (within group) — all conditions must be true. OR (between groups) — at least one group must be true. Filter sources include property values, associated object properties, activities, page views, form submissions, email interactions, workflow enrollment, segment membership.
Limits: 250 filters per segment, 60 associated object filters, complex filters may take up to 2 hours to evaluate.
GET /contacts/v1/lists
GET /contacts/v1/lists/{listId}/contacts/all
POST /contacts/v1/lists/{listId}/add
POST /contacts/v1/lists/{listId}/remove
Navigate: Data Management → Data Quality → Duplicate Management. Identified by: Contacts (email, first+last name, phone), Companies (domain, name).
POST /crm/v3/objects/{objectType}/merge
{ "primaryObjectId": "123", "objectIdToMerge": "456" }
POST /crm/v3/objects/{objectType}/batch/update (max 100/batch)
POST /crm/v3/objects/{objectType}/batch/archive (90-day recycle bin)
DELETE /crm/v3/objects/contacts/{contactId}?gdprDelete=true
Methods: CSV upload, spreadsheet sync (Google Sheets/Excel), API batch endpoints.
File requirements: CSV, XLSX, or XLS. 512,000 rows or 150 MB max. UTF-8 encoding. Required unique identifiers: Contacts need email, Companies need domain or name, Deals need deal name.
Step-by-step: CRM → Contacts → Import → File from computer → Select objects → Upload → Map columns → Configure (create and update / create only / update only) → Set lifecycle stage → Review → Finish.
Associations: Include identifiers for both objects in one file. Select both objects during setup.
Exports: From views (select records, Export), from lists, from reports. Formats: CSV, XLS, XLSX.
Data Sync (Operations Hub): Two-way real-time sync with 100+ apps. Configure sync direction, field mappings, filter rules, conflict resolution.
Sync contacts (purchasers), transactions, and event attendance. Methods: native integration, Zapier/Make, API-based, CSV import. Key fields: Email, Name, Phone, Purchase history, Last match attended, Ticket type, Seat location.
https://api.hubapi.com
Private App Access Token (recommended): Authorization: Bearer pat-na1-xxx
OAuth 2.0: For multi-account apps.
GET (read), POST (create/search), PATCH (update), PUT (associations), DELETE (remove).
| Type | Limit |
|---|---|
| Standard API | 100 requests / 10 seconds |
| Search endpoints | 5 requests / second |
| Daily limit | 250,000 requests / day |
POST /crm/v3/objects/{objectType}/batch/create
POST /crm/v3/objects/{objectType}/batch/read
POST /crm/v3/objects/{objectType}/batch/update
POST /crm/v3/objects/{objectType}/batch/archive
POST /crm/v3/objects/{objectType}/batch/upsert
Pagination: ?limit=100&after=100
Specific properties: ?properties=email,firstname,lastname
Property history: ?propertiesWithHistory=lifecyclestage
/crm/v3/objects/contacts
/crm/v3/objects/companies
/crm/v3/objects/deals
/crm/v3/objects/tickets
/crm/v4/objects/{from}/{fromId}/associations/default/{to}/{toId}
/crm/v3/properties/{objectType}
/crm/v3/pipelines/{objectType}
/crm/v3/owners
/crm/v3/objects/{objectType}/search
/crm/v3/objects/calls | emails | meetings | notes | tasks
Subscribe to: contact.creation, contact.propertyChange, deal.creation, deal.propertyChange, deal.deletion.
| Scope | Access |
|---|---|
| crm.objects.contacts.read/write | Contacts |
| crm.objects.companies.read/write | Companies |
| crm.objects.deals.read/write | Deals |
| crm.objects.custom.read/write | Custom objects |
| crm.lists.read/write | Lists / segments |
| automation | Workflows |
POST /crm/v3/objects/{objectType} # Create
GET /crm/v3/objects/{objectType}/{id} # Read
GET /crm/v3/objects/{objectType} # List
PATCH /crm/v3/objects/{objectType}/{id} # Update
DELETE /crm/v3/objects/{objectType}/{id} # Delete
POST /crm/v3/objects/{objectType}/search # Search
POST /crm/v3/objects/{objectType}/batch/* # Batch ops
{
"properties": {
"email": "jane@example.com",
"firstname": "Jane",
"lastname": "Doe",
"phone": "+18884827768",
"company": "Greenville Triumph",
"lifecyclestage": "lead"
}
}
{
"properties": { "email": "jane@example.com" },
"associations": [{
"to": { "id": 101 },
"types": [{
"associationCategory": "HUBSPOT_DEFINED",
"associationTypeId": 1
}]
}]
}
Upsert: Use idProperty with email or custom unique identifier.
Lifecycle stage: Can only move forward. Clear first to move backward.
PUT /crm/v4/objects/{from}/{fromId}/associations/default/{to}/{toId}
GET /crm/v4/associations/{from}/{to}/labels
POST /crm/v4/associations/{from}/{to}/batch/create (max 1,000)
PATCH /crm/v3/objects/deals/{dealId}
{ "properties": { "dealstage": "closedwon" } }
POST /crm/v3/objects/deals/batch/update
GET /crm/v3/pipelines/deals
GET /crm/v3/pipelines/deals/{pipelineId}/stages
POST /crm/v3/objects/line_items
PUT /crm/v4/objects/line_items/{lineItemId}/associations/default/deals/{dealId}
POST /crm/v3/objects/{object}/search
| Operator | Description |
|---|---|
| EQ | Equal to |
| NEQ | Not equal to |
| LT / LTE | Less than (or equal) |
| GT / GTE | Greater than (or equal) |
| BETWEEN | Range (use value + highValue) |
| IN / NOT_IN | In list (use values array, lowercase) |
| HAS_PROPERTY | Has any value |
| NOT_HAS_PROPERTY | No value |
| CONTAINS_TOKEN | Contains (supports * wildcard) |
AND logic: filters in same group. OR logic: multiple filter groups. Limits: 5 req/sec, 10,000 max results, 200 per page, 5 filter groups max, 6 filters per group max.
{
"filterGroups": [{ "filters": [
{ "propertyName": "dealstage",
"operator": "EQ", "value": "closedwon" },
{ "propertyName": "pipeline",
"operator": "EQ", "value": "default" }
]}],
"properties": ["dealname","amount","closedate","hubspot_owner_id"],
"sorts": [{ "propertyName": "amount",
"direction": "DESCENDING" }],
"limit": 100
}
{ "filters": [{
"propertyName": "email",
"operator": "CONTAINS_TOKEN",
"value": "*@greenvilletriumph.com"
}]}
Dashboards: Reporting → Dashboards. Add reports, arrange in grid, global date range, share with teams.
| Tier | Dashboards | Reports / dashboard |
|---|---|---|
| Free | 3 | 10 |
| Starter | 10 | 10 |
| Pro | 25 | 30 |
| Enterprise | 50 | 30 |
Shareable booking links for contacts to schedule based on real-time calendar availability. Sync to CRM and calendar automatically. Requires connected calendar.
Meeting types: One-on-One, Group (requires Sales/Service seat), Round Robin (requires seat).
Configuration tabs: Overview (title, location, videoconference, description), Team Members, Scheduling (date range, duration, buffer, minimum notice, increments), Form (fields), Automation (confirmation, reminders).
Sharing methods: Direct link, embed on website, CTA button, email signature, live chat, sales emails, mobile app.
| Plan | Minutes / user / month |
|---|---|
| Free | Limited |
| Starter | 500 |
| Professional | 3,000 |
| Enterprise | 12,000 |
Minutes do NOT roll over.
Setup: Settings → Calling. Get HubSpot number or register your own. Third-party providers: Aircall, RingCentral, Zoom Phone, etc.
Making calls: From record (phone icon), from calling tool (top nav), or from task queues.
During & after call: Mute, Record, Take notes, Log outcome. After: Set outcome (Connected/Left voicemail/No answer/Wrong number/Busy), type, notes.
Recording & CI: Enable in Settings → Calling. Consent settings: record all or ask permission. Conversation Intelligence (Pro/Enterprise): automatic transcription, keyword tracking, talk-to-listen ratio, coaching playlists.
Documents: Trackable files that notify when prospects view them. Upload at Library → Documents. Supported: PDF, PPT/PPTX, DOC/DOCX, XLS/XLSX. Tracking: notification on open, page-by-page viewing analytics, link sharing detection. Settings: require email to view, disable sharing, allow downloading.
Playbooks (Pro/Enterprise): Interactive guides for calls/meetings. Library → Playbooks. Types: Call, Meeting, Custom. Build with text blocks, questions (open text, dropdown, checkbox, date, number), property update fields, notes sections. Use from record sidebar → Playbooks. Log saves to timeline.
| Marketing | Sales templates | |
|---|---|---|
| Purpose | Bulk sends to lists | 1:1 outreach |
| Sent from | Marketing → Email | CRM records, sequences, inbox |
| Tracking | Analytics dashboard | Per-email open/click |
| Unsubscribe | Required (auto-included) | Not required |
Creating marketing emails: Marketing → Email → Create email. Types: Regular (one-time), Automated (for workflows), Blog/RSS.
Personalization tokens: {{ contact.firstname }}, {{ company.name }}, {{ deal.dealname }}, {{ owner.firstname }}. Always set default values.
Smart content (Pro/Enterprise): Show different content based on list membership, lifecycle stage, country, device, language, contact owner.
A/B testing: 50/50 split test or winning version test (small sample, then auto-send winner). Test one variable: subject line, sender name, CTA, body copy, images.
Deliverability: Required: physical address, unsubscribe link, verified sending domain. Marketing contacts only. Bounce management: hard bounce auto-blocked, soft bounce retried.
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Emails / month | 2,000 | 5x tier | 10x tier | 20x tier |
| A/B testing | No | No | Yes | Yes |
| Sales templates | 5 | 5,000 | 5,000 | 5,000 |
Forms collect visitor info and create/update contacts. Available on all plans.
Types: Embedded, Standalone page (HubSpot-hosted URL), Pop-up (scroll %, exit intent, time).
Field types: Single-line text, Multi-line text, Email, Phone, Number, Dropdown, Radio, Checkbox, Single checkbox, Date picker, File upload, CAPTCHA.
After submission: Thank you message, redirect to HubSpot page, redirect to external URL, redirect to scheduling page (Enterprise), conditional redirect.
Progressive profiling (Pro/Enterprise): Show different fields to returning contacts based on what you already know.
| Landing pages | Website pages | |
|---|---|---|
| Purpose | Convert via single CTA | General content |
| Navigation | Minimal / none | Full site nav |
| Location | Content → Landing Pages | Content → Website Pages |
| Plans | All (Free+) | Content Hub Starter+ |
Creating: Content → Landing Pages → Create. Select theme → template → name → drag-and-drop editor → configure settings → preview → publish.
A/B testing: Run a test → make one change → 50/50 traffic split. Adaptive testing (Pro/Enterprise): AI auto-optimizes multiple variations.
Auto-logging, email tracking, calendar sync, sequences, templates, meetings tool, send from CRM. Each user must connect individually.
| Provider | Calendar | Sequences | Conversations | |
|---|---|---|---|---|
| Gmail | Yes | Yes | Yes | Yes |
| Office 365 | Yes | Yes | Yes | Yes |
| Exchange | Yes | Limited | Yes | No |
| IMAP | Yes | No | No | No |
Connect personal email: Settings → General → Email → Connect personal email → Select provider → Authenticate.
Connect calendar: Settings → General → Calendar → Connect your calendar → Select provider → Authenticate. Calendar sync ON by default. Only syncs primary calendar.
Sales extensions: Gmail: Chrome extension. Outlook: O365 add-in (recommended). Provides: Log/Track toggles, contact sidebar, templates, sequences, documents.
Seats control Hub access. Permissions define capabilities. Teams organize users. Permission Sets (Enterprise) are reusable templates.
Adding users: Settings → Users & Teams → Create user → Email → Assign seats → Set permissions → Create.
Security: Limit Super Admins, enable 2FA, review quarterly, audit activity, remove users promptly, restrict export.
Day 1 checklist: Profile (name, timezone), email connection, calendar connection, browser extension, notifications, mobile app.
Admin setup: Account defaults (timezone, currency, fiscal year), domain, branding, email sending domain (DKIM/SPF/DMARC), users and seats, teams, deal pipelines, ticket pipelines, properties, lifecycle stages, lead status, integrations, subscription types, GDPR settings, views and dashboards.
Key integrations: Google Workspace / O365, Zoom / Meet / Teams, Slack, Zapier / Make, Vivenu, social media, Stripe, Google Analytics.
| Setting | Location |
|---|---|
| User profile | Avatar → Profile & Preferences |
| Settings → General → Email | |
| Calendar | Settings → General → Calendar |
| Users & Teams | Settings → Users & Teams |
| Account defaults | Settings → Account Defaults |
| Properties | Settings → Properties |
| Deal pipelines | Settings → Objects → Deals |
| Ticket pipelines | Settings → Objects → Tickets |
| Domains | Settings → Content → Domains & URLs |
| Integrations | Settings → Integrations → Connected Apps |
| Privacy / GDPR | Settings → Privacy & Consent |
| Security / 2FA | Settings → Account Setup → Security |
| Calling | Settings → Calling |
Shared inbox for managing communications across channels (email, chat, Facebook Messenger, WhatsApp, forms). Setting up: Settings → Inbox & Help Desk → Inboxes → Connect a channel.
Team email: Connect shared address (e.g., tickets@triumph.com). Gmail or Office 365 only. All emails appear in shared inbox.
Configuration: Assignment rules (auto-assign), round-robin, auto-reply, working hours, SLAs (Service Pro/Enterprise).
Live chat: Automations → Chatflows → Create → Website → Live chat. Configure welcome message, availability, display (avatar, color, position), language, target pages. Features: real-time messaging, visitor info sidebar, canned responses, transfer conversations, file attachments, typing indicators.
Chatbots: Automations → Chatflows → Create → Website → Bot. Templates: qualify leads, book meetings, support triage, knowledge base search, offline collection. Actions: send message, ask question, quick reply buttons, if/then branch, set property, assign to agent, create ticket, enroll in workflow, book meeting, search knowledge base.
Help desk (Service Hub): Ticket-centric workspace. Unified ticket view, SLA management, ticket routing, customer portal. Auto-assign by channel, properties, team capacity. Skill-based routing.
Snippets: Canned responses. Library → Snippets. Type #shortcut in any text field. Ideas: #pricing, #parking, #groupmin, #seatmap, #stadiuminfo, #renewal.
Tickets track issues through pipeline stages from creation to resolution.
Pipelines: Settings → Objects → Tickets. Default stages: New, Waiting on contact, Waiting on us, Closed. Customize: add stages, set Open/Closed status, reorder, automate.
Creating tickets: Manually (CRM → Tickets), from email, from forms, from chatflows, from workflows, via API.
Properties: Ticket name, Pipeline, Status, Priority, Category, Owner, Create/Close date, Source, Time to close, Time to first response.
Views: Board (Kanban drag-and-drop), Table (spreadsheet-style, bulk edit), Saved views.
SLAs (Service Pro/Enterprise): Time to first response, Time to close. Targets by priority. Business hours clock. Breach notifications.
Customer feedback (Service Pro/Enterprise): CSAT, NPS, CES surveys. Auto-send on ticket close.