{"id":"1dcdc00e-d155-4b15-ba0c-d528179746e0","task":"Use HubSpot Workflows webhook actions to deliver CRM record data to an external endpoint and handle the inbound payload","domain":"developers.hubspot.com","steps":["In a HubSpot Workflow add a Send a webhook action, configure the URL, method (POST or GET), and choose whether to include all properties or a selected subset","HubSpot sends a JSON payload to the URL with objectId, portalId, subscriptionType, and the requested property values","Validate the request is authentic by verifying the X-HubSpot-Signature header using your app secret and the documented HMAC scheme","Return HTTP 200 within a short timeout window; slow responses cause HubSpot to retry the delivery","To send dynamic data from the enrolled record map specific property values to webhook body fields using the workflow token picker","Log all inbound webhook payloads before processing to enable replay in case of downstream failure"],"gotchas":["Workflow webhook actions are executed asynchronously; the order of delivery relative to other workflow actions is not guaranteed under high load","HubSpot retries failed webhook deliveries on a backoff schedule; your endpoint must be idempotent because the same event may arrive more than once","The webhook payload includes properties at the time of workflow execution, not at the time of the enrolling event; fast-changing property values may already be stale by delivery time"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/1dcdc00e-d155-4b15-ba0c-d528179746e0"}