# HubSpot AI agent for Slack & Microsoft Teams

Viktor is an AI employee that connects to HubSpot and helps you track deals and customer relationships through a sales pipeline, running 245 HubSpot actions for you like Get deal, Get deals, and Get emails. Ask in plain English in Slack or Microsoft Teams; Viktor does the work in HubSpot and reports back. Viktor connects in one click via OAuth.

- Tool: HubSpot
- Category: Sales & CRM
- Connection: One-click OAuth
- Actions available: 245
- Works from: Slack and Microsoft Teams
- Page: https://viktor.com/integrations/hubspot

## What can you ask Viktor to do in HubSpot?

- "Update the HubSpot deal I closed today and move it to won."
- "Pull this week's pipeline from HubSpot and post a summary to #sales every Friday."
- "Find contacts in HubSpot we haven't touched in 30 days and draft follow-ups."
- "Cross-check HubSpot against our billing records and flag deals that don't match."

## What can Viktor do in HubSpot? (245 actions)

- **Add asset association** - Associates an existing asset ('FORM', 'OBJECTLIST', or 'EXTERNALWEBURL') with a specified HubSpot marketing campaign.
- **Add token to event template** - Adds a new custom data token to an existing event template for a specified HubSpot application, optionally populating a CRM object property if objectPropertyName is provided.
- **Archive batch of feedback submissions by id** - Asynchronously archives a batch of HubSpot feedback submissions using their unique IDs, which must correspond to valid and existing submissions; the operation is queued, and submissions are moved from active views without being deleted.
- **Archive batch of line items by id** - Archives a batch of existing line items by their unique IDs in HubSpot CRM; this operation is irreversible via the API.
- **Archive batch of objects by id** - Archives a batch of existing, non-archived CRM objects of a specified objectType by their IDs, effectively hiding them from active use.
- **Archive batch of properties** - Archives a batch of properties by their internal names for a specified HubSpot CRM object type; this operation is idempotent and safe to retry.
- **Archive a batch of quotes by id** - Archives a batch of existing quotes by their IDs, removing them from active views while keeping them accessible in your HubSpot account for viewing, downloading, cloning, or deletion; note that archived quotes cannot be restored to active status.
- **Archive companies** - Archives multiple HubSpot companies by their IDs.
- **Archive company** - Archives an existing company in HubSpot CRM by its companyId, moving it to a recycling bin from which it can be restored, rather than permanently deleting it.
- **Archive contact** - Archives a HubSpot contact by its ID.
- **Archive contacts** - Archives multiple HubSpot contacts by their IDs.
- **Archive a CRM object by ID** - Archives a specific HubSpot CRM object by its type and ID, moving it to the recycling bin; this action is irreversible via the API but objects can often be restored via the HubSpot UI.
- **Archive deals** - Archives multiple HubSpot deals by their IDs.
- **ArchiveEmail email** - Archives the HubSpot email specified by emailId by moving it to the recycling bin, making it inaccessible unless restored.
- **Archive emails** - Archives multiple HubSpot emails by their IDs.
- **Archive feedback submission** - Archives an existing, non-archived Feedback Submission in HubSpot CRM by its ID, moving it to the recycling bin (not permanently deleting it).
- **Archive line item by id** - Archives a specific HubSpot line item by its ID, moving it to a recoverable state.
- **Archive product** - Archives a HubSpot product by its ID.
- **Archive products** - Archives multiple HubSpot products by their IDs.
- **Archive property by object type and name** - Archives a specified CRM property by its object type and name, moving it to the recycling bin; note that some default HubSpot properties cannot be archived.
- **Archive property group** - Archives a HubSpot property group, making it inactive and hidden (not permanently deleted, allowing potential restoration) with immediate effect on its CRM visibility and usability.
- **Archive quote object by id** - Archives a HubSpot Quote object by ID, moving it to the recycling bin where it can be restored within 90 days.
- **Archive ticket** - Archives a HubSpot ticket by its ID.
- **Archive tickets** - Archives multiple HubSpot tickets by their IDs.
- **Audit pipeline changes by id** - Retrieves a reverse chronological audit log of all changes for a specific, existing HubSpot CRM pipeline, which is identified by its pipelineId and a valid objectType that supports pipelines (e.g., 'deals', 'tickets').
- **Batch read companies by properties** - Batch-retrieves up to 100 HubSpot company records by their IDs in a single request. Supports custom ID properties (e.g., domain), selective property retrieval, and historical property values.
- **Batch update quotes** - Updates multiple existing HubSpot quotes in a batch; each quote is identified by its object ID or a custom unique property (via idProperty), and only writable properties are modified.
- **Cancel active import** - Cancels an active HubSpot data import job using its importId; this action is irreversible, and any data already processed will remain.
- **Clone marketing email** - Duplicates an existing HubSpot marketing email, identified by its id, into a new draft; an optional cloneName can be assigned to this new email copy.
- **Configure calling extension settings** - Configures or updates settings for a HubSpot app's calling extension, including its name, UI URL, iframe dimensions, isReady status, and supportsCustomObjects flag, for the specified appId.
- **Create A/B test variation** - Creates a new A/B test variation for an existing HubSpot marketing email, using its contentId; the new variation is created as a draft that can be edited before publishing. This action only creates the variation—it does not start the A/B test or send emails. Note: If an active variation already exists for the email, a new one will not be created. Requires Marketing Hub Professional or Enterprise subscription.
- **Create a new property group** - Creates a new, empty property group for a specified CRM object type in HubSpot, requiring a unique group name for that object type; properties must be added separately.
- **Create a new marketing email** - Creates a new marketing email in HubSpot, allowing comprehensive configuration of content, recipients, sender details, A/B testing, scheduling, web version, and other settings; the internal name for the email is required.
- **Create association for object type** - Creates a new custom association definition (schema) for a custom object in HubSpot, specifying how this object type can relate to another object type; this defines the association type itself, not actual record-to-record links. Note: This endpoint requires crm.schemas.custom.write scope and only works with custom objects (not standard HubSpot objects like contacts or companies).
- **Create batch of feedback submissions** - Creates a batch of feedback submissions in HubSpot, ideal for bulk imports; all property names, associationTypeIds, and association toids must reference existing entities in HubSpot.
- **Create batch of objects** - Creates multiple CRM objects of a specified objectType (e.g., contacts, companies, deals) in a single batch operation, where each object can have its own set of properties and associations.
- **Create batch of properties** - Efficiently creates multiple CRM properties in a single batch for a specified HubSpot object type (e.g., 'contacts', 'companies', custom object ID), ideal for schema setup or updates.
- **Create batch of quotes** - Creates multiple HubSpot CRM quotes in a batch, ideal for bulk operations; provide meaningful quote details in inputs as property requirements can vary, and inspect response for individual quote statuses as partial success is possible.
- **Create campaign** - Creates a new HubSpot campaign.
- **Create campaigns** - Creates multiple HubSpot campaigns by calling the single campaign creation endpoint for each campaign. Note: HubSpot does not provide a native batch create endpoint for campaigns. This action creates multiple campaigns by making individual API calls for each campaign in the batch.
- **Create companies** - Creates multiple new HubSpot companies in a single batch operation.
- **Create company** - Creates a new HubSpot company.
- **Create contact** - Creates a new HubSpot contact.
- **Create Contact From Natural Language** - Creates a new contact in HubSpot from a natural language description. Fetches the contact property schema at runtime, uses an LLM to generate the correct property payload, and creates the contact.
- **Create contacts** - Creates multiple new HubSpot contacts in a single batch operation.
- **Create CRM Object From Natural Language** - Creates a new CRM object (contact, deal, company, ticket, or custom object) in HubSpot from a natural language description. Fetches the object's property schema at runtime, uses an LLM to generate the correct property payload, and creates the object.
- **Create CRM object with properties** - Creates a new HubSpot CRM object (e.g., contact, company, custom object) with specified properties (using valid internal names) and associations (to existing objects via valid type IDs).
- **Create deal** - Creates a new HubSpot deal.
- **Create Deal From Natural Language** - Creates a new deal in HubSpot from a natural language description. Fetches the deal property schema and pipeline stages at runtime, uses an LLM to generate the correct property payload, and creates the deal.
- **Create deals** - Creates multiple deals in HubSpot CRM; ensure any associated object IDs, deal stages, and pipeline IDs specified are valid and exist within the HubSpot account.
- **Create email** - Creates a new HubSpot email engagement record. REQUIRED FIELDS in properties dict: - hsemailsubject: Subject line - hsemailhtml: HTML content - hstimestamp: Unix timestamp in milliseconds - hsemaildirection: One of 'EMAIL', 'INCOMINGEMAIL', 'FORWARDEDEMAIL', 'DRAFTEMAIL' This creates an email engagement/activity record in HubSpot CRM, not a marketing email.
- **Create emails** - Creates multiple HubSpot emails in a single batch operation.
- **Create event template for app** - Creates a new event template for a HubSpot app, defining structure, custom properties (tokens), and appearance (Markdown with Handlebars) of custom timeline events for CRM objects; this template must exist before logging corresponding events.
- **Create feedback submission** - Creates a new HubSpot feedback submission to record customer feedback (e.g., survey responses, support interactions), optionally associating it with CRM objects.
- **Create line item** - Creates a new HubSpot line item.
- **Create line items** - Creates multiple HubSpot line items in a single batch operation.
- **Create meeting** - Creates a new meeting engagement in HubSpot CRM. Use this action when you need to log a meeting that occurred or schedule a future meeting with contacts, companies, or other CRM records. The meeting will appear on the timeline of associated records and can include details like title, time, location, notes, and outcome.
- **Create note** - Creates a new HubSpot CRM note. Use when you need to add a timestamped note with optional attachments and associations to contacts, companies, deals, or tickets.
- **Create object association** - Tool to create or label an association between two CRM records using HubSpot Associations v4 API. Use when you need to link records (e.g., contact to company, deal to contact) with explicit association labels.
- **Create new object schema with custom properties** - Creates a new custom object schema in HubSpot CRM with unique naming for schema and properties, defined display/required/searchable properties within the 'properties' list, provided immutable labels, and correctly configured 'enumeration' type properties (options/referencedObjectType).
- **Create or update draft version** - Creates or updates the draft version of a marketing email identified by emailId; if no draft exists, a new one is created from the current live version to prepare changes or A/B tests before publishing.
- **Create pipeline for object type** - Creates a new HubSpot pipeline for a specified CRM objectType (e.g., 'deals', 'tickets'), requiring the pipeline label be unique for that objectType and each stage label be unique within the pipeline.
- **Create pipeline stage** - Creates a new stage in a specified HubSpot CRM pipeline for a given object type, such as 'deals' or 'tickets'.
- **Create product** - Creates a new HubSpot product. Note: Products are catalog items and cannot be directly associated with deals, contacts, or companies. To connect product information to a deal or quote, create a line item using HUBSPOTCREATELINEITEM that references this product's ID via hsproductid.
- **Create products** - Creates multiple HubSpot products in a single batch operation.
- **Create property for specified object type** - Creates a new custom property for a specified HubSpot CRM object type; ensure groupName refers to an existing property group for the objectType.
- **Create quote object** - Creates a new quote object in HubSpot CRM with specified properties and associations.
- **Create task** - Creates a new CRM task record. Use when adding a task with properties and optional associations.
- **Create ticket** - Creates a new HubSpot ticket.
- **Create tickets** - Creates multiple HubSpot tickets in a batch, each with its own properties and associations; inputs list must not be empty, each item needs properties, and associations/custom properties must be validly defined using internal names for custom fields and ISO 8601 for dates.
- **Create timeline event based on template** - Creates an immutable custom timeline event on a CRM object's record using a specified, existing event template (identified by eventTemplateId), optionally updating CRM object properties if defined in the template; requires email, utk, or objectId for association.
- **Create multiple timeline events batch** - Creates multiple immutable timeline events in a batch, ideal for bulk data imports or real-time synchronizations, using a valid event template; may update CRM properties if the template is so configured.
- **Create workflow** - Creates a new HubSpot workflow to automate processes; ensure enrollmentCriteria and actions use properties relevant to the specified objectTypeId.
- **Delete call** - Permanently deletes a HubSpot call record by its ID. This action removes a call engagement from the CRM. Use this action when you need to remove a specific call record that is no longer needed or was created in error. This action is irreversible - the call record cannot be recovered once deleted.
- **Delete calling extension settings** - Permanently deletes the settings for a calling extension app, specified by its appId, rendering it unusable for all connected HubSpot accounts; this operation is irreversible.
- **Delete campaign** - Permanently deletes a marketing campaign from HubSpot using its campaignGuid; returns a 204 No Content status even if the campaign does not exist.
- **Archive a batch of campaigns** - Archives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them.
- **Permanently delete company for GDPR compliance** - Permanently deletes a company (identified by objectId) and its associated data from HubSpot for GDPR compliance; this action is irreversible and requires the company to exist.
- **Permanently delete contact for GDPR compliance** - Irreversibly erases a HubSpot contact and associated data per a GDPR request; if an email is given for a non-existent contact, it's blocklisted.
- **Archive deal (GDPR permanent delete not supported for deals)** - Archives a HubSpot deal by its ID. Note: HubSpot's GDPR permanent deletion API only supports contacts, not deals. This action archives the deal (moves to recycling bin for 90 days) as the closest available functionality.
- **Permanently delete line items for gdpr** - Permanently deletes a specified line item and its associated content for GDPR compliance; this action is irreversible and cannot be undone.
- **Delete a marketing email** - Permanently deletes a marketing email from your HubSpot account. This action cannot be undone.
- **Delete meeting** - Permanently deletes (archives) a HubSpot meeting by its ID, moving it to the recycling bin where it can be restored within 90 days. Use this action when you need to remove a meeting engagement from HubSpot's CRM. This action is irreversible via the API — the meeting cannot be recovered programmatically once deleted.
- **Delete note** - Archives a HubSpot note by its ID, removing it from active view. The note is archived rather than permanently deleted and can be restored within 90 days. Use this action when you need to remove a note from the CRM without permanently deleting it. This action is irreversible through the API - archived notes cannot be restored programmatically.
- **Delete pipeline by id** - Permanently deletes a HubSpot pipeline and all its stages by pipelineId and objectType; this is irreversible, so use validation flags to avoid errors if the pipeline is not empty.
- **Delete pipeline stage by id** - Permanently deletes a specific pipeline stage for an objectType (e.g., 'deals', 'tickets') that supports pipelines; this operation is irreversible, so ensure no active CRM records are associated with the stage to prevent data issues.
- **Delete schema by object type** - Deletes a HubSpot custom object schema by objectType. With archived=false (default), it archives the schema (soft delete). With archived=true, it permanently deletes an already-archived schema (hard delete). Prerequisites: All object instances, associations, and properties must be deleted first.
- **Delete task** - Archives a HubSpot task by its ID, removing it from active task lists. Use this action when you need to delete or remove a task from HubSpot CRM. The task is archived rather than permanently deleted and may be recoverable. This action is irreversible from the API perspective — the task cannot be directly unarchived via this action.
- **Delete timeline event template** - Permanently and irreversibly deletes a specific timeline event template, identified by its eventTemplateId, from the application appId.
- **Delete video conferencing app settings** - Irreversibly deletes all settings for a video conferencing application identified by its appId in HubSpot, removing its configuration and preventing it from functioning until reconfigured; existing meetings and historical data are unaffected. Note: This API requires developer API key (hapikey) authentication from your HubSpot developer account, not OAuth tokens.
- **Delete workflow** - Permanently deletes a HubSpot workflow by its ID; deleted workflows cannot be restored via the API and the ID must exist.
- **Fetch import error details** - Fetches a paginated list of read-only error details for a specific HubSpot CRM import, requiring a valid importId for a processed import.
- **Fetch recording settings by app ID** - Fetches call recording settings for a specified, existing HubSpot calling extension app.
- **Fetch revenue** - Fetches a revenue attribution report for a specified, existing marketing campaign, optionally using a specific attribution model and date range; if both start and end dates are given, endDate must not be earlier than startDate.
- **Get the variation of an A/B marketing email** - Retrieves the alternate variation of a specified A/B marketing email; the emailId must identify an email currently in an A/B test. Requires Marketing Hub Professional or Enterprise subscription.
- **Get Account Information** - Gets current HubSpot account info (email, hubId, user details) using access-token lookup.
- **Get active imports list** - Retrieves a list of currently active import jobs in HubSpot for monitoring ongoing data operations.
- **Get aggregated statistic intervals** - Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range.
- **Get aggregated statistics** - Retrieves aggregated statistics for marketing emails, optionally within an ISO8601 formatted time range, by email IDs, or specific email properties.
- **Get all marketing emails for a HubSpot account** - Fetches a list of marketing emails from a HubSpot account, with options for filtering, sorting, pagination, and including performance statistics.
- **Get campaign** - Retrieves a HubSpot campaign by its ID.
- **Get campaign metrics** - Retrieves key attribution metrics for an existing marketing campaign, identified by its campaignGuid, within an optional date range.
- **Get campaigns** - Retrieves multiple HubSpot campaigns.
- **Get company** - Retrieves a HubSpot company by its ID.
- **Get contact IDs** - Fetches a list of contact IDs for a specific HubSpot campaign based on interaction type.
- **Get deal** - Retrieves a HubSpot deal by its ID.
- **Get deals** - Retrieves multiple HubSpot deals by their IDs in a single batch request.
- **Get emails** - Retrieves multiple HubSpot email engagement records by their IDs in a single batch request.
- **Get specific event template for app** - Retrieves detailed information about a specific event template for a given application in HubSpot's CRM timeline.
- **Get import record information** - Retrieves a comprehensive summary of a specific HubSpot CRM import record by its importId, including status, progress, updates, results, and errors; useful for monitoring and troubleshooting data imports.
- **Get draft version of a marketing email** - Retrieves the draft version of a marketing email by its emailId; if no draft exists, returns the published version.
- **Get a revision of a marketing email** - Retrieves a specific, previously saved revision of a marketing email using its unique email ID and revision ID.
- **Get revisions of a marketing email** - Retrieves a paginated list of all historical versions (including full state like content, settings, metadata) for a specified, existing marketing email; revision ID -1 identifies the current version.
- **Return pipeline by id** - Retrieves a specific pipeline by its ID and CRM object type, detailing its stages and properties.
- **Get pipeline stage audit** - Retrieves a reverse chronological list of all mutations (changes) for a specific pipeline stage, including CREATE and UPDATE events with timestamps and details.
- **Get product** - Retrieves a HubSpot product by its ID.
- **Get products** - Retrieves multiple HubSpot products by their IDs.
- **Get quote by id** - Retrieves a specific HubSpot quote by its unique identifier.
- **Get segment members** - Tool to retrieve segment (list) members ordered by join timestamp. Use when you need to page through list membership data.
- **Get the details of a specified marketing email** - Retrieves detailed information for a specific marketing email in HubSpot using its unique email ID, optionally including performance statistics and specific properties.
- **Get ticket** - Retrieves a HubSpot ticket by its ID.
- **Get tickets** - Retrieves multiple HubSpot tickets by their IDs.
- **Get workflow by ID** - Retrieves comprehensive details for an existing HubSpot workflow by its unique ID; unsupported actions are designated 'UNSUPPORTEDACTION' in the response.
- **Get all workflows** - Retrieves a list of workflow summaries (ID, name, type, status) from HubSpot, using the 'limit' parameter for pagination.
- **List assets** - Lists assets of a specific assetType for a given HubSpot marketing campaignGuid, optionally including performance metrics for a date range.
- **List association types** - Lists all valid association types between two specified HubSpot CRM object types.
- **List companies** - Retrieves a paginated list of HubSpot companies.
- **List company activities** - List all activity/engagement associations from a company to a specified activity type (calls, emails, meetings, notes, or tasks). Returns the IDs of associated engagement records. Use this action when you need to retrieve all activities of a specific type for a company to build a timeline or activity history.
- **List company calls** - Lists all calls associated with a specific HubSpot company. Returns call IDs and their association types with the company. Use this action when you need to retrieve all call activity records linked to a company without fetching full call details. For full call properties, use the returned call IDs with a call read action.
- **List company meetings** - List all meetings associated with a specific company in HubSpot. Returns meeting IDs and association metadata for meetings linked to the company record. Use this action when you need to retrieve all meetings scheduled with or related to a particular company.
- **List contact notes** - List all notes associated with a specific HubSpot contact. Returns note IDs and association metadata. Use this action when you need to retrieve all notes linked to a contact record. To get full note details (body, timestamp, etc.), use the note IDs with a batch read action.
- **List contact properties** - Lists all contact properties in your HubSpot account, including custom properties you've created. Use this action to discover: - Available property names for updating contacts - Custom properties specific to your HubSpot account - Property types and valid options for enumeration fields - Which properties are read-only vs writable.
- **List contacts** - Retrieves a paginated list of HubSpot contacts.
- **List contact tasks** - List all tasks associated with a specific contact. Returns task IDs and association metadata for tasks linked to the given contact. Use this action when you need to retrieve all tasks related to a contact, such as viewing pending action items or following up on contact-related to-dos.
- **List deal activities** - Retrieves activities (notes, calls, emails, meetings, tasks) associated with a specific HubSpot deal. Use this action when you need to view the complete activity timeline for a deal, including all engagement types. This provides a comprehensive view of interactions and communications related to the deal, which is useful for understanding deal history and next steps.
- **List deal meetings** - List all meetings associated with a specific deal in HubSpot. Returns meeting IDs and association metadata. Use this action when you need to retrieve meetings linked to a deal without fetching full meeting details. This is useful for understanding deal activity, tracking customer interactions, or building reports of engagement touchpoints.
- **List deals** - Retrieves a paginated list of HubSpot deals.
- **List Emails** - Retrieves a paginated list of HubSpot emails, allowing selection of specific properties (with or without history), associated object IDs, and filtering by archive status.
- **List all event templates for app** - Retrieves all event templates associated with a valid appId for an existing application in HubSpot's CRM Timeline.
- **List feedback submissions page** - Retrieves a paginated list of feedback submissions from HubSpot, allowing specification of properties (including history), associated object IDs, and filtering by archive status.
- **List granted OAuth scopes** - Tool to introspect the current OAuth access token and return its granted scopes and metadata. Use when you need to check which permissions are available before calling an endpoint (e.g., workflows, automation) to proactively detect missing scopes and provide clear remediation guidance.
- **List object associations** - List all associations from a single CRM record to a specified target object type. Use when you need to expand associations for a single record without fetching the full CRM object.
- **List products** - Retrieves a paginated list of HubSpot products.
- **List quotes page** - Retrieves a paginated list of quotes, allowing selection of specific properties, property history, associated object IDs, and filtering by archived status.
- **List tickets** - Retrieves a paginated list of HubSpot tickets.
- **Merge two companies of same type** - Merges two existing company records of the same type in HubSpot CRM, where objectIdToMerge is absorbed into primaryObjectId; this operation is irreversible.
- **Merge contacts** - Merges two HubSpot contacts into one.
- **Merge deals** - Merges two HubSpot deals into one.
- **Merge emails** - Merges two HubSpot emails into one.
- **Merge two feedback submissions** - Merges two existing feedback submissions by ID, primarily for consolidating duplicates or related feedback; this operation is irreversible, and primaryObjectId values take precedence in conflicts.
- **Merge two line items of same type** - Merges two line items, objectIdToMerge into primaryObjectId, which must be of the same type; objectIdToMerge is absorbed and the operation is irreversible.
- **Merge two objects of same type** - Merges two distinct HubSpot CRM objects of the same objectType, consolidating data into primaryObjectId (which is preserved) and deleting objectIdToMerge; this operation is permanent and irreversible.
- **Merge products** - Merges two HubSpot products into one.
- **Merge two quotes of same type** - Merges two distinct quotes of the same type by consolidating objectIdToMerge into primaryObjectId (e.g., for combining information or updating terms); this operation is irreversible.
- **Merge tickets** - Merges two HubSpot tickets into one.
- **Partially update CRM object by ID** - Partially updates specified properties of a CRM object (e.g., contact, company, deal) identified by its type and ID, or optionally by a unique property value if idProperty is specified.
- **Permanently delete contact via GDPR** - Permanently deletes a HubSpot contact and all its associated data for GDPR compliance, identifying the contact by its ID or another unique property.
- **Publish or send a marketing email** - Publishes or sends a specified HubSpot marketing email that is valid and ready for sending; requires Marketing Hub Enterprise or the transactional email add-on.
- **Purge schema by object type** - Permanently and irreversibly deletes the schema for an existing objectType in HubSpot CRM; this deprecated endpoint should be used with extreme caution.
- **Read a CRM property by name** - Reads a specific CRM property definition for a given HubSpot object type by its internal name.
- **Read all properties for object type** - Retrieves definitions and metadata (not actual values) for properties of a specified HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom objects).
- **Read a page of objects by type** - Retrieves a paginated list of objects for a specified and valid HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom ID).
- **Batch read associations** - Tool to batch-read CRM associations (e.g., deals→contacts, deals→companies) for up to 1,000 source record IDs in one request. Use when you need to retrieve associated target IDs and association type metadata for multiple records efficiently, avoiding rate-limit issues from per-record GET calls.
- **Read a batch of CRM object properties** - Retrieves property definitions (metadata) for a batch of CRM object properties for a specified object type. Returns detailed information about property structure, data types, options, and configuration—not the actual property values of CRM records.
- **Read batch feedback submissions by id or property** - Retrieves up to 100 feedback submissions in a batch using their IDs or a specified unique idProperty, optionally including specified properties and their history.
- **Read batch of crm objects by id or property values** - Reads a batch of CRM objects of a specified objectType using their HubSpot IDs or unique property values from the inputs list, allowing retrieval of specific properties, their historical values (propertiesWithHistory), and filtering by archived status.
- **Read batch of line items by id or property values** - Retrieves a batch of HubSpot CRM line items by their IDs, or optionally by values of a custom unique property defined in idProperty.
- **Read batch of quotes by property values** - Efficiently retrieves a batch of HubSpot CRM quotes by their IDs (or a specified unique property), optionally including archived quotes, specific properties, and property history.
- **Read budget** - Fetches detailed budget (total, spent, remaining) and spend information for a marketing campaign, including an 'order' field for sequencing budget/spend items (0 is oldest).
- **Read contact** - Retrieves a HubSpot contact by its ID.
- **Read contacts** - Batch read multiple HubSpot contacts by their IDs or custom identifier property. This action retrieves up to 100 contacts per request using the HubSpot CRM batch read API. You can specify which contact properties to return and optionally include historical values for properties.
- **Read crm object by id** - Retrieves a specific CRM object (e.g., contact, company, deal, ticket) by its ID or a unique property, optionally including specific properties, history, and associations.
- **ReadEmail Email** - Call this to retrieve an existing HubSpot email by its emailId or an alternative unique idProperty.
- **Read feedback submission by id** - Reads a HubSpot feedback submission by its ID, optionally using a custom unique 'idProperty', and allows specifying properties to return including history and associations.
- **Read a property group** - Retrieves metadata for a specific property group of a given CRM object type, detailing its structure and attributes, but not the actual property values of CRM objects.
- **Read property groups for object type** - Retrieves all property groups in a single call for a specified HubSpot CRM object type (e.g., 'contacts', 'companies'), returning only the groups themselves, not the individual properties within them.
- **Remove asset association** - Disassociates an asset from a HubSpot marketing campaign. Supports a wide range of asset types including forms, landing pages, emails, blog posts, workflows, static lists, and more.
- **Remove association between CRM records** - Tool to remove all associations between two CRM records using the v4 associations endpoint. Use when unlinking records or cleaning up incorrect associations.
- **Remove association from schema** - Permanently removes a specified association definition (type) from a HubSpot object's schema, preventing future creations of this association type without affecting existing instances.
- **Remove deal** - Removes a HubSpot deal by its ID.
- **Remove token from event template** - Removes a token from a HubSpot event template, preventing its inclusion in new events created from that template.
- **Render event detail template** - Renders detailed information for a specific HubSpot CRM timeline event using a predefined event template, ignoring extraData references in the template not present in event data.
- **Render event header or detail as html** - Renders an event's header or detail template as HTML for a specified event on the HubSpot CRM timeline, using a given event template ID and event ID.
- **Replace all properties of pipeline** - Overwrites an entire CRM pipeline (specified by objectType and pipelineId) and all its stages with a new definition, returning the updated pipeline.
- **Replace pipeline stage properties** - Replaces all properties of a specified pipeline stage; the new label must be unique within the pipeline, and if objectType is 'deals', the metadata must include a 'probability' key.
- **Reset draft** - Resets a marketing email's draft to its currently published (live) version, discarding all unpublished changes; the email must have a live version to revert to.
- **Restore a revision of a marketing email to draft state** - Restores a specific revision of a marketing email to a DRAFT state, overwriting any existing draft.
- **Restore a revision of a marketing email** - Restores a specific, existing, non-active revision of a marketing email to become the new live version for that email.
- **Retrieve all object schemas** - Retrieves all object schema definitions (not data records) for a HubSpot account, supporting retrieval of either active or archived schemas.
- **Retrieve all pipelines for specified object type** - Retrieves all pipelines in HubSpot for a specified CRM object type, such as deals or tickets.
- **Retrieve calling settings for app** - Retrieves the read-only calling extension settings for a specific HubSpot app; the app must exist and have calling extensions configured.
- **Retrieve line item by id** - Retrieves a HubSpot CRM line item by its ID or a specified unique property (idProperty).
- **Retrieve line items list** - Fetches a paginated list of HubSpot CRM line items, allowing selection of specific properties (including history), associated object IDs, and filtering by archive status; ensure property and association names are valid HubSpot internal names.
- **Retrieve existing object schema** - Fetches the detailed schema definition for a specified, existing standard or custom HubSpot CRM object type; this action is read-only and does not create or modify schemas.
- **Retrieve owner by ID or user ID** - Retrieves a specific HubSpot CRM owner by their ID, with options to specify ID type (owner or user) and to include archived records.
- **Retrieve owners** - Retrieves a list of all owners in the HubSpot CRM, including their ID, first name, last name, email, and user ID.
- **Retrieve page of crm owners** - Retrieves a paginated list of CRM owners from HubSpot, optionally filtering by email or archived status.
- **Retrieve pipeline stage by id** - Fetches detailed properties and metadata (e.g., label, display order, custom properties) for a specific stage within a HubSpot CRM pipeline, identified by its objectType, pipelineId, and stageId.
- **Retrieve pipeline stages** - Fetches all stages for a specified HubSpot CRM object type and pipeline ID.
- **Retrieve timeline event by ids** - Retrieves a specific HubSpot CRM timeline event by its application ID, event template ID, and event ID, returning event details including timestamp, tokens, and associated object information.
- **Retrieve video conference settings by id** - Retrieves video conference application settings, such as webhook URLs and user/account management configurations, for a specified appId.
- **Search campaigns** - Searches for HubSpot campaigns.
- **Search companies** - Searches for HubSpot companies using flexible criteria and filters.
- **Search contacts by criteria** - Searches for HubSpot contacts using a text query, specific filter criteria (filters in a group are ANDed, groups are ORed), sorting, and pagination to retrieve selected properties.
- **Search crm objects by criteria** - Searches HubSpot CRM objects (e.g., 'contacts', 'companies') by objectType using complex criteria including filters, sorting, and pagination; property names used in filters, sorts, and returned properties must be valid for the specified objectType.
- **Search deals** - Searches for HubSpot deals using flexible criteria and filters.
- **Search emails** - Searches for HubSpot emails using flexible criteria and filters.
- **Search feedback submissions** - Searches for feedback submissions in HubSpot CRM using text query, filter groups, sorting, and pagination, returning specified properties.
- **Search line items by criteria** - Searches HubSpot line items using criteria including filters, sorting, and pagination; after must be a valid cursor from a previous response, and sorts/properties must refer to valid line item property names.
- **Search products** - Searches for HubSpot products using flexible criteria and filters.
- **Search quotes by criteria** - Searches HubSpot CRM quotes using a text query, complex filter criteria, sorting, and pagination.
- **Search tickets** - Searches for HubSpot tickets using flexible criteria and filters.
- **Set call recording settings** - Configures the URL (urlToRetrieveAuthedRecording) that HubSpot uses to retrieve call recordings for a specified third-party calling app (appId). The URL must contain a %s placeholder which HubSpot replaces with the engagement's externalId. The calling app must be an existing calling extension app integrated with the HubSpot account.
- **Initiate data import process** - Call this action to start an asynchronous data import into HubSpot CRM using uploaded files and a detailed importRequest JSON configuration, ensuring this JSON correctly maps file columns to HubSpot properties and files align with these mappings.
- **Update a marketing email** - Updates properties of an existing marketing email identified by its emailId; unspecified fields retain their current values.
- **Update batch feedback submissions** - Updates a batch of HubSpot feedback submissions; property keys must be existing internal HubSpot names and values must be correctly formatted strings.
- **Update a batch of objects by id or property values** - Performs a batch update on a valid objectType where properties are writeable and any idProperty used is designated unique; updates can be partial.
- **Update calling app recording settings** - Updates the recording settings, such as the URL for retrieving authenticated recordings, for a specific calling extension app identified by its appId.
- **Modify calling extension settings** - Updates settings (e.g., display name, UI URL/dimensions, feature flags) for an existing calling extension app, identified by appId.
- **Update campaign** - Partially updates specific, writable properties of an existing HubSpot marketing campaign identified by campaignGuid; an empty string value in properties clears a property.
- **Update a batch of campaigns** - Updates properties for up to 50 existing HubSpot marketing campaigns in a single batch operation.
- **Update companies** - Updates multiple HubSpot companies in a single batch operation.
- **Update company** - Updates properties for an existing HubSpot company.
- **Update contact** - Updates properties for an existing HubSpot contact.
- **Update contacts** - Updates multiple HubSpot contacts in a single batch operation.
- **Update specific CRM property** - Updates attributes of an existing HubSpot CRM property, identified by its objectType and propertyName; only provided fields are modified, and changing a property's type can cause data loss if incompatible with existing data.
- **Update deal** - Updates properties for an existing HubSpot deal.
- **Update deals** - Updates multiple HubSpot deals in a single batch operation.
- **UpdateEmail Email** - Partially updates properties of an existing HubSpot email object, identified by emailId (as internal ID or custom unique property value if idProperty is given); the object must exist.
- **Update emails** - Updates multiple HubSpot emails in a single batch operation.
- **Update existing event template** - Updates an existing HubSpot event template's name, display templates, and tokens; providing tokens replaces the entire existing list, and the id in the request body must match eventTemplateId in the path.
- **Update feedback submission by id** - Partially updates writable properties of an existing HubSpot Feedback Submission, identified by its feedbackSubmissionId (which can be an internal object ID, or a unique property value if idProperty is specified).
- **Update line item object partially** - Partially updates specified properties of an existing HubSpot Line Item, identified by lineItemId (as HubSpot object ID or value of idProperty if used); new values overwrite existing ones, and an empty string clears a property.
- **Update a batch of line items** - Updates a batch of existing HubSpot CRM line items in a single operation, identifying each by its primary ID or a unique idProperty (which must be a unique identifier property in HubSpot), and modifies their specified properties.
- **Update existing object schema** - Updates an existing custom object schema's metadata in HubSpot, such as its description, labels, display properties, required properties, searchable properties, and restorability, for a specified objectType that must already exist.
- **Partially update pipeline by id** - Partially updates a CRM pipeline's label, display order, or restores an archived pipeline by setting archived to false.
- **Update pipeline stage by ids** - Partially updates a HubSpot CRM pipeline stage identified by objectType, pipelineId, and stageId, requiring metadata in the request; unspecified fields are unchanged.
- **Update product** - Updates properties for an existing HubSpot product.
- **Update products** - Updates multiple HubSpot products in a single batch operation.
- **Partially update property group** - Partially updates a property group's displayOrder or label for a specified CRM objectType in HubSpot.
- **Partial update quote by quote id** - Performs a partial update on an existing HubSpot quote's specified properties, identifying the quote by quoteId (either its internal ID or a custom unique property value if idProperty is provided).
- **Update ticket** - Updates properties for an existing HubSpot ticket.
- **Update tickets** - Updates multiple HubSpot tickets in a single batch operation.
- **Update token on event template** - Updates the label or options of an existing token within a specified HubSpot CRM event template; token name and data type remain unchanged.
- **Update video conference app settings** - Updates webhook URLs (for creating/updating/deleting meetings, fetching accounts, verifying users) for a video conference application specified by appId. Requires developer API key authentication. All URLs must use HTTPS protocol and be publicly accessible.

## How does Viktor work with HubSpot?

1. Add Viktor to Slack or Microsoft Teams.
2. Connect HubSpot with one-click OAuth - Viktor handles authentication.
3. Ask in plain English. Viktor runs the HubSpot actions, chains them with your other tools when needed, and reports back. Sensitive actions wait for your approval.

## What is a HubSpot AI agent?

A HubSpot AI agent is an AI that connects to your HubSpot account and completes work in it - it doesn't just answer questions about HubSpot, it takes the actions. Viktor is that agent: an AI employee that works in HubSpot on your behalf and delivers the finished result in Slack or Microsoft Teams.

Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right HubSpot actions, chains them with the other 3,200+ tools it connects to, and asks for approval before anything sensitive runs.

### About HubSpot

HubSpot is an inbound marketing, sales, and customer service platform integrating CRM, email automation, and analytics to facilitate lead nurturing and seamless customer experiences

## Security and permissions

- One-click OAuth - Viktor never sees your password, and you can revoke access at any time.
- Review-first approvals: sensitive HubSpot actions wait for your sign-off before they run.
- Isolated compute per team, encrypted in transit and at rest - and your data is never used to train models.
- SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.

## FAQ

### Does Viktor integrate with HubSpot?

Yes. HubSpot is one of the 3,200+ tools Viktor connects to, via a managed connector. Once connected, anyone on your team can put Viktor to work in HubSpot from Slack or Microsoft Teams - no workflow builder, no code.

### How do I connect HubSpot to Viktor?

Ask Viktor in Slack or Microsoft Teams to connect HubSpot, then approve the one-click OAuth prompt. Viktor never sees your password, handles authentication itself, and starts working right away. Setup takes about two minutes, and you can revoke access at any time.

### What can Viktor do in HubSpot?

Viktor can run 245 HubSpot actions, including Get deal, Get deals, and Get emails - and chain them with other tools in a single request. In practice that means Viktor helps you track deals and customer relationships through a sales pipeline. If a task spans several actions, Viktor plans the sequence itself and reports back when the work is done.

### Do I need to build workflows to automate HubSpot?

No. Viktor isn't a workflow builder - there are no triggers to map and no workflows to maintain. You ask for the outcome in plain English in Slack or Microsoft Teams, and Viktor decides which HubSpot actions to take, runs them, and reports back.

### Is my HubSpot data secure with Viktor?

Yes. Viktor connects to HubSpot in one click via OAuth, runs in an isolated environment per team, and never trains models on your data. Sensitive actions wait for your approval, and you can revoke access at any time. Viktor is SOC 2 Type 1 compliant, with Type 2 and ISO 27001 in progress.

### How much does the HubSpot integration cost?

Nothing extra - every integration, including HubSpot, is available on every plan. You can start free with up to $100 in credits, no credit card required; paid plans start at $50/month.

### Can Viktor use HubSpot together with my other tools?

Yes - that's the point. Viktor connects to 3,200+ tools and works across them in a single run: it can pull data from HubSpot, cross-reference it with another tool - for example Slack or Gmail, and deliver the finished result in Slack or Microsoft Teams.

## Viktor uses HubSpot together with

- [Slack](https://viktor.com/integrations/slack)
- [Gmail](https://viktor.com/integrations/gmail)
- [Google Sheets](https://viktor.com/integrations/google-sheets)
- [Notion](https://viktor.com/integrations/notion)
- [Salesforce](https://viktor.com/integrations/salesforce)
- [Stripe](https://viktor.com/integrations/stripe)

## More Sales & CRM integrations

- [Upsales](https://viktor.com/integrations/upsales)
- [Keap (Infusionsoft)](https://viktor.com/integrations/keap-infusionsoft)
- [Apollo.io (API Key)](https://viktor.com/integrations/apollo-io-api-key)
- [Teamgate](https://viktor.com/integrations/teamgate)
- [Pipedrive](https://viktor.com/integrations/pipedrive)
- [Enrich Layer](https://viktor.com/integrations/enrich-layer)
- [Zoom](https://viktor.com/integrations/zoom)
- [Lusha](https://viktor.com/integrations/lusha)

## Get started

Viktor is free to start - up to $100 in credits, no credit card required. All 3,200+ integrations are included on every plan. Sign up at https://viktor.com or browse all integrations at https://viktor.com/integrations.
