Configuring Webhook Integration in HubSpot

I’m trying to configure a webhook in HubSpot that will trigger an SMS message through Twilio’s API when certain events happen. The setup works perfectly when I test it using Zapier’s webhook functionality, but I can’t get the same configuration to work directly in HubSpot’s webhook system.

Here’s the API endpoint I’m targeting:

https://api.twilio.com/2010-04-01/Accounts/{account_id}/Messages.json

And here are the parameters I’m sending:

"To": "+1555123####",
"From": "+1555987####",
"Body": "Hello from HubSpot"
"Authorization": "Basic {encoded_credentials}"

Has anyone successfully set up a similar integration? What might I be missing in the HubSpot webhook configuration that’s preventing this from working?

This happens all the time when switching from Zapier to direct HubSpot webhooks. Hit the same wall last year - HubSpot’s webhook setup has some weird quirks that aren’t obvious. HubSpot sends data completely differently than Zapier. Zapier handles all the request formatting for you, but with HubSpot you’ve got to manually configure how everything gets structured and sent. Double-check you’re using POST method and that your HubSpot webhook URL exactly matches what worked in Zapier. Also verify your Twilio credentials are properly base64 encoded - I’ve seen copying credentials between systems add hidden characters that break everything. Before diving deeper into HubSpot’s webhook config, test your exact credentials and payload in Postman first to make sure they work outside of HubSpot.

check your twilio account sid in the endpoint url - that’s usually the culprit. if hubspot’s webhook is timing out because twilio’s api is slow, test with a basic endpoint first to see if hubspot’s actually sending requests. webhooks fail silently sometimes.

Had the same issue connecting HubSpot webhooks to external APIs. HubSpot’s webhook payload has extra metadata that Twilio doesn’t want. Don’t send the raw webhook data - you need to map HubSpot’s data properly first. Extract only the values you need from HubSpot’s payload and format them for Twilio. Also check if your HubSpot account can make external webhook calls - some subscription levels block outbound webhooks. I built a middleware endpoint that catches HubSpot’s webhook, processes the data, then sends a clean call to Twilio. Way better for error handling and retries too.

HubSpot’s webhook system doesn’t handle auth headers the way you’ve set it up. I hit this same issue six months ago. Don’t put the Authorization header as a parameter - configure it separately in HubSpot’s webhook Headers section instead. Also, format your request as POST with Content-Type: application/x-www-form-urlencoded, not JSON. Send body parameters as form data. One more thing - HubSpot sometimes needs URL-encoded phone numbers, so try encoding the + symbol as %2B in your To and From fields. Make these changes, test the webhook again, and check HubSpot’s webhook logs for any Twilio API errors.