Debugging HubSpot Private Apps: Solving the `propertiesToSend` Mystery in Platform 2026.03

Debugging HubSpot Private Apps: Solving the `propertiesToSend` Mystery in Platform 2026.03

Hey there, ESHOPMAN readers! As folks deeply embedded in the world of HubSpot and e-commerce, we know that sometimes, even the most robust platforms can throw a curveball. The HubSpot Community is an incredible resource for these moments, and recently, a discussion caught our eye that many of you building custom integrations might find relatable.

It was a technical deep-dive into an issue with HubSpot private apps, specifically how properties are (or aren't!) passed to custom CRM cards. Let's unpack what happened and what it means for your HubSpot ecosystem.

The Case of the Missing Properties: `propertiesToSend` Not Working

The original poster, a developer working with a private app on HubSpot's Platform 2026.03, ran into a head-scratcher. They were trying to display specific ticket properties like content and subject within a custom CRM card using the propertiesToSend configuration in their card-hsmeta.json file.

Here’s what their configuration looked like:

"objectTypes": [
  {
    "name": "tickets",
    "propertiesToSend": ["content", "subject"]
  }
]

The problem? Despite this clear setup, context.crm.objectProperties was consistently coming back empty within the card's context. The ticket ID was available, which meant the card was indeed loading for the correct object, but the specific properties weren't making it through. They also mentioned attempting to use hubspot.fetch() to an external Vercel endpoint, which resulted in a rendering error – a double whammy!

A community manager chimed in, tagging some of HubSpot's Top Contributors to lend their expertise, which is a testament to the complexity of the issue. While the thread didn't get an immediate, direct solution in the public replies, this scenario is a classic example of the kind of integration challenges developers face. So, let's put on our detective hats and figure out what might be going on.

Our Expert Take: Debugging `propertiesToSend` and Beyond

When propertiesToSend isn't behaving as expected, especially on a specific platform version like 2026.03, it often points to a few common culprits. For anyone building custom integrations – whether you’re enhancing your e-commerce operations or looking for the best CRM for Magento 2 – understanding these potential issues is key.

Potential Causes & Debugging Steps:

  1. Cache and Deployment Issues: HubSpot's platform, like any complex system, can sometimes hold onto old configurations.
    • Clear Caches: Always start by clearing your browser cache. For HubSpot apps, sometimes even an app re-installation or a redeploy can force a refresh of the card-hsmeta.json configuration.
    • Verify Deployment: Double-check that your card-hsmeta.json file is correctly deployed to your private app in HubSpot. Any changes need to be pushed and reflected.
  2. Incorrect Object Type or Property Names: This is a surprisingly common oversight.
    • Singular vs. Plural: The original poster used "name": "tickets". While this is usually correct for the Tickets object, always verify the exact API name for the object type. Sometimes, it might be "ticket" in other contexts, though tickets is standard for `objectTypes` in custom cards.
    • Property Existence & Case Sensitivity: Ensure content and subject are indeed the internal names of the ticket properties you're trying to fetch, and that their casing is exact. Custom properties often have internal names like p_mycustomproperty.
  3. App Permissions and Scopes: Even for private apps, permissions matter.
    • Required Scopes: Your private app needs the necessary scopes to read ticket properties. Specifically, tickets (read scope) would be essential. Verify these are configured in your app's settings.
  4. Platform-Specific Changes (2026.03): HubSpot is constantly evolving.
    • Documentation Review: Always check the latest HubSpot developer documentation for the specific platform version (2026.03 in this case). There might have been subtle breaking changes or new best practices for fetching properties.
    • Console Logging: Within your custom card's JavaScript, use extensive console.log() statements to inspect the entire context object. This helps confirm what is being passed, even if objectProperties is empty.
  5. hubspot.fetch() Rendering Error: This suggests a separate issue.
    • CORS: The most common culprit for external fetches. Your Vercel endpoint needs to be configured to allow Cross-Origin Resource Sharing (CORS) requests from HubSpot's domain.
    • Endpoint Accessibility: Ensure your Vercel endpoint is publicly accessible and configured correctly to handle the incoming request. Check Vercel logs for errors.

ESHOPMAN Team Comment

This community discussion highlights a crucial aspect of leveraging HubSpot for e-commerce: the need for precise data flow. When custom apps fail to pull essential properties, it directly impacts the RevOps team's ability to get a 360-degree view of customers and orders. We believe that while HubSpot offers immense flexibility, robust tools and clear documentation are paramount for developers. ESHOPMAN aims to simplify much of this data integration, ensuring your e-commerce data flows seamlessly into HubSpot without these complex debugging headaches.

For any HubSpot user, RevOps specialist, or marketer running a store, the takeaway here is clear: while powerful, custom app development requires careful attention to detail and a systematic debugging approach. Don't hesitate to lean on the HubSpot Community and documentation when you hit these roadblocks. Happy building!

Share: