HubSpot
App · CRM Systems · 21 actions
Automate HubSpot CRM: manage contacts, companies, deals, notes and tasks with a HubSpot service key.
Actions
| Action | What it does |
|---|---|
| Create a HubSpot company | Create a new HubSpot company record. |
| Create a HubSpot contact | Create a new contact with email, name, phone, and company details. |
| Create a HubSpot deal | Create a new deal, optionally in a chosen pipeline and stage. |
| Create a HubSpot task | Create a task with a due date, optionally attached to a contact, company and/or deal. |
| Delete a HubSpot company | Archive a HubSpot company. |
| Delete a HubSpot contact | Archive a HubSpot contact. |
| Delete a HubSpot deal | Archive a HubSpot deal. |
| Delete a HubSpot note | Archive a HubSpot note. |
| Delete a HubSpot task | Archive a HubSpot task. |
| Find contact by email | Look up a HubSpot contact using an email address. |
| Find contacts created in a date range | Find HubSpot contacts created on or after a date, newest first. |
| Find deals created in a date range | Find HubSpot deals created on or after a date, newest first. |
| Get a HubSpot company | Read one HubSpot company by its record ID. |
| Get a HubSpot deal | Read one HubSpot deal by its record ID. |
| Link a contact to a company | Connect a HubSpot contact to a company so they show up together in your CRM. |
| List HubSpot contacts | List a page of HubSpot contacts for quick review. |
| List HubSpot deals | List a page of HubSpot deals. |
| Log a HubSpot note | Log a note on the timeline of a contact, company and/or deal. |
| Update a HubSpot company | Change the details of an existing HubSpot company, such as its name, domain, or industry. |
| Update a HubSpot contact | Change the details of an existing HubSpot contact, such as their name, phone number, or company. |
| Update deal stage | Move a HubSpot deal to a different stage of its pipeline. |
Create a HubSpot company
Create a new HubSpot company record. HubSpot de-duplicates companies on the domain.
Inputs
- Name
nametextRequired - Company name
- Domain
domaintext - Company website domain, e.g. example.com
- City
citytext - City
- Industry
industrytext - Industry
- Phone
phonetext - Phone number
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:14:02.771Z",
"id": "9001",
"properties": {
"city": "Bristol",
"createdate": "2026-07-14T09:14:02.771Z",
"domain": "averyconsulting.example.com",
"industry": "CONSULTING",
"name": "Avery Consulting"
},
"updatedAt": "2026-07-14T09:14:02.771Z"
}Create a HubSpot contact
Create a new contact with email, name, phone, and company details. HubSpot de-duplicates contacts on the email address.
Inputs
- Email
emailtextRequired - Contact email
- First name
first_nametext - First name
- Last name
last_nametext - Last name
- Phone
phonetext - Phone number
- Company
companytext - Company name
- Job title
job_titletext - Job title
- Owner
owner_idtext - The HubSpot user who owns this contact.
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:12:33.482Z",
"id": "701",
"properties": {
"company": "Avery Consulting",
"createdate": "2026-07-14T09:12:33.482Z",
"email": "jordan.avery@example.com",
"firstname": "Jordan",
"jobtitle": "Head of Operations",
"lastname": "Avery",
"lifecyclestage": "lead",
"phone": "+15555550123"
},
"updatedAt": "2026-07-14T09:12:33.482Z"
}Create a HubSpot deal
Create a new deal, optionally in a chosen pipeline and stage. An account with one pipeline uses its default when none is chosen.
Inputs
- Deal name
deal_nametextRequired - Deal name
- Amount
amountnumber - Deal value
- Pipeline
pipelinetext - The pipeline the deal belongs to. Leave empty to use the account's default pipeline.
- Stage
stagetext - The stage the deal starts in. Leave empty to use the first stage of its pipeline; HubSpot itself would otherwise create the deal with no stage at all.
- Close date
close_datedate - Expected close date.
- Owner
owner_idtext - The HubSpot user who owns this deal.
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:16:40.118Z",
"id": "4501",
"properties": {
"amount": "12000",
"closedate": "2026-09-30",
"createdate": "2026-07-14T09:16:40.118Z",
"dealname": "Avery Consulting - annual licence",
"dealstage": "appointmentscheduled",
"pipeline": "default"
},
"updatedAt": "2026-07-14T09:16:40.118Z"
}Create a HubSpot task
Create a task with a due date, optionally attached to a contact, company and/or deal.
Inputs
- Title
subjecttextRequired - The task's title.
- Due
due_atdate and timeRequired - When the task is due.
- Notes
bodytext - Task notes.
- Status
statustext - Whether the task is already done.One of:
NOT_STARTED(Not Started),COMPLETED. Default:NOT_STARTED. - Priority
prioritytext - Task priority.One of:
LOW,MEDIUM,HIGH. - Type
task_typetext - What kind of task this is.One of:
TODO,EMAIL,CALL. - Assigned to
owner_idtext - The HubSpot user the task is assigned to.
- Contact ID
contact_idtext - Contact to attach the task to.
- Company ID
company_idtext - Company to attach the task to.
- Deal ID
deal_idtext - Deal to attach the task to.
Outputs
archivedtrue/falseassociated_tolistcreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"associated_to": [
"contacts",
"deals"
],
"createdAt": "2026-07-14T09:22:10.000Z",
"id": "77020",
"properties": {
"hs_object_id": "77020",
"hs_task_body": "Confirm the seat count before sending.",
"hs_task_priority": "HIGH",
"hs_task_status": "NOT_STARTED",
"hs_task_subject": "Follow up on the renewal quote",
"hs_task_type": "CALL",
"hs_timestamp": "1784112000000"
},
"updatedAt": "2026-07-14T09:22:10.000Z"
}Delete a HubSpot company
Archive a HubSpot company. HubSpot archives rather than destroys: the record leaves the CRM and the API, and stays restorable from the portal's recycling bin for 90 days.
Inputs
- Company ID
company_idtextRequired - HubSpot company ID, or the address of the company record in HubSpot.
Outputs
company_idtextdeletedtrue/false
Example output
{
"company_id": "9001",
"deleted": true
}Delete a HubSpot contact
Archive a HubSpot contact. HubSpot archives rather than destroys: the record leaves the CRM and the API, and stays restorable from the portal's recycling bin for 90 days.
Inputs
- Contact ID
contact_idtextRequired - HubSpot contact ID, or the address of the contact record in HubSpot.
Outputs
contact_idtextdeletedtrue/false
Example output
{
"contact_id": "701",
"deleted": true
}Delete a HubSpot deal
Archive a HubSpot deal. HubSpot archives rather than destroys: the record leaves the CRM and the API, and stays restorable from the portal's recycling bin for 90 days.
Inputs
- Deal ID
deal_idtextRequired - HubSpot deal ID, or the address of the deal record in HubSpot.
Outputs
deal_idtextdeletedtrue/false
Example output
{
"deal_id": "4501",
"deleted": true
}Delete a HubSpot note
Archive a HubSpot note. HubSpot archives rather than destroys: the record leaves the CRM and the API, and stays restorable from the portal's recycling bin for 90 days.
Inputs
- Note ID
note_idtextRequired - HubSpot note ID.
Outputs
deletedtrue/falsenote_idtext
Example output
{
"deleted": true,
"note_id": "88010"
}Delete a HubSpot task
Archive a HubSpot task. HubSpot archives rather than destroys: the record leaves the CRM and the API, and stays restorable from the portal's recycling bin for 90 days.
Inputs
- Task ID
task_idtextRequired - HubSpot task ID.
Outputs
deletedtrue/falsetask_idtext
Example output
{
"deleted": true,
"task_id": "77020"
}Find contact by email
Look up a HubSpot contact using an email address. Fails the step when no contact has that address.
Inputs
- Email
emailtextRequired - Email address to look up
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:12:33.482Z",
"id": "701",
"properties": {
"company": "Avery Consulting",
"createdate": "2026-07-14T09:12:33.482Z",
"email": "jordan.avery@example.com",
"firstname": "Jordan",
"jobtitle": "Head of Operations",
"lastname": "Avery",
"lifecyclestage": "lead",
"phone": "+15555550123"
},
"updatedAt": "2026-07-14T11:40:02.113Z"
}Find contacts created in a date range
Find HubSpot contacts created on or after a date, newest first. Returns the matching contacts plus the total number that match, so a report can count every new lead in the window.
Inputs
- Created after
created_afterdate and timeRequired - Only return contacts created at or after this moment.
- Created before
created_beforedate and time - Optional upper bound, exclusive. Leave empty to run the window up to now.
- Maximum contacts
limitnumber - How many contacts to return, newest first (default 100, maximum 2000). The total count is reported in full even when more contacts match than are returned.From 1 to 2000. Default:
100.
Outputs
has_moretrue/falseresultslisttotalnumber
Example output
{
"has_more": false,
"results": [
{
"archived": false,
"createdAt": "2026-08-24T14:22:07.005Z",
"id": "703",
"properties": {
"company": "Meridian Health",
"createdate": "2026-08-24T14:22:07.005Z",
"email": "rae.lindqvist@example.com",
"firstname": "Rae",
"hs_analytics_source": "ORGANIC_SEARCH",
"jobtitle": "Procurement Lead",
"lastname": "Lindqvist"
},
"updatedAt": "2026-08-24T14:22:07.005Z"
}
],
"total": 1
}Find deals created in a date range
Find HubSpot deals created on or after a date, newest first. Returns the matching deals plus the total number that match, so a report can count every new deal in the window.
Inputs
- Created after
created_afterdate and timeRequired - Only return deals created at or after this moment.
- Created before
created_beforedate and time - Optional upper bound, exclusive. Leave empty to run the window up to now.
- Maximum deals
limitnumber - How many deals to return, newest first (default 100, maximum 2000). The total count is reported in full even when more deals match than are returned.From 1 to 2000. Default:
100.
Outputs
has_moretrue/falseresultslisttotalnumber
Example output
{
"has_more": false,
"results": [
{
"archived": false,
"createdAt": "2026-08-24T14:22:07.005Z",
"id": "4502",
"properties": {
"amount": "8500",
"createdate": "2026-08-24T14:22:07.005Z",
"dealname": "Meridian Health - pilot",
"dealstage": "appointmentscheduled",
"pipeline": "default"
},
"updatedAt": "2026-08-24T14:22:07.005Z"
}
],
"total": 1
}Get a HubSpot company
Read one HubSpot company by its record ID.
Inputs
- Company ID
company_idtextRequired - HubSpot company ID, or the address of the company record in HubSpot.
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:14:02.771Z",
"id": "9001",
"properties": {
"city": "Bristol",
"createdate": "2026-07-14T09:14:02.771Z",
"domain": "averyconsulting.example.com",
"industry": "CONSULTING",
"name": "Avery Consulting",
"numberofemployees": "45",
"phone": "+441170000000"
},
"updatedAt": "2026-07-14T09:14:02.771Z"
}Get a HubSpot deal
Read one HubSpot deal by its record ID.
Inputs
- Deal ID
deal_idtextRequired - HubSpot deal ID, or the address of the deal record in HubSpot.
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:16:40.118Z",
"id": "4501",
"properties": {
"amount": "12000",
"closedate": "2026-09-30",
"createdate": "2026-07-14T09:16:40.118Z",
"dealname": "Avery Consulting - annual licence",
"dealstage": "qualifiedtobuy",
"hubspot_owner_id": "555001",
"pipeline": "default"
},
"updatedAt": "2026-07-15T08:07:12.664Z"
}Link a contact to a company
Connect a HubSpot contact to a company so they show up together in your CRM.
Inputs
- Contact ID
contact_idtextRequired - HubSpot contact ID
- Company ID
company_idtextRequired - HubSpot company ID
Outputs
associatedtrue/falsecompany_idtextcontact_idtext
Example output
{
"associated": true,
"company_id": "9001",
"contact_id": "701"
}List HubSpot contacts
List a page of HubSpot contacts for quick review. These come back in record-id order (oldest first) and cannot be filtered; use 'Find contacts created in a date range' to report on recent leads.
Inputs
- Maximum contacts
limitnumber - How many contacts to return (default 10, maximum 100).From 1 to 100. Default:
10.
Outputs
countnumberresultslist
Example output
{
"count": 2,
"results": [
{
"archived": false,
"createdAt": "2026-07-14T09:12:33.482Z",
"id": "701",
"properties": {
"company": "Avery Consulting",
"email": "jordan.avery@example.com",
"firstname": "Jordan",
"lastname": "Avery"
},
"updatedAt": "2026-07-14T09:12:33.482Z"
},
{
"archived": false,
"createdAt": "2026-07-14T10:02:51.900Z",
"id": "702",
"properties": {
"company": "Northwind Labs",
"email": "sam.okafor@example.com",
"firstname": "Sam",
"lastname": "Okafor"
},
"updatedAt": "2026-07-14T10:02:51.900Z"
}
]
}List HubSpot deals
List a page of HubSpot deals. These come back in record-id order (oldest first) and cannot be filtered; use 'Find deals created in a date range' to report on recent deals.
Inputs
- Maximum deals
limitnumber - How many deals to return (default 10, maximum 100).From 1 to 100. Default:
10.
Outputs
countnumberresultslist
Example output
{
"count": 1,
"results": [
{
"archived": false,
"createdAt": "2026-07-14T09:16:40.118Z",
"id": "4501",
"properties": {
"amount": "12000",
"dealname": "Avery Consulting - annual licence",
"dealstage": "appointmentscheduled",
"pipeline": "default"
},
"updatedAt": "2026-07-14T09:16:40.118Z"
}
]
}Log a HubSpot note
Log a note on the timeline of a contact, company and/or deal. A note attached to no record is valid but will not appear anywhere in HubSpot, so name at least one.
Inputs
- Note
bodytextRequired - The note's text.
- Contact ID
contact_idtext - Contact to attach the note to.
- Company ID
company_idtext - Company to attach the note to.
- Deal ID
deal_idtext - Deal to attach the note to.
- Timestamp
noted_atdate and time - Where the note sits on the record timeline. Defaults to now.
Outputs
archivedtrue/falseassociated_tolistcreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"associated_to": [
"contacts"
],
"createdAt": "2026-07-14T09:20:00.000Z",
"id": "88010",
"properties": {
"hs_note_body": "Left a voicemail about the renewal.",
"hs_object_id": "88010",
"hs_timestamp": "1784025600000"
},
"updatedAt": "2026-07-14T09:20:00.000Z"
}Update a HubSpot company
Change the details of an existing HubSpot company, such as its name, domain, or industry.
Inputs
- Company ID
company_idtextRequired - HubSpot company ID, or the address of the company record in HubSpot.
- Name
nametext - Company name
- Domain
domaintext - Company website domain
- City
citytext - City
- Industry
industrytext - Industry
- Phone
phonetext - Phone number
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:14:02.771Z",
"id": "9001",
"properties": {
"city": "Bath",
"createdate": "2026-07-14T09:14:02.771Z",
"domain": "averyconsulting.example.com",
"industry": "CONSULTING",
"name": "Avery Consulting Group"
},
"updatedAt": "2026-07-15T08:05:44.210Z"
}Update a HubSpot contact
Change the details of an existing HubSpot contact, such as their name, phone number, or company.
Inputs
- Contact ID
contact_idtextRequired - HubSpot contact ID, or the address of the contact record in HubSpot.
- Email
emailtext - New email address
- First name
first_nametext - First name
- Last name
last_nametext - Last name
- Phone
phonetext - Phone number
- Company
companytext - Company name
- Job title
job_titletext - Job title
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:12:33.482Z",
"id": "701",
"properties": {
"company": "Avery Consulting",
"createdate": "2026-07-14T09:12:33.482Z",
"email": "jordan.avery@example.com",
"firstname": "Jordan",
"jobtitle": "Chief Operating Officer",
"lastname": "Avery",
"lifecyclestage": "lead",
"phone": "+15555550199"
},
"updatedAt": "2026-07-15T08:03:19.771Z"
}Update deal stage
Move a HubSpot deal to a different stage of its pipeline.
Inputs
- Deal ID
deal_idtextRequired - HubSpot deal ID, or the address of the deal record in HubSpot.
- Stage
stagetextRequired - The stage to move the deal to.
Outputs
archivedtrue/falsecreatedAttextidtextpropertiesobjectupdatedAttext
Example output
{
"archived": false,
"createdAt": "2026-07-14T09:16:40.118Z",
"id": "4501",
"properties": {
"amount": "12000",
"dealname": "Avery Consulting - annual licence",
"dealstage": "qualifiedtobuy",
"pipeline": "default"
},
"updatedAt": "2026-07-15T08:07:12.664Z"
}