Integrate with external API except using webhook

Hello,
I want to invoke my API after do some workflow activity. As far as I know, the possible way to do this is by using a webhook that provided by Hubspot. After doing some research I found that webhook has certain limitation. My questions are :
- How to unlock this limitation?
- Is there any way to integrate the workflow with external API except using webhook (eg: publish event in message broker, etc)?

Thanks in advanced!

Hey @juliardi,

Let’s walk through your questions one by one!

For the first query, could you clarify what’s the limitation that you’re referring to here?

For the second query, currently this is not possible. When looking at the Workflow extensions, you’d also need a Webhook URL.

Thank you for reaching me and sorry for the late reply @WendyGoh .

Noted, so the only way for workflow integration is using a webhook. The limitation that I have found in this documentation was :

- Workflows will issue webhook attempts at up to 20 requests per second.

So, that mean the workflows can only accept max 20 requests per second, is that correct?

Also, I have read in your Workflow extensions reference which stated the limitation :

- Its capability is also limited to sending the enrolled object JSON as-is.

Hey @juliardi,

I believe I may be able to shed some lights here.

This line:

Workflows will issue webhook attempts at up to 20 requests per second.

Is referring to how HubSpot Webhooks handles error and retrying requests.

As for the second limitations, that is spot on. Currently, there isn’t a way to customize the request payload. An example of the Webhook payload would look like this:

{
 "fields": {
 "appointment_date": "1536019200000",
 "appointment_notes": "30 minute appointment to go over the services contract",
 "appointment_title": "Appointment with Sky"
 },
 "object": {
 "objectId": 34,
 "objectType": "CONTACT"
 },
 "origin": {
 "extensionDefinitionId": 108,
 "extensionDefinitionVersionId": 5,
 "portalId": 99160967
 }
}

Alright, thank you @WendyGoh for the explanation. It seems pretty clear right now! I will try some experiments with this webhook integration.