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!
Was I able to help answer your question? Help the community by marking it as a solution.