<?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 November 2023 Rollup in Developer Announcements</title>
    <link>https://community.hubspot.com/t5/Developer-Announcements/November-2023-Rollup/m-p/887274#M568</link>
    <description>&lt;H2&gt;Developer Updates for November 2023&lt;/H2&gt;
&lt;H3&gt;Raised limits for programmable emails&lt;/H3&gt;
&lt;P&gt;We've increased limits by 5X. Now when you use CRM functions (&lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-associations" target="_blank" rel="noopener"&gt;crm_associations&lt;/A&gt;,&amp;nbsp;&lt;BR /&gt;&lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-object" target="_blank" rel="noopener"&gt;crm_object&lt;/A&gt;, &lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-objects" target="_blank" rel="noopener"&gt;crm_objects&lt;/A&gt;) in these type of emails, you'll be able to send them with the following limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;!--more--&gt;
&lt;DIV style="overflow-x: auto; max-width: 100%; width: 100%; margin-left: auto; margin-right: auto;" data-hs-responsive-table="true"&gt;
&lt;TABLE style="width: 100%; border-collapse: collapse; table-layout: fixed; border: 1px solid #99acc2;"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px; background-color: #eaf0f6; text-align: center;"&gt;&lt;STRONG&gt;Total Recipients&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px; background-color: #eaf0f6; text-align: center;"&gt;&lt;STRONG&gt;Total CRM HubL Functions&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;500,000&lt;/STRONG&gt;&lt;BR /&gt;Max recipients for a programmable email&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;250,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;165,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;125,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;100,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;5&lt;BR /&gt;&lt;/STRONG&gt;Max CRM HubL functions for a programmable email&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" style="padding: 10px; width: 100%; background-color: #eaf0f6;"&gt;
&lt;P&gt;&lt;STRONG&gt;Please note that:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Meeting or exceeding limits will delay or cancel the email.&lt;/LI&gt;
&lt;LI&gt;These are account limits. To send more than one programmable email allow an hour between each one.&lt;/LI&gt;
&lt;LI&gt;A/B testing isn't available&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;New Accounts Information API Endpoint for Private App Usage &amp;amp; Limits&lt;/H3&gt;
&lt;P&gt;We’ve recently added a new API endpoint to the &lt;A href="https://community.hubspot.com/docs/api/settings/account-information-api" target="_blank" rel="noopener"&gt;Accounts Information API&lt;/A&gt; for daily private app usage and limits. The endpoint is &lt;CODE&gt;GET /account-info/v3/api-usage/daily/private-apps &lt;/CODE&gt;to retrieve the daily usage and limits of private apps for a given HubSpot portal.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;When a &lt;CODE&gt;200&lt;/CODE&gt; successful response is made, the new API endpoint returns the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "results": [
    {
      "name": "private-apps-api-calls-daily",
      "usageLimit": 500000,
      "currentUsage": 1,
      "collectedAt": "2020-04-10T06:46:40.789Z",
      "fetchStatus": "SUCCESS",
      "resetsAt": "2020-04-10T04:00:00Z"
    }
  ]
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When an error occurs, the API endpoint response returns the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "message": "Invalid input (details will vary based on the error)",
  "correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
  "category": "VALIDATION_ERROR",
  "links": {
    "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
  }
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This endpoint is live for all to access now.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;New Association Type for Products and Deals&lt;/H3&gt;
&lt;P&gt;Developers can now use a new association type for HubSpot's Product → Deal and Deal → Product. This new association type is available via the Associations v4 API and is accessible to all HubSpot users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Previously, Deals were associated with a Line Item that might have had a property &lt;CODE&gt;hs_product_id&lt;/CODE&gt;, indicating that the Line Item was created from a Product. This relationship caused inefficiencies when evaluating modified Products and List filters. Therefore, the new association type between Deals and Products will help alleviate these inefficiencies and identify which Deals need re-evaluation when a Product changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The new Product to Deal association type includes the following relationships and association limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Product → Deal:&lt;/STRONG&gt; One to many, with a 50k association limit&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Deal → Product:&lt;/STRONG&gt; One to many, with a default 1k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This new Product to Deal association type includes the following relationships and association limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;Product → Deal:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One_to_many&lt;/LI&gt;
&lt;LI&gt;50k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Deal → Product:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One_to_many&lt;/LI&gt;
&lt;LI&gt;Default 1k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;To create the new Product &amp;lt;&amp;gt; Deal association type, make the following request:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;PUT /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The &lt;CODE&gt;objectType&lt;/CODE&gt; is Product/Deal, and the &lt;CODE&gt;toObjectType&lt;/CODE&gt; is Deal/Product. Then include the associated &lt;CODE&gt;objectId&lt;/CODE&gt; to create the Product &amp;lt;&amp;gt; Deal associations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Public Beta updates for November 2023&lt;/H2&gt;
&lt;H3&gt;UIE Extensions Updates&lt;/H3&gt;
&lt;P&gt;This month, the latest &lt;A href="https://www.hubspot.com/products/crm/customization?_ga=2.258708745.289758962.1700169858-1515175943.1700169858&amp;amp;_gl=1*fcxa8w*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMDIzMzI3Mi4zLjEuMTcwMDIzNDAxNS41NS4wLjA." target="_blank" rel="noopener"&gt;public beta for UIE extensions&lt;/A&gt; has added new features and improvements for users to access. Please see below for more information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;A href="https://community.hubspot.com/docs/platform/sample-projects#managing-layouts-flex-and-box" target="_blank" rel="noopener"&gt;A New Sample Project&lt;/A&gt;&lt;/H4&gt;
&lt;P style="font-weight: bold;"&gt;Flex and Box Sample Project:&lt;/P&gt;
&lt;P&gt;Users can now access a sample project to understand better and visualize how UIE’s Flex and Box components work and support your UI layouts. This sample project includes 2 custom cards:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;A Flex playground card&lt;/P&gt;
&lt;P&gt;This card allows developers to interact with tiles and modify the Flex properties, enabling you to implement this component to your custom card.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="height: auto; max-width: 100%; width: 709px;" src="https://www.hubspot.com/hubfs/Developer%20Site/changelogs/2023/11/flex-playground-card.gif" border="0" alt="Gif of flex playground card" width="709" height="666" /&gt;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;A Flex and Box example card&lt;/P&gt;
&lt;P&gt;This card allows developers to better understand how the two components can be used together to create different UI layouts.&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;&lt;SPAN&gt;&lt;IMG style="height: auto; max-width: 100%; width: 855px;" src="https://www.hubspot.com/hubfs/Developer%20Site/changelogs/2023/11/flex-and-box-card.gif" border="0" alt="Gif of flex and box card" width="855" height="807" /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;New UI Components&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#list" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;List component:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;A new List component is available for users to render a list of items. Each item within a list is wrapped within a &lt;CODE&gt;&amp;lt;li&amp;gt;&lt;/CODE&gt; tag. The list can be inline, ordered, or unordered with a variant prop.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#sortable-tables" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Sortable Table Header:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;Users can now add sorting functionality to a table by utilizing the sortDirection and onSortChange props within the table’s TableHeader components.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#input" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Password Input Type:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;A new Input component allows the user to render a text input field where the input can be masked.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Please refer to the linked documentation for more information on each component.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Expanded Context Object’s Extension Point and Location Details&lt;/H4&gt;
&lt;P&gt;&lt;A href="https://developers.hubspot.com/docs/platform/create-ui-extensions#fetch-account-user-and-extension-context" target="_blank"&gt;Extension points and extension location information&lt;/A&gt; such as ‘location,` ‘objectId,` or an ‘objectType’ are now available inside the &lt;A href="https://developers.hubspot.com/docs/platform/serverless-functions#create-a-serverless-function" target="_blank"&gt;context object&lt;/A&gt;. This allows UI extensions to be rendered more contextually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;New Refresh for Object Properties on CRM Record&lt;/H4&gt;
&lt;P&gt;Users can now utilize the &lt;A href="https://developers.hubspot.com/docs/platform/create-ui-extensions#refresh-properties-on-the-crm-record" target="_blank"&gt;refreshObjectProperties method&lt;/A&gt; to refresh the property data within a CRM record. Properties displayed on the custom cards using CRM data components or on the cards added to record through &lt;A href="https://knowledge.hubspot.com/crm-setup/customize-the-middle-column-of-records?_ga=2.245945220.1671734244.1701095666-1515175943.1700169858&amp;amp;_gl=1*o5r75g*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMTEwNDE4NS4xMS4xLjE3MDExMTA0MDAuNjAuMC4w#manage-cards-in-the-middle-column" target="_blank"&gt;HubSpot UI&lt;/A&gt; will refresh upon change with this method without manual page reload. However, this is not applicable for properties added on custom cards with REST or GraphQL.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have any inquiries or concerns, please contact us via the &lt;A href="https://developers.hubspot.com/slack" target="_blank"&gt;Developer Slack channel&lt;/A&gt;, &lt;A href="https://hubspotdev.slack.com/archives/C05R599UA12?_gl=1*1lv5ht3*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMDIzMzI3Mi4zLjEuMTcwMDIzNDAxNS41NS4wLjA." target="_blank"&gt;#crm-customization-beta&lt;/A&gt;.&lt;/P&gt;</description>
    <pubDate>Thu, 30 Nov 2023 15:53:17 GMT</pubDate>
    <dc:creator>AJLaPorte</dc:creator>
    <dc:date>2023-11-30T15:53:17Z</dc:date>
    <item>
      <title>November 2023 Rollup</title>
      <link>https://community.hubspot.com/t5/Developer-Announcements/November-2023-Rollup/m-p/887274#M568</link>
      <description>&lt;H2&gt;Developer Updates for November 2023&lt;/H2&gt;
&lt;H3&gt;Raised limits for programmable emails&lt;/H3&gt;
&lt;P&gt;We've increased limits by 5X. Now when you use CRM functions (&lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-associations" target="_blank" rel="noopener"&gt;crm_associations&lt;/A&gt;,&amp;nbsp;&lt;BR /&gt;&lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-object" target="_blank" rel="noopener"&gt;crm_object&lt;/A&gt;, &lt;A href="https://community.hubspot.com/docs/cms/hubl/functions#crm-objects" target="_blank" rel="noopener"&gt;crm_objects&lt;/A&gt;) in these type of emails, you'll be able to send them with the following limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;!--more--&gt;
&lt;DIV style="overflow-x: auto; max-width: 100%; width: 100%; margin-left: auto; margin-right: auto;" data-hs-responsive-table="true"&gt;
&lt;TABLE style="width: 100%; border-collapse: collapse; table-layout: fixed; border: 1px solid #99acc2;"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px; background-color: #eaf0f6; text-align: center;"&gt;&lt;STRONG&gt;Total Recipients&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px; background-color: #eaf0f6; text-align: center;"&gt;&lt;STRONG&gt;Total CRM HubL Functions&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;500,000&lt;/STRONG&gt;&lt;BR /&gt;Max recipients for a programmable email&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;250,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;165,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;125,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="width: 49.9276%; padding: 10px;"&gt;&lt;STRONG&gt;100,000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD style="width: 50.0724%; padding: 10px;"&gt;&lt;STRONG&gt;5&lt;BR /&gt;&lt;/STRONG&gt;Max CRM HubL functions for a programmable email&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colspan="2" style="padding: 10px; width: 100%; background-color: #eaf0f6;"&gt;
&lt;P&gt;&lt;STRONG&gt;Please note that:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Meeting or exceeding limits will delay or cancel the email.&lt;/LI&gt;
&lt;LI&gt;These are account limits. To send more than one programmable email allow an hour between each one.&lt;/LI&gt;
&lt;LI&gt;A/B testing isn't available&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;New Accounts Information API Endpoint for Private App Usage &amp;amp; Limits&lt;/H3&gt;
&lt;P&gt;We’ve recently added a new API endpoint to the &lt;A href="https://community.hubspot.com/docs/api/settings/account-information-api" target="_blank" rel="noopener"&gt;Accounts Information API&lt;/A&gt; for daily private app usage and limits. The endpoint is &lt;CODE&gt;GET /account-info/v3/api-usage/daily/private-apps &lt;/CODE&gt;to retrieve the daily usage and limits of private apps for a given HubSpot portal.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;When a &lt;CODE&gt;200&lt;/CODE&gt; successful response is made, the new API endpoint returns the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "results": [
    {
      "name": "private-apps-api-calls-daily",
      "usageLimit": 500000,
      "currentUsage": 1,
      "collectedAt": "2020-04-10T06:46:40.789Z",
      "fetchStatus": "SUCCESS",
      "resetsAt": "2020-04-10T04:00:00Z"
    }
  ]
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When an error occurs, the API endpoint response returns the following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "message": "Invalid input (details will vary based on the error)",
  "correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
  "category": "VALIDATION_ERROR",
  "links": {
    "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
  }
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This endpoint is live for all to access now.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;New Association Type for Products and Deals&lt;/H3&gt;
&lt;P&gt;Developers can now use a new association type for HubSpot's Product → Deal and Deal → Product. This new association type is available via the Associations v4 API and is accessible to all HubSpot users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Previously, Deals were associated with a Line Item that might have had a property &lt;CODE&gt;hs_product_id&lt;/CODE&gt;, indicating that the Line Item was created from a Product. This relationship caused inefficiencies when evaluating modified Products and List filters. Therefore, the new association type between Deals and Products will help alleviate these inefficiencies and identify which Deals need re-evaluation when a Product changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The new Product to Deal association type includes the following relationships and association limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Product → Deal:&lt;/STRONG&gt; One to many, with a 50k association limit&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Deal → Product:&lt;/STRONG&gt; One to many, with a default 1k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This new Product to Deal association type includes the following relationships and association limits:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;Product → Deal:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One_to_many&lt;/LI&gt;
&lt;LI&gt;50k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Deal → Product:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One_to_many&lt;/LI&gt;
&lt;LI&gt;Default 1k association limit&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;To create the new Product &amp;lt;&amp;gt; Deal association type, make the following request:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;PUT /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The &lt;CODE&gt;objectType&lt;/CODE&gt; is Product/Deal, and the &lt;CODE&gt;toObjectType&lt;/CODE&gt; is Deal/Product. Then include the associated &lt;CODE&gt;objectId&lt;/CODE&gt; to create the Product &amp;lt;&amp;gt; Deal associations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Public Beta updates for November 2023&lt;/H2&gt;
&lt;H3&gt;UIE Extensions Updates&lt;/H3&gt;
&lt;P&gt;This month, the latest &lt;A href="https://www.hubspot.com/products/crm/customization?_ga=2.258708745.289758962.1700169858-1515175943.1700169858&amp;amp;_gl=1*fcxa8w*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMDIzMzI3Mi4zLjEuMTcwMDIzNDAxNS41NS4wLjA." target="_blank" rel="noopener"&gt;public beta for UIE extensions&lt;/A&gt; has added new features and improvements for users to access. Please see below for more information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;A href="https://community.hubspot.com/docs/platform/sample-projects#managing-layouts-flex-and-box" target="_blank" rel="noopener"&gt;A New Sample Project&lt;/A&gt;&lt;/H4&gt;
&lt;P style="font-weight: bold;"&gt;Flex and Box Sample Project:&lt;/P&gt;
&lt;P&gt;Users can now access a sample project to understand better and visualize how UIE’s Flex and Box components work and support your UI layouts. This sample project includes 2 custom cards:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;A Flex playground card&lt;/P&gt;
&lt;P&gt;This card allows developers to interact with tiles and modify the Flex properties, enabling you to implement this component to your custom card.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="height: auto; max-width: 100%; width: 709px;" src="https://www.hubspot.com/hubfs/Developer%20Site/changelogs/2023/11/flex-playground-card.gif" border="0" alt="Gif of flex playground card" width="709" height="666" /&gt;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;A Flex and Box example card&lt;/P&gt;
&lt;P&gt;This card allows developers to better understand how the two components can be used together to create different UI layouts.&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="font-weight: bold;"&gt;&lt;SPAN&gt;&lt;IMG style="height: auto; max-width: 100%; width: 855px;" src="https://www.hubspot.com/hubfs/Developer%20Site/changelogs/2023/11/flex-and-box-card.gif" border="0" alt="Gif of flex and box card" width="855" height="807" /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;New UI Components&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#list" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;List component:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;A new List component is available for users to render a list of items. Each item within a list is wrapped within a &lt;CODE&gt;&amp;lt;li&amp;gt;&lt;/CODE&gt; tag. The list can be inline, ordered, or unordered with a variant prop.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#sortable-tables" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Sortable Table Header:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;Users can now add sorting functionality to a table by utilizing the sortDirection and onSortChange props within the table’s TableHeader components.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.hubspot.com/docs/platform/ui-extension-components#input" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Password Input Type:&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;A new Input component allows the user to render a text input field where the input can be masked.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Please refer to the linked documentation for more information on each component.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Expanded Context Object’s Extension Point and Location Details&lt;/H4&gt;
&lt;P&gt;&lt;A href="https://developers.hubspot.com/docs/platform/create-ui-extensions#fetch-account-user-and-extension-context" target="_blank"&gt;Extension points and extension location information&lt;/A&gt; such as ‘location,` ‘objectId,` or an ‘objectType’ are now available inside the &lt;A href="https://developers.hubspot.com/docs/platform/serverless-functions#create-a-serverless-function" target="_blank"&gt;context object&lt;/A&gt;. This allows UI extensions to be rendered more contextually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;New Refresh for Object Properties on CRM Record&lt;/H4&gt;
&lt;P&gt;Users can now utilize the &lt;A href="https://developers.hubspot.com/docs/platform/create-ui-extensions#refresh-properties-on-the-crm-record" target="_blank"&gt;refreshObjectProperties method&lt;/A&gt; to refresh the property data within a CRM record. Properties displayed on the custom cards using CRM data components or on the cards added to record through &lt;A href="https://knowledge.hubspot.com/crm-setup/customize-the-middle-column-of-records?_ga=2.245945220.1671734244.1701095666-1515175943.1700169858&amp;amp;_gl=1*o5r75g*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMTEwNDE4NS4xMS4xLjE3MDExMTA0MDAuNjAuMC4w#manage-cards-in-the-middle-column" target="_blank"&gt;HubSpot UI&lt;/A&gt; will refresh upon change with this method without manual page reload. However, this is not applicable for properties added on custom cards with REST or GraphQL.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have any inquiries or concerns, please contact us via the &lt;A href="https://developers.hubspot.com/slack" target="_blank"&gt;Developer Slack channel&lt;/A&gt;, &lt;A href="https://hubspotdev.slack.com/archives/C05R599UA12?_gl=1*1lv5ht3*_ga*MTUxNTE3NTk0My4xNzAwMTY5ODU4*_ga_LXTM6CQ0XK*MTcwMDIzMzI3Mi4zLjEuMTcwMDIzNDAxNS41NS4wLjA." target="_blank"&gt;#crm-customization-beta&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Nov 2023 15:53:17 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/Developer-Announcements/November-2023-Rollup/m-p/887274#M568</guid>
      <dc:creator>AJLaPorte</dc:creator>
      <dc:date>2023-11-30T15:53:17Z</dc:date>
    </item>
  </channel>
</rss>

