You can wire the HubSpot node into an AI agent as a tool provider: the agent calls the operations you allow. See Agent tools.
Setup Guide
This guide walks you through connecting HubSpot to NoClick and setting up your first automation.Prerequisites
- A HubSpot account with admin access
- A NoClick account
- Understanding of your HubSpot data structure (contacts, companies, deals, etc.)
Step 1: Choose Your Authentication Method
HubSpot supports two authentication methods in NoClick:Option A: OAuth (Recommended)
OAuth is the easiest method and recommended for most users. It requires no manual key copying and automatically handles token refresh. Pros:- Simple one-click authorization
- Automatic token refresh
- Secure credential handling
- Limited to browser-based setup
Option B: Private App Access Token
Use a Personal Access Token (PAT) for server-to-server integrations or headless workflows. Pros:- Works in all environments
- Long-lived credentials (no expiration)
- Fine-grained scope control
- Requires manual token creation and copying
Step 2: Connect Your HubSpot Account
Using OAuth:
- Open NoClick and create a new workflow
- Add a HubSpot node to your canvas
- Click Connect under the Credentials section
- Click Sign in with HubSpot
- Log in to your HubSpot account
- Review the requested permissions and click Install app
- You’ll be automatically redirected back to NoClick with your connection established
Using Private App Access Token:
- Go to HubSpot Private Apps
- Click Create app and name it “NoClick”
- Under the Scopes tab, select the permissions you need:
- For contacts:
crm.objects.contacts.read,crm.objects.contacts.write - For companies:
crm.objects.companies.read,crm.objects.companies.write - For deals:
crm.objects.deals.read,crm.objects.deals.write - For tickets:
tickets - For OAuth:
oauth
- For contacts:
- Click Create app
- Go to the Auth tab and copy your access token
- In NoClick, select the Private App Access Token credential type
- Paste your token in the Private App Access Token field
Step 3: Create Your First Workflow
Basic Example: Create a Contact from Form
- Add a HubSpot node to your canvas
- Select the operation Create Contact
- Fill in the required fields:
- Email: The contact’s email address
- First Name: Contact’s first name (optional)
- Last Name: Contact’s last name (optional)
- (Optional) Add additional fields like phone, company, or custom properties
- Run the workflow to create a contact in HubSpot
Trigger Example: Run workflow when a contact is created
- Add a HubSpot trigger node
- Select On Contact Created or another trigger event
- Configure the trigger (filter by contact properties if needed)
- Add subsequent nodes to process the new contact
- Send an email notification
- Create an associated company
- Add a task for your sales team
Step 4: Configure Your Automation
Common Configurations:
Sync Data Between Systems:- Trigger: Contact created in HubSpot
- Action: Create a record in your CRM or database
- Trigger: Deal moved to specific stage
- Action: Send Slack/Email notification to sales team
- Trigger: Contact property changed
- Action: Update HubSpot contact properties based on engagement
- Use List operations to fetch multiple records
- Process them with filters and conditions
- Perform batch updates
Step 5: Test and Monitor
- Run a test: Click Run to test your workflow
- Check HubSpot: Verify the changes appear in HubSpot
- Monitor execution: View logs in NoClick to ensure workflows complete successfully
- Enable triggers: Once tested, enable any triggers to start automations
- Monitor performance: Check workflow history for errors or issues
Troubleshooting
“Connection failed” error:- Verify your HubSpot account has admin access
- Ensure your Private App token is still valid (hasn’t been revoked)
- For OAuth, try re-authorizing by disconnecting and reconnecting
- Ensure your Private App has the required scopes for your operation
- For OAuth, the app was installed with the correct permissions
- Verify the HubSpot objects (contacts, companies, deals) exist
- Check filters are not excluding all results
- Use Get operation on a specific ID to verify connectivity
Best Practices
- Start Simple: Build one workflow at a time before creating complex automations
- Use Filters: Filter trigger data to reduce unnecessary workflow runs
- Batch Updates: Use batch operations for better performance with large datasets
- Monitor Costs: HubSpot API calls count toward your app’s rate limits
- Backup Data: For critical operations, consider logging changes to a database
- Test Triggers: Always test trigger workflows with sample data before enabling them
Credentials
Connect HubSpot under Credentials in the node settings. See Connecting credentials for the general flow.OAuth
Sign in with your HubSpot account when prompted; no keys to copy. Sign in with your HubSpot account to authorize NoClick. See the setup guide for detailed installation and configuration instructions. Get your credentials here. NoClick requests the following permissions:crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.companies.writecrm.objects.deals.readcrm.objects.deals.writeticketsoauth
Personal access token
Enter the values manually when creating the credential. Create a private app in HubSpot to get your access token. See the setup guide for detailed installation and configuration instructions. Get your credentials here.Operations
Account
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Access Token Info | get_access_token_info | ||
| Get Account Info | get_account_info | ||
| Get Contact Subscription Status | get_contact_subscription_status | ||
| Get Search Settings | get_search_settings | ||
| List Subscription Types | list_subscription_types | ||
| Refresh Access Token | refresh_access_token | ||
| Revoke Access Token | revoke_access_token | ||
| Validate Access Token | validate_access_token |
Activity
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Call Activity | create_call_activity | ||
| Create Email Activity | create_email_activity | ||
| Create Meeting Activity | create_meeting_activity | ||
| Create Note Activity | create_note_activity | ||
| Create Task Activity | create_task_activity | ||
| Delete Call Activity | delete_call_activity | ||
| Delete Email Activity | delete_email_activity | ||
| Delete Meeting Activity | delete_meeting_activity | ||
| Delete Note Activity | delete_note_activity | ||
| Delete Task Activity | delete_task_activity | ||
| Get Call Activity | get_call_activity | ||
| Get Email Activity | get_email_activity | ||
| Get Meeting Activity | get_meeting_activity | ||
| Get Note Activity | get_note_activity | ||
| Get Task Activity | get_task_activity | ||
| List Call Activities | list_call_activities | ||
| List Email Activities | list_email_activities | ||
| List Meeting Activities | list_meeting_activities | ||
| List Note Activities | list_note_activities | ||
| List Task Activities | list_task_activities | ||
| Search Call Activities | search_call_activities | ||
| Search Email Activities | search_email_activities | ||
| Search Meeting Activities | search_meeting_activities | ||
| Search Note Activities | search_note_activities | ||
| Search Task Activities | search_task_activities | ||
| Update Call Activity | update_call_activity | ||
| Update Email Activity | update_email_activity | ||
| Update Meeting Activity | update_meeting_activity | ||
| Update Note Activity | update_note_activity | ||
| Update Task Activity | update_task_activity |
API scope
| Operation | ID | Description | Trigger |
|---|---|---|---|
| List Api Scopes | list_api_scopes |
Association
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Record Association | create_record_association | ||
| Delete Record Association | delete_record_association | ||
| List Record Associations | list_record_associations |
Audit log
| Operation | ID | Description | Trigger |
|---|---|---|---|
| List Audit Logs | list_audit_logs |
Blog author
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Blog Author | create_blog_author | ||
| Get Blog Author | get_blog_author | ||
| List Blog Authors | list_blog_authors |
Blog post
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Blog Post | create_blog_post | ||
| Delete Blog Post | delete_blog_post | ||
| Get Blog Post | get_blog_post | ||
| List Blog Posts | list_blog_posts | ||
| Update Blog Post | update_blog_post |
Blog topic
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Blog Topic | get_blog_topic | ||
| List Blog Topics | list_blog_topics |
Bulk operation
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Batch Archive Records | batch_archive_records | ||
| Batch Create Records | batch_create_records | ||
| Batch Read Records | batch_read_records | ||
| Batch Update Records | batch_update_records | ||
| Batch Upsert Records | batch_upsert_records |
Business unit
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Business Unit | get_business_unit | ||
| List Business Units | list_business_units |
Calling extension
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Calling Extension | create_calling_extension | ||
| Get Calling Extension | get_calling_extension | ||
| List Calling Extensions | list_calling_extensions |
Campaign
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Marketing Campaign | create_marketing_campaign | ||
| Delete Marketing Campaign | delete_marketing_campaign | ||
| Get Campaign Assets | get_campaign_assets | ||
| Get Marketing Campaign | get_marketing_campaign | ||
| List Marketing Campaigns | list_marketing_campaigns | ||
| Update Campaign Budget | update_campaign_budget | ||
| Update Marketing Campaign | update_marketing_campaign |
Communication channel
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Communication Channel | create_communication_channel | ||
| Get Communication Channel | get_communication_channel | ||
| List Communication Channels | list_communication_channels |
Company
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Company | create_company | ||
| Delete Company | delete_company | ||
| Get Company | get_company | ||
| List Companies | list_companies | ||
| Search Companies | search_companies | ||
| Update Company | update_company |
Contact
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Add Contacts to List Batch | add_contacts_to_list_batch | ||
| Create Contact | create_contact | ||
| Delete Contact | delete_contact | ||
| Enroll Contact in Sequence | enroll_contact_in_sequence | ||
| Enroll Contact in Workflow | enroll_contact_in_workflow | ||
| Get Contact | get_contact | ||
| List Contacts | list_contacts | ||
| Search Contacts | search_contacts | ||
| Subscribe Contact to List | subscribe_contact_to_list | ||
| Unenroll Contact from Sequence | unenroll_contact_from_sequence | ||
| Unenroll Contact from Workflow | unenroll_contact_from_workflow | ||
| Unsubscribe Contact from List | unsubscribe_contact_from_list | ||
| Update Contact | update_contact |
Content search
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Search Website Content | search_website_content |
Conversation
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Conversation Thread | get_conversation_thread | ||
| List Conversation Messages | list_conversation_messages | ||
| List Conversation Threads | list_conversation_threads | ||
| Send Conversation Message | send_conversation_message | ||
| Update Conversation Status | update_conversation_status |
Custom event
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Custom Event Definition | create_custom_event_definition | ||
| List Custom Event Definitions | list_custom_event_definitions | ||
| Send Custom Event | send_custom_event | ||
| Update Custom Event Definition | update_custom_event_definition |
Custom object
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Custom Object Schema | create_custom_object_schema | ||
| Delete Custom Object Schema | delete_custom_object_schema | ||
| Get Custom Object Schema | get_custom_object_schema | ||
| List Custom Object Schemas | list_custom_object_schemas | ||
| Purge Custom Object Schema | purge_custom_object_schema | ||
| Update Custom Object Schema | update_custom_object_schema |
Data Import/Export
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Data Export | create_data_export | ||
| Create Data Import | create_data_import | ||
| Download Data Export | download_data_export | ||
| Get Export Status | get_export_status | ||
| Get Import Status | get_import_status |
Database (HubDB)
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Clone Hubdb Table | clone_hubdb_table | ||
| Create Hubdb Row | create_hubdb_row | ||
| Create Hubdb Table | create_hubdb_table | ||
| Delete Hubdb Row | delete_hubdb_row | ||
| Delete Hubdb Table | delete_hubdb_table | ||
| Get Hubdb Row | get_hubdb_row | ||
| Get Hubdb Table | get_hubdb_table | ||
| List Hubdb Rows | list_hubdb_rows | ||
| List Hubdb Tables | list_hubdb_tables | ||
| Publish Hubdb Table | publish_hubdb_table | ||
| Update Hubdb Row | update_hubdb_row | ||
| Update Hubdb Table | update_hubdb_table |
Deal
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Deal | create_deal | ||
| Delete Deal | delete_deal | ||
| Get Deal | get_deal | ||
| List Deals | list_deals | ||
| Search Deals | search_deals | ||
| Update Deal | update_deal |
Domain
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Domain | get_domain | ||
| List Domains | list_domains |
Event attendance
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Event Attendance | create_event_attendance | ||
| Delete Event Attendance | delete_event_attendance | ||
| Get Event Attendance | get_event_attendance |
Feedback submission
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Feedback Submission | get_feedback_submission | ||
| List Feedback Submissions | list_feedback_submissions |
File
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Delete File | delete_file | ||
| Get File | get_file | ||
| List Files | list_files | ||
| Update File | update_file | ||
| Upload File | upload_file |
Goal
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Goal | get_goal | ||
| List Goals | list_goals |
Lead
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Lead | create_lead | ||
| Delete Lead | delete_lead | ||
| Get Lead | get_lead | ||
| List Leads | list_leads | ||
| Search Leads | search_leads | ||
| Update Lead | update_lead |
Line item
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Line Item | create_line_item | ||
| Delete Line Item | delete_line_item | ||
| Get Line Item | get_line_item | ||
| List Line Items | list_line_items | ||
| Search Line Items | search_line_items | ||
| Update Line Item | update_line_item |
List
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Contact List | create_contact_list | ||
| Delete Contact List | delete_contact_list | ||
| Get Contact List | get_contact_list | ||
| List Contact Lists | list_contact_lists | ||
| Update Contact List | update_contact_list |
Marketing event
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Marketing Event | create_marketing_event | ||
| Delete Marketing Event | delete_marketing_event | ||
| Get Marketing Event | get_marketing_event | ||
| List Marketing Events | list_marketing_events | ||
| Update Marketing Event | update_marketing_event |
Order
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Order | create_order | ||
| Delete Order | delete_order | ||
| Get Order | get_order | ||
| List Orders | list_orders | ||
| Search Orders | search_orders | ||
| Update Order | update_order |
Owner
| Operation | ID | Description | Trigger |
|---|---|---|---|
| List Account Owners | list_account_owners |
Pipeline
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Pipeline | create_pipeline | ||
| Create Pipeline Stage | create_pipeline_stage | ||
| Delete Pipeline | delete_pipeline | ||
| Delete Pipeline Stage | delete_pipeline_stage | ||
| Get Pipeline | get_pipeline | ||
| Get Pipeline Stage | get_pipeline_stage | ||
| List Pipeline Stages | list_pipeline_stages | ||
| List Pipelines | list_pipelines | ||
| Replace Pipeline | replace_pipeline | ||
| Replace Pipeline Stage | replace_pipeline_stage | ||
| Update Pipeline | update_pipeline | ||
| Update Pipeline Stage | update_pipeline_stage |
Product
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Product | create_product | ||
| Delete Product | delete_product | ||
| Get Product | get_product | ||
| List Products | list_products | ||
| Search Products | search_products | ||
| Update Product | update_product |
Property
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Archive Custom Property | archive_custom_property | ||
| Create Custom Property | create_custom_property | ||
| Get Custom Property | get_custom_property | ||
| List Custom Properties | list_custom_properties | ||
| Update Custom Property | update_custom_property |
Quote
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Quote | create_quote | ||
| Delete Quote | delete_quote | ||
| Get Quote | get_quote | ||
| List Quotes | list_quotes | ||
| Search Quotes | search_quotes | ||
| Update Quote | update_quote |
Role
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Role | get_role | ||
| List Roles | list_roles |
Sequence
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Sequence | get_sequence | ||
| List Sequences | list_sequences |
Social channel
| Operation | ID | Description | Trigger |
|---|---|---|---|
| List Social Media Channels | list_social_media_channels |
Social post
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Social Post | create_social_post | ||
| Delete Social Post | delete_social_post | ||
| Get Social Post | get_social_post | ||
| List Social Posts | list_social_posts | ||
| Schedule Social Post | schedule_social_post |
Team
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Team | get_team | ||
| List Teams | list_teams |
Ticket
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Support Ticket | create_support_ticket | ||
| Delete Support Ticket | delete_support_ticket | ||
| Get Support Ticket | get_support_ticket | ||
| List Support Tickets | list_support_tickets | ||
| Search Support Tickets | search_support_tickets | ||
| Update Support Ticket | update_support_ticket |
URL mapping
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Url Redirect | create_url_redirect | ||
| Delete Url Redirect | delete_url_redirect | ||
| Get Url Redirect | get_url_redirect | ||
| List Url Redirects | list_url_redirects | ||
| Update Url Redirect | update_url_redirect |
User
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create User | create_user | ||
| Delete User | delete_user | ||
| Get User | get_user | ||
| List Users | list_users | ||
| Update User | update_user |
Video extension
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Video Extension | get_video_extension | ||
| List Video Extensions | list_video_extensions |
Visitor
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Visitor | get_visitor | ||
| Identify Website Visitor | identify_website_visitor |
Webhook
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Webhook Subscription | create_webhook_subscription | ||
| Delete Webhook Subscription | delete_webhook_subscription | ||
| List Webhook Subscriptions | list_webhook_subscriptions | ||
| Update Webhook Subscription | update_webhook_subscription |
Website page
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Create Website Page | create_website_page | ||
| Delete Website Page | delete_website_page | ||
| Get Website Page | get_website_page | ||
| List Website Pages | list_website_pages | ||
| Publish Website Page | publish_website_page | ||
| Update Website Page | update_website_page |
Workflow
| Operation | ID | Description | Trigger |
|---|---|---|---|
| Get Workflow | get_workflow | ||
| List Workflows | list_workflows |
Other
| Operation | ID | Description | Trigger |
|---|---|---|---|
| On Company Created | on_company_created | Trigger: fires when a company is created in the HubSpot account. | Yes |
| On Contact Created | on_contact_created | Trigger: fires when a contact is created in the HubSpot account. | Yes |
| On Contact Deleted | on_contact_deleted | Trigger: fires when a contact is deleted in the HubSpot account. | Yes |
| On Contact Updated | on_contact_updated | Trigger: fires when a contact property changes in the HubSpot account. | Yes |
| On Deal Created | on_deal_created | Trigger: fires when a deal is created in the HubSpot account. | Yes |
| On Deal Updated | on_deal_updated | Trigger: fires when a deal property changes in the HubSpot account. | Yes |
| On Ticket Created | on_ticket_created | Trigger: fires when a ticket is created in the HubSpot account. | Yes |