We created several custom account properties in HubSpot (account tier, industry segment, preferred contact method) to support our onboarding workflow. These properties show up correctly in the CRM interface and we can manually edit them on account records. However, when we try to add these fields to our embedded client-side onboarding forms, they simply don’t appear in the form builder’s field selector.
We’ve tried refreshing the form schema and even recreating the form from scratch, but the custom properties still aren’t available. The properties are set to be visible and editable, and we’ve double-checked the field-level permissions. Standard account fields work fine - it’s only our custom properties that won’t show up. This is blocking our entire onboarding process since we need to collect this information during account signup. Has anyone run into this custom property visibility issue with embedded forms?
Are you using the Forms API or the embedded form code? If you’re using embedded forms, account properties won’t show up in the visual form builder by default. You need to either use the Forms API to submit directly to account objects, or set up a workflow that maps contact form submissions to account properties using the contact-to-account association.
I had this exact problem last month. The issue is that account properties need to be explicitly mapped to forms through the form schema. It’s not automatic like contact properties. Go to your form settings, then Advanced > Property Mapping, and you should see an option to add custom account fields there.
Thanks both. I checked the property settings and ‘Show in forms’ is enabled for all three custom properties. I’m not seeing a Property Mapping section in Advanced settings though - is that only available for certain form types or subscription levels?
The root cause here involves all three aspects of custom property visibility in HubSpot forms: property configuration, schema refresh timing, and object mapping.
First, for custom property visibility: beyond the ‘Show in forms’ checkbox, verify that your custom account properties have the correct field type set. Some field types (like calculated properties or rollup fields) cannot be used in forms even if marked as visible. Go to Settings > Properties > Account Properties, find your custom fields, and confirm they’re using standard field types like single-line text, dropdown, or number.
Second, the form schema refresh issue is real but subtle. When you create new account properties, HubSpot’s form builder cache doesn’t immediately reflect them. The solution: go to your form, click Actions > Clear form cache, then wait 5-10 minutes before trying to add the fields again. This forces a schema refresh. If that doesn’t work, you may need to contact HubSpot support to manually refresh the form schema for your portal.
Third, and most importantly for embedded forms, you’re hitting the embedded form property mapping limitation. Client-side embedded forms are designed primarily for contact object properties. To collect account-level information through an embedded form, you need to:
- Add the fields as contact properties first (create duplicate properties on the contact object)
- Include these contact-level versions in your embedded form
- Create a workflow triggered by form submission that copies the contact property values to the associated account’s custom properties
- Use the ‘Copy property value’ workflow action with the contact-to-account association
Alternatively, if you need true account-level form submission, use the Forms API with a custom implementation that posts directly to the accounts endpoint. This bypasses the embedded form limitations entirely but requires custom JavaScript development.
For your onboarding use case, I’d recommend the workflow approach since it maintains the simplicity of embedded forms while still capturing the account data you need.
The embedded form property mapping can be tricky. For account-level properties to appear in client-side forms, they need to be associated with a contact form context. Since embedded forms primarily capture contact information, account properties require a relationship mapping. You might need to use a hidden field workflow to populate account properties based on contact submissions rather than direct form mapping.