diff --git a/packages/nodes-base/nodes/Hubspot/Hubspot.node.ts b/packages/nodes-base/nodes/Hubspot/Hubspot.node.ts index 3f652ecf5cd3f..7d61824dab8f2 100644 --- a/packages/nodes-base/nodes/Hubspot/Hubspot.node.ts +++ b/packages/nodes-base/nodes/Hubspot/Hubspot.node.ts @@ -845,7 +845,10 @@ export class Hubspot implements INodeType { // Get all the ticket stages to display them to user so that he can // select them easily async getTicketStages(this: ILoadOptionsFunctions): Promise { - const currentPipelineId = this.getCurrentNodeParameter('pipelineId') as string; + let currentPipelineId = this.getCurrentNodeParameter('pipelineId') as string; + if (currentPipelineId === undefined) { + currentPipelineId = this.getNodeParameter('updateFields.pipelineId', '') as string; + } const returnData: INodePropertyOptions[] = []; const endpoint = '/crm-pipelines/v1/pipelines/tickets'; const { results } = await hubspotApiRequest.call(this, 'GET', endpoint, {}); @@ -2471,6 +2474,12 @@ export class Hubspot implements INodeType { value: updateFields.pipelineId as string, }); } + if (updateFields.stageId) { + body.push({ + name: 'hs_pipeline_stage', + value: updateFields.stageId as string, + }); + } if (updateFields.ticketName) { body.push({ name: 'subject', diff --git a/packages/nodes-base/nodes/Hubspot/TicketDescription.ts b/packages/nodes-base/nodes/Hubspot/TicketDescription.ts index 201fffee5ea1e..e827e321ff93d 100644 --- a/packages/nodes-base/nodes/Hubspot/TicketDescription.ts +++ b/packages/nodes-base/nodes/Hubspot/TicketDescription.ts @@ -359,6 +359,19 @@ export const ticketFields: INodeProperties[] = [ default: '', description: 'Channel where ticket was originally submitted. Choose from the list, or specify an ID using an expression.', }, + { + displayName: 'Stage Name or ID', + name: 'stageId', + type: 'options', + typeOptions: { + loadOptionsMethod: 'getTicketStages', + loadOptionsDependsOn: [ + 'updateFields.pipelineId', + ], + }, + default: '', + description: 'The stage ID of the pipeline the ticket is in; depends on Pipeline ID. Choose from the list, or specify an ID using an expression.', + }, { displayName: 'Ticket Name', name: 'ticketName',