How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
Hi everyone,
I’m setting up a training registration flow in HubSpot and would love some insight on how to properly trigger the creation of a custom object record from a form submission. Here’s what I’m trying to accomplish:
✅What I’ve Built So Far:
A custom object called "Training Courses" with its own set of properties (e.g., Training Modality, Training Type, Product, etc.).
I know Hubspot recently released "courses" but this applies to either type of record.
A form for training registration that includes both Contact-level properties and Training Course properties (added into the form editor).
Note: Hubspot Courses properties do not show up on form creator.
The form is successfully linked to the Scheduling Page via conditional logic.
A simpleworkflow (within the form) that is triggered when a contact submits the form:
The workflow uses the “Create Record” action to generate a new Training Course record.
I set the name of the Training Course using contact token values (e.g., {{ company name }} – Training Course).
❌What’s Not Working:
Upon form submission, HubSpot fails to populate the custom object fields with the submitted data.
In the form submission log, I see all data user entered but the following message: "There was a problem creating or updating a Training Course record from this submission."
All the values appear under the Training Course section in the submission viewer, but they’re not writing into the actual record that gets created.
🧠 What I Think Is the Issue:
After reading a few community threads, I understand:
HubSpot forms don’t natively write to custom object properties, even if they’re included in the form UI.
Data collected goes to the Contact, unless mapped later.
Using Contact properties as temporary storage creates risk of data being overwritten on subsequent submissions (which is a problem, as one contact may register for multiple trainings).
💡What I Want to Achieve:
A setup where each form submission by a contact creates a new custom object record, with all values from the submission properly mapped into that record — without overwriting the Contact record fields or needing temporary storage.
Ideally: allow a contact to register multiple times, with each submission creating a clean new Training Course record and associating it back to the contact.
Would love to hear how others have handled similar use cases (training registration, multi-submission forms, etc.). Any best practices or workaround suggestions are welcome!
Have you considered solving this through the "Create record" workflow action? This would mean that you capture the information in contact properties first (via the web form), and then, in a simple contact-based workflow, enroll contacts who submitted the form and create the custom object via the "Create record" workflow action.
Within this "Create record" workflow action, you can specify which target properties should be populated with values you just captured on the contact.
For example, the custom object name should be populated with the value you just captured in the contact property "Custom object name".
The great thing about this workflow action is that it also includes association options. Here's a screenshot of the action, using a to-be-created company record as an example:
This approach creates some redundancy because of properties needed both on contact and custom object – but it gives you these nice association options.
Best regards!
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
May 15, 20259:09 AM - edited May 15, 20259:10 AM
Participant
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
Hi there, thanks for the tip! I was actually able to resolve my first problem (new record/custom object) by eliminating alltogether the "create record workflow" and just using custom object fields on the form itself. The workflow was actually eleminating all of the data already captured and just leaving it floating around—given that the workflow couldn't map every property/data point from the form submission to the final record.
By eliminating that I noticed a new record was being created by default, just needed to make sure that training couse name (my custom object) had a default name on the form AND also hidden.
Then the rest, like standardizing the name and other fields, I did do it through a workflow:
and for now, I added a contact property "company name" to the form, so users fill that out—using that property instead to automate name {company name} - {modality} Training course.
Now my issue is getting the contact's existing company associated with the new record automatically. Any thoughts?
Have you considered solving this through the "Create record" workflow action? This would mean that you capture the information in contact properties first (via the web form), and then, in a simple contact-based workflow, enroll contacts who submitted the form and create the custom object via the "Create record" workflow action.
Within this "Create record" workflow action, you can specify which target properties should be populated with values you just captured on the contact.
For example, the custom object name should be populated with the value you just captured in the contact property "Custom object name".
The great thing about this workflow action is that it also includes association options. Here's a screenshot of the action, using a to-be-created company record as an example:
This approach creates some redundancy because of properties needed both on contact and custom object – but it gives you these nice association options.
Best regards!
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
May 15, 20259:09 AM - edited May 15, 20259:10 AM
Participant
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
Hi there, thanks for the tip! I was actually able to resolve my first problem (new record/custom object) by eliminating alltogether the "create record workflow" and just using custom object fields on the form itself. The workflow was actually eleminating all of the data already captured and just leaving it floating around—given that the workflow couldn't map every property/data point from the form submission to the final record.
By eliminating that I noticed a new record was being created by default, just needed to make sure that training couse name (my custom object) had a default name on the form AND also hidden.
Then the rest, like standardizing the name and other fields, I did do it through a workflow:
and for now, I added a contact property "company name" to the form, so users fill that out—using that property instead to automate name {company name} - {modality} Training course.
Now my issue is getting the contact's existing company associated with the new record automatically. Any thoughts?
Now my issue is getting the contact's existing company associated with the new record automatically. Any thoughts?
That's exactly the part that the 'Create record' workflow action would solve 😄 As you can specify which associations should be carried through to the custom object.
Without it, you'll have to find a way to set up the "Create association" action accordingly, but this will be equally tasking (if not more) than going through the "Create record" action to begin with.
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
hi @karstenkoehler, thanks for the reply. Yeah I get what you mean. My only issue with doing it that way is that some customers are going to submit multiple forms/register multiple times for training. So if I use contact properties on the form, it will have to overwrite those properties and there could be more space for error no?
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
@MNeustadtl sure, the properties would be overwritten, but you won't continue to work with the properties on the contact record anyway. Each time, a new custom object record would be created.
If you're concerned about the wrong fields already being populated, you could also clear the property values at the end of the workflow, using "Edit record".
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
Actually! I was just able to resolve this, my only issue now is Company association. Even though the contact is associated to a company, the company record is not being automatically associated to the new Custom Object record that was created. Any thought?
As of right now, the golden rule anything to do with custom objects - nothing happens automatically. So even though your contact is associated to a company, doesn't mean HubSpot will "connect" the two via some internal process or magic, unless you tell it to.
I would recommend either use your original workflow that creates the course or a separate to simply check for the associated company of the contact and associated that to the course.
Frank
Found my comment helpful? Great! Please mark it as a solution to help other community users.
How to Create a Custom Object Record from Form Submission (Training Registration Flow)
SOLVE
Hi @franksteiner79 yeah, i've been wrecking my head trying to figure it out. I tried doing it in my final workflow but I can't get it to check for associated company contact and associate to the course. Any steps/actions in particular I should follow?