Problems with Hubspot tools in a MCP Server

Describe the problem/error/question

This is a weird one, because i know exactly what is going wrong, but no idea how to fix it.
The workflow is this: It’s a super simple MCP Server Trigger, with 3 different Hubspot node tools.
One to create a contact, one to make a ticket, and the last one is to update a ticket.
The last one is not needed really, but i added it to isolate the problem.

I have a chatbot connected to this MCP Server, and it uses it to make contacts and tickets.
The problem i’m facing is that it fails on the last part when trying to connect the two together. The two being the contact and the ticket. For the node to do this it needs “Contact Names or IDs” and i can see in the execution log that this is being sent as a input by the chat bot, but after reading the error message on the Hubspot App, i see that the bot/node is trying to add this long number, 1 digit at a time. In my last executing the INPUT clearly shows that the Contact Names or IDs is 435744066747. And reading the logg, the bot/node tries to run this for each digit, 4 - 3 - 5 - 7… etc etc.

What is the error message (if any)?

I believe the issue at hand is in the Request body error from the Hubspot Private app logs:

[{“fromObjectId”:223761731808,“toObjectId”:“4”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“3”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“5”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“7”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“4”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“4”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“0”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“6”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“6”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“7”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“4”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16},{“fromObjectId”:223761731808,“toObjectId”:“7”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16}]

I believe this should be just one line:
{“fromObjectId”:223761731808,“toObjectId”:“435744066747”,“category”:“HUBSPOT_DEFINED”,“definitionId”:16}]

But it’s not, and i don’t know how to make it so.

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and 
{
  "nodes": [
    {
      "parameters": {
        "path": "1713cd2c-a44b-483d-a87e-c133a855705e"
      },
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "typeVersion": 2,
      "position": [
        -1904,
        -96
      ],
      "id": "***Secret***",
      "name": "MCP Server Trigger",
      "webhookId": "***Secret***"
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "resource": "ticket",
        "pipelineId": "***Secret***",
        "stageId": "***Secret***",
        "ticketName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Ticket_Name', ``, 'string') }}",
        "additionalFields": {
          "associatedContactIds": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Contact_Names_or_IDs', `Use contactID, and add the full id as string`, 'string') }}",
          "description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', `Add all the collected facts and describtion about the clients case here. No need to keep it short.`, 'string') }}"
        }
      },
      "type": "n8n-nodes-base.hubspotTool",
      "typeVersion": 2.1,
      "position": [
        -1824,
        128
      ],
      "id": "***Secret***",
      "name": "Opprett ticket",
      "credentials": {
        "hubspotOAuth2Api": {
          "id": "***Secret***",
          "name": "HubSpot account"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}",
        "additionalFields": {
          "firstName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', ``, 'string') }}",
          "lastName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', ``, 'string') }}",
          "phoneNumber": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Phone_Number', ``, 'string') }}"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.hubspotTool",
      "typeVersion": 2.1,
      "position": [
        -1952,
        128
      ],
      "id": "***Secret***",
      "name": "Lag kontakt",
      "credentials": {
        "hubspotOAuth2Api": {
          "id": "***Secret***",
          "name": "HubSpot account"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "resource": "ticket",
        "operation": "update",
        "ticketId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Ticket_to_Update', ``, 'string') }}"
        },
        "updateFields": {
          "associatedContactIds": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Contact_Names_or_IDs', `It important to add the entire ID number in one go here. Not 1 and 1`, 'string') }}"
        }
      },
      "type": "n8n-nodes-base.hubspotTool",
      "typeVersion": 2.1,
      "position": [
        -1696,
        128
      ],
      "id": "***Secret***",
      "name": "Knytt kontakt til ticket",
      "credentials": {
        "hubspotOAuth2Api": {
          "id": "***Secret***",
          "name": "HubSpot account"
        }
      }
    }
  ],
  "connections": {
    "Opprett ticket": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lag kontakt": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Knytt kontakt til ticket": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "6f0201705d3ecef96cc81e070011e35cf465d67650b298cc6a5a3f5621714687"
  }
}paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • **n8n version: Update self-hosted n8n (**1.109.1)
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): self-hosted via Digital Ocean
  • Operating system: running in docker container

This might also be helpfull. You can see that the entire number is being passed into the field.
So it looks light this field and it’s content is being handled like it’s a array, even though its not?!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.