Hey kris,
I have reviewed my code, dug into the documentation over at gravityhelp.com, and even started a support over at Gravity Forms proper to ask them, as I was quite confident that the process_feed
only works upon success, and I have found zero information that my code would be handling this pre-validation.
Their response on my support ticket:
The add-on frameworks process_feed method is only triggered after the entry has been saved to the database. I installed the HubSpot add-on and setup a test form and feed, I found process_feed was only triggered once as designed. I did not experience it running during form validation.
Perhaps they have some custom code running on their site which is triggering feed processing earlier, for example, we have seen a few users who are also running the Partial Entries add-on using one of its hooks to trigger MailChimp feed processing when a partial entry is created, which can occur during validation and even before the form is submitted e.g. https://www.gravityhelp.com/documentation/article/gform_partialentries_post_event/#1-trigger-mailchimp-feeds
That said, The way HubSpot handles data is that it’ll overwrite Contacts (though not necessarily the form submission)… so even if there’s any validation and there’s a premature send via your code… it’ll replace the Contact’s information with the correct information afterwards.
But at this point, this problem does not seem to exist because of my code.