Data capture on custom form

Hi,

I have a form created on landing page. The always create new contact for email address is set to off.

I want to send the data from this form to an external url, however this url needs the ip address of the request to be allowlisted.

I am doing this via a workflow->send a webhook, is this the best approach?
Is it possible to get the ip’s that hubspot uses so we can add it to the firewall, as the server we are sending the data to his not open publicly.?
When someone submits the form, do they automatically become a contact, even though “always create new contact for email address” is set to off.
If it does create a contact after form submission does it come out of contact limit - i.e. Current package is set at having 31,000 contacts?
Whats the best way to seperate the contact that was created via this form, to any other contacts currently on the system
What happens if the external webhook call results in an error, i.e. http status code returns 400, 500, anything else besides a 200 status, will it automatically send the data again after a number of retries? I tried to test this via the test webhook functionality, but it didn’t retry again, after 403?
Where can I find all the form data that was entered, via the UI?
Thanks
Amit

Yes, a HubSpot form submission will create a Contact when a new email address is submitted. With the “Always create new contact for new email address” option enabled, HubSpot will create a new Contact for a unique email, while a submission with an email that already exists will update the existing Contact.

For separating these contacts from others, I would use the form submission itself rather than creating another identifier. You can build an active list or workflow based on “Contact has filled out form X.”

Sending the data through a workflow webhook also seems reasonable. One thing to be aware of is HubSpot’s retry behavior. HubSpot retries failed webhook requests for up to three days for server errors, but generally doesn’t retry 4XX responses, except for 429 rate limiting responses.

HubSpot documents the webhook behavior here:

For the IP allowlisting question, I wouldn’t assume there is a single HubSpot IP you can safely add to the firewall. If restricting access to the endpoint is important, I’d look at authenticating the webhook request rather than relying solely on source IP filtering.

Also note the contacts limit is primarly for marketing contacts, non marketing contacts don’t count towards the limit.