Webhooks between different Hubspot Accounts

Good Afternoon,

I’ve been generally failing at getting custom-code working so I’m attempting to fall back to try webhooks. I need to push a limited amount of data DIRECTLY back and forth between two separate hubspot accounts.

Within one account I created a private App with a webhook that sniffs for a property change. For test purposes I used a url from webhook.site. I successfully changed the property in HS and it registered at webhook.site.

I now want to push data back and forth between two HS accounts but I’m unsure what to use for the webhook URL.

Is it always necessary to have some intermediary server/service for each account to connect to or is it possible for two HS accounts to directly exchange data via webhooks?

I thought I made some progress here but still stuck. I setup a ticket workflow in account-1 with a webhook trigger. I copied the URL generated in the trigger over to account-2 and made a webhook there. (which triggers on a ticket property change) I ran the built in webhook test and account-1 received the payload from the account-2. Seemingly good. The last step of setup for the workflow is to choose the webhook payload property that was delivered from account-2 that matches account-1 property “Record ID”. See below, the webhook is not sending the ticket number (record ID) in the payload so I cannot match up properties. I’m not sure if I’m doing this right or if I can force the Record ID to be part of what the webhook sends

Hi @SMCNULTY
Thank you for reaching out to the Community!
I’d like to invite some community members who are subject matter experts to join this conversation.
@HubDoPete @GRajput @BrandonWoodruff - Would you be able to share any insights on this? Your expertise would be greatly appreciated.
Best,
Victor

Hello!

It looks like you are running into an issue that I have run into. You sadly do have to have a intermediary.

HubSpot webhooks only support sending outbound POST requests to external URLs. That means:

  • You can’t use a HubSpot-generated webhook URL (like the one created inside a workflow) as the target URL for another HubSpot webhook.
  • HubSpot webhooks can’t receive data — they only send it.
  • A HubSpot webhook trigger URL (from a workflow) is not a listener. It’s a test sender. It’s not set up to parse or store incoming data.

I am currious to learn more about the issues you have been running into with the custom code issues. I have had a lot of success with custom code and I would like to know more about what you are trying to do with them.

Regarding the record id not showing up:

You’re running the workflow test and expecting HubSpot’s webhook to include the “Record ID”, but here’s the kicker:

The Record ID is not automatically included in webhook payloads unless you:

  • Explicitly include it as a custom property in the workflow payload builder
  • your intermediary captures it and fetches more data using the CRM API (if you only get an object ID)

Webhooks in workflows are not full object payloads — they only send the fields you configure.

Solution: Go into the workflow webhook action and manually add “Record ID” from the list of available properties to be sent in the payload.

HubSpot-Compatible Data Relay Example
Here’s a simple example using a serverless relay service:

// Node.js Express example for an intermediary endpoint
app.post(‘/hubspot-handler’, async (req, res) => {
const ticketData = req.body;
const recordId = ticketData[‘recordId’] || ticketData[‘hs_object_id’];

await axios.patch(`https://api.hubapi.com/crm/v3/objects/tickets/${recordId}\`,
{
properties: {
status: “escalated”
}
},
{
headers: { Authorization: `Bearer YOUR_PRIVATE_APP_TOKEN_FOR_ACCOUNT_B` }
});

res.status(200).send(‘Forwarded’);
});

Let me know if this helps, or if you have any other questions!


:check_mark: Was I able to help answer your question? Help the community by marking it as a solution.

Brandon Woodruff
Senior Software Developer @ PearagonStill have questions? Reach out at brandon@pearagon.com

OK thank you for this detailed response. You confirmed that what I’m doing with Webhooks is just not possible. I guess I was tricked by the test working but what you say makes sense as I couldn’t figure out how I’d get the info OUT of what was sent on the other end.

I had been bouncing back and forth between custom code and webhooks, not being able to get either fully working.

This is my post about the custom code. The last reply FINALLY got me going with a custom code solution. Create a ticket and associate a contact. I’ve been trying for weeks and now that works.

My Custom Code workflow post

Thank you for your help