<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic STATUS property always appears as Invalid property in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491148#M46536</link>
    <description>&lt;P&gt;CRM Custom Card (part of CRM Extensions).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following this documentation (here: &lt;A href="https://legacydocs.hubspot.com/docs/methods/crm-extensions/property-types" target="_blank" rel="noopener"&gt;https://legacydocs.hubspot.com/docs/methods/crm-extensions/property-types&lt;/A&gt;) for defining a "STATUS" type custom property, this is the resulting JSON being sent to HubSpot CRM on a custom card request:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;{

  "results": [
    {
      "objectId": "5233656208",
      "title": "A Title",
      "link": "https://app.hubspot.com/contacts/&amp;lt;app_id&amp;gt;/deal/&amp;lt;deal_id&amp;gt;",
      "completion": "complete",
      "properties": [
         {
           "label": "Completion",
           "name": "completion",
           "dataType": "STATUS",
           "options": [
              {
                "name": "incomplete",
                "label": "In progress",
                "type": "SUCCESS"
              },
              {
                "name": "complete",
                "label": "Complete",
                "type": "DEFAULT"
             }
          ]
       },
  ]
  "actions": [...],
  etc.
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The JSON result appears correctly formed as per the documentation. However, the custom card always displays "Invalid property" despite setting "completion" to a valid option value ("complete").&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2021-09-07 at 10.38.58 AM.png" style="width: 400px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/49837iF389DA212D5B4234/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screen Shot 2021-09-07 at 10.38.58 AM.png" alt="Screen Shot 2021-09-07 at 10.38.58 AM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Any idea what I'm doing wrong?&lt;/P&gt;</description>
    <pubDate>Tue, 07 Sep 2021 16:58:51 GMT</pubDate>
    <dc:creator>amit-hs</dc:creator>
    <dc:date>2021-09-07T16:58:51Z</dc:date>
    <item>
      <title>STATUS property always appears as Invalid property</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491148#M46536</link>
      <description>&lt;P&gt;CRM Custom Card (part of CRM Extensions).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following this documentation (here: &lt;A href="https://legacydocs.hubspot.com/docs/methods/crm-extensions/property-types" target="_blank" rel="noopener"&gt;https://legacydocs.hubspot.com/docs/methods/crm-extensions/property-types&lt;/A&gt;) for defining a "STATUS" type custom property, this is the resulting JSON being sent to HubSpot CRM on a custom card request:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;{

  "results": [
    {
      "objectId": "5233656208",
      "title": "A Title",
      "link": "https://app.hubspot.com/contacts/&amp;lt;app_id&amp;gt;/deal/&amp;lt;deal_id&amp;gt;",
      "completion": "complete",
      "properties": [
         {
           "label": "Completion",
           "name": "completion",
           "dataType": "STATUS",
           "options": [
              {
                "name": "incomplete",
                "label": "In progress",
                "type": "SUCCESS"
              },
              {
                "name": "complete",
                "label": "Complete",
                "type": "DEFAULT"
             }
          ]
       },
  ]
  "actions": [...],
  etc.
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The JSON result appears correctly formed as per the documentation. However, the custom card always displays "Invalid property" despite setting "completion" to a valid option value ("complete").&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2021-09-07 at 10.38.58 AM.png" style="width: 400px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/49837iF389DA212D5B4234/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screen Shot 2021-09-07 at 10.38.58 AM.png" alt="Screen Shot 2021-09-07 at 10.38.58 AM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Any idea what I'm doing wrong?&lt;/P&gt;</description>
      <pubDate>Tue, 07 Sep 2021 16:58:51 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491148#M46536</guid>
      <dc:creator>amit-hs</dc:creator>
      <dc:date>2021-09-07T16:58:51Z</dc:date>
    </item>
    <item>
      <title>Re: STATUS property always appears as Invalid property</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491901#M46577</link>
      <description>&lt;P&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/80390"&gt;@Sean_Matthews&lt;/a&gt; happen to see a flaw here?&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 17:59:48 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491901#M46577</guid>
      <dc:creator>dennisedson</dc:creator>
      <dc:date>2021-09-08T17:59:48Z</dc:date>
    </item>
    <item>
      <title>Re: STATUS property always appears as Invalid property</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491942#M46585</link>
      <description>&lt;P&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/13982"&gt;@dennisedson&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/159073"&gt;@amit-hs&lt;/a&gt;&amp;nbsp; Yup, this is the confusing part of the docs and how the HubSpot team built out the APIs in question.&lt;BR /&gt;&lt;BR /&gt;The docs you're pointing to are the API to manage the properties on the OAuth App itself... i.e. you can programmatically manage your OAuth App, CRM Extensions, Timeline Events, etc, all via API requests should you so desire.&lt;BR /&gt;&lt;BR /&gt;However, that's not commonly the case. The object definition you're looking at actually correspond with the GUI inside the Developer portal where you can (and should) define your CRM Extension and its properties.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://share.getcloudapp.com/bLuq5Qr2" target="_blank" rel="noopener"&gt;Here's a Gif to show how to manage it... apologies for the cutoff but you should get the gist.&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Once that's configured in the UI, then you can pass in the value you want the frontend (the CRM Card) to display... so your data in response to the GET request from HS frontend should be something like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;{
"results": [
    {
      "objectId": "5233656208",
      "title": "A Title",
      "link": "https://app.hubspot.com/contacts/&amp;lt;app_id&amp;gt;/deal/&amp;lt;deal_id&amp;gt;",
      "completion": "complete",
    }
  ]
  "actions": [...],
  etc.
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The other thing that's confusing about the docs/implementation is that the platform provides two ways to pass in/reference properties. If you have&amp;nbsp;&lt;EM&gt;predefined&lt;/EM&gt; the properties (either via the GUI like I show above, or via the API) then you can just reference the property by name inside the object (i.e. exactly what you're doing inside that object with &lt;STRONG&gt;`completion: 'complete'`&lt;/STRONG&gt;. The platform &lt;EM&gt;also&lt;/EM&gt; lets you define properties on the fly, but only a subset of property types. That's what the `properties` array is intended to do... allows you to pass in ad hoc properties for display. That's what they mean by&amp;nbsp;&lt;/P&gt;&lt;P class="lia-indent-padding-left-30px"&gt;"Properties may also be specified on a per-object basis. This is handy for data points unique to a specific object. These properties may be defined in the response to the data fetch request, in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;properties&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;list on a specific Sales Object."&lt;/P&gt;&lt;P&gt;in the docs you linked to.&lt;BR /&gt;&lt;BR /&gt;Hope that helps!&lt;BR /&gt;&lt;BR /&gt;Best,&amp;nbsp;&lt;BR /&gt;~Sean&lt;/P&gt;</description>
      <pubDate>Wed, 08 Sep 2021 19:09:13 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/491942#M46585</guid>
      <dc:creator>Sean_Matthews</dc:creator>
      <dc:date>2021-09-08T19:09:13Z</dc:date>
    </item>
    <item>
      <title>Re: STATUS property always appears as Invalid property</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/493134#M46658</link>
      <description>&lt;P&gt;Hey Sean, thanks for the clarity!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This line crystalized it for me:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;The platform&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;also&lt;/EM&gt;&lt;SPAN&gt;&lt;EM&gt;&amp;nbsp;lets you define properties on the fly, but only a subset of property types.&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;I suppose this is why STRING values can be defined on-the-fly while STATUS values require pre-configuration via the app admin interface.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Sep 2021 19:53:37 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/STATUS-property-always-appears-as-Invalid-property/m-p/493134#M46658</guid>
      <dc:creator>amit-hs</dc:creator>
      <dc:date>2021-09-10T19:53:37Z</dc:date>
    </item>
  </channel>
</rss>

