I have a private app with static auth on platform 2026.03. My card-hsmeta.json has:
json
"objectTypes": [
{
"name": "tickets",
"propertiesToSend": ["content", "subject"]
}
]
But context.crm.objectProperties is always empty in the card. The ticket ID is available via context.crm.objectId. I also tried hubspot.fetch() to an external Vercel endpoint but get a rendering error. What is the correct way to read ticket properties in a 2026.03 app card?
Hi @GPhillips67,
Thank you for posting to the Community!
I’d like to tag in some of our Top Contributors to see if they have any ideas on this one -- Hi @miljkovicmisa, @nickdeckerdevs1, and @ChristinaKay. Do any of you have any ideas?
Thank you in advance!
Cassie, Community Manager
Currently HubSpot UI Extensions platform, propertiesToSend does not populate context.crm.objectProperties inside the React card runtime.
propertiesToSend is only forwarded to backend/serverless functions invoked through hubspot.fetch().
That’s why context.crm.objectProperties is empty even though the ticket ID is available through context.crm.objectId.
For frontend access to CRM record properties, HubSpot recommends using:
actions.fetchCrmObjectProperties()
or the newer hook:
useCrmProperties()
Example:
import { hubspot } from ‘@hubspot/ui-extensions’;
hubspot.extend(({ actions }) => (
<Extension fetchProperties={actions.fetchCrmObjectProperties} />
));
const Extension = ({ fetchProperties }) => {
useEffect(() => {
fetchProperties([‘subject’, ‘content’]).then((props) => {
console.log(props);
});
}, [ ]);
return null;
};
You can also use:
import { useCrmProperties } from ‘@hubspot/ui-extensions/crm’;
const properties = useCrmProperties([‘subject’, ‘content’]);
So your current propertiesToSend configuration is valid, but it is only useful when passing properties into a hubspot.fetch() request, not for populating context.crm.objectProperties in the card itself.
Taken help from AI