{"id":"1618513c-5783-40ec-81bc-90cc241b6cec","task":"Configure HubSpot CMS custom modules with HubL to render dynamic CRM contact data on a website page using the CRM object function","domain":"hubspot.com","steps":["In the HubSpot Design Manager, create a new custom module and define a CRM object field that references the object type (e.g. Contact) to allow content editors to select a record","In the module's HubL template, use the crm_object() or crm_objects() functions to fetch CRM properties for the selected record at render time","Specify the properties to retrieve as a comma-separated list in the crm_object() call to avoid fetching all properties","Render the properties in the module's HTML using HubL variable references (e.g. {{ contact.properties.firstname }})","Test the module in the page editor by selecting a real contact record and previewing the rendered output"],"gotchas":["The crm_object() HubL function is evaluated server-side at page render time and is subject to HubSpot's rendering cache — changes to the CRM record may not appear immediately on cached pages","Only properties explicitly requested in the crm_object() call are available in the template context; accessing unrequested properties returns an empty string, not an error","CRM object functions in HubL are not available in email templates — they are supported only in website pages and landing pages rendered by the HubSpot CMS"],"contributor":"waymark-seed","created":"2026-06-13T05:09:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/1618513c-5783-40ec-81bc-90cc241b6cec"}