APIs & Integrations

ChristoV
Participant

Validate Webhooks from external party for Workflows

SOLVE

I am attempting to receive a WebHook from Xero finance system.  Part of the Webhooks setup in Xero is the 'Intent to receive'.   

 

The explanation from Xero:

 To ensure the requests you receive are coming from Xero you need to verify the signature provided in the x-xero-signature header. When creating or re-enabling a webhook subscription (or updating the subscription url) the user will be prompted to start an ‘Intent to receive’ validation. This validation process will be a series of HTTPS POST requests to the url provided in the subscription.

 

See Configuring your server — Xero Developer

 

How can I do the validation to receive the WebHook in a HubSpot workflow?

0 Upvotes
1 Accepted solution
Nagarjoon
Solution
Member | Platinum Partner
Member | Platinum Partner

Validate Webhooks from external party for Workflows

SOLVE

To validate the Intent to receive WebHook from Xero in a HubSpot workflow, you’ll need to use a middleware service like AWS Lambda or a custom Node.js server to handle the initial POST requests from Xero. This middleware will receive the request and verify the header x xero by generating an of the raw request body using your Xero WebHook key. If the computed matches the signature, the request is valid, and you must respond with a 200 OK status to confirm. Since HubSpot workflows can’t natively handle custom headers or perform signature validation, this middleware is essential to bridge the gap. Once validated, you can send the necessary data to HubSpot via Webhooks or API triggers within your workflow. Ensure your middleware runs over HTTPS and includes proper logging.

Cloudify Hubspot Xero integration  helps maintain control and flexibility by creating custom workflows for different business processes, handling complex billing scenarios, and updating and re-syncing documents with one click. 

 

https://cloudify.biz/app-list/hubspot-xero-integration

View solution in original post

0 Upvotes
2 Replies 2
Nagarjoon
Solution
Member | Platinum Partner
Member | Platinum Partner

Validate Webhooks from external party for Workflows

SOLVE

To validate the Intent to receive WebHook from Xero in a HubSpot workflow, you’ll need to use a middleware service like AWS Lambda or a custom Node.js server to handle the initial POST requests from Xero. This middleware will receive the request and verify the header x xero by generating an of the raw request body using your Xero WebHook key. If the computed matches the signature, the request is valid, and you must respond with a 200 OK status to confirm. Since HubSpot workflows can’t natively handle custom headers or perform signature validation, this middleware is essential to bridge the gap. Once validated, you can send the necessary data to HubSpot via Webhooks or API triggers within your workflow. Ensure your middleware runs over HTTPS and includes proper logging.

Cloudify Hubspot Xero integration  helps maintain control and flexibility by creating custom workflows for different business processes, handling complex billing scenarios, and updating and re-syncing documents with one click. 

 

https://cloudify.biz/app-list/hubspot-xero-integration

0 Upvotes
Jaycee_Lewis
Community Manager
Community Manager

Validate Webhooks from external party for Workflows

SOLVE

Hey, @ChristoV 👋 Looking at the documentation for Webhooks in Workflows, you are not missing an option. Webhooks in workflows doesn't offer the level of customization needed to accomplish Xero's signature validation requirements. You'll need to look at:

Basically because of how Xero wants validation handled, it's going to force you to validate outside the workflow, and then you can pass the info onto HubSpot.

 

Best,

Jaycee


HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates.
Learn More.


Did you know that the Community is available in other languages?
Join regional conversations by changing your language settings !
0 Upvotes