We can create forms and retrive the form's information via the API. However the one absent property is any kind of share URL or link to access this form.
Our intention is to create a form dynamically and then retrieve its share URL and send it out via another email. We can see a form's Share Link in the portal but want to do so programmatically.
At this time, there is no way to fully automate the process you've described.
Forms could be generated programmatically, but the standalone form page URLs would have to be copied manually from the app. I can envision a complicated workaround involving spinning up a new page containing a form module linked to the form you just created (using the form guid returned by the Create a new form endpoint), but a link to this dedicated form page would still have to be included in a marketing email and sent out in-app (either manually or via a workflow).
In the past, the email team has chosen not to build a public API for marketing emails due to security concerns and few requests from users. Since most customers' marketing emails are sent via shared IP ranges, one bad actor could do much more damage to the sending reputations of all HubSpot customers via the API than is possible in-app. As such, the only emails that can be sent through HubSpot APIs are transactional in nature and require the customer to use a dedicated set of IPs.
At this time, standalone form page URLs are not returned by the Forms API. To use them in emails, you would currently have to get the URLs manually in the UI.
Standalone form page URLs are a key part of our forms tool, though, so I want to see these fields added to the Forms API. Would you mind posting a feature request on the Ideas Forum so that others can upvote and express feedback as well? If you do post, please share the link here so that I may upvote and share the idea with the relevant product team.
That said, I'd like to dive a little more deeply into your use case. Are you trying to send out some kind of individualized form to contacts to collect product or services feedback?
Our plan was to generate sign up forms for events that we have planned and have them emailed out to relevant people. This was to be handled by our custom CRM, where a user would basically click a button and have all that happen. After a button click, a sign up form is generated, the form's URL is retrieved, an email is created, and the email with the URL is sent to relevant contacts.
I have just learned from customer support, and confirmed through your API documentation, that there is actually no way to create or send hubspot emails via the Emails API. Why is that the case? The entirety of the Hubspot platform revolves around emails, yet there appears to be no way to automate the sending of them via the API.
Is there some other way to do what we are thinking of or were we overly optimistic about Hubspot's capabilities? It seems I can trigger workflows that send an email via the API, but that email needs to be created beforehand and can't be made programatically.
At this time, there is no way to fully automate the process you've described.
Forms could be generated programmatically, but the standalone form page URLs would have to be copied manually from the app. I can envision a complicated workaround involving spinning up a new page containing a form module linked to the form you just created (using the form guid returned by the Create a new form endpoint), but a link to this dedicated form page would still have to be included in a marketing email and sent out in-app (either manually or via a workflow).
In the past, the email team has chosen not to build a public API for marketing emails due to security concerns and few requests from users. Since most customers' marketing emails are sent via shared IP ranges, one bad actor could do much more damage to the sending reputations of all HubSpot customers via the API than is possible in-app. As such, the only emails that can be sent through HubSpot APIs are transactional in nature and require the customer to use a dedicated set of IPs.