CINXE.COM

HubSpot App Marketplace

<!DOCTYPE html><html lang="en"><script>window.__hsiplt = () => {}</script><script>window.__hssessrt = true</script><script>const IPLTEvents={TrackingStarted:"s",TrackingFinished:"f",PerformanceResourceTiming:"p",PerformanceNavigationTiming:"n",ScriptLoaded:"l",ScriptErrored:"e",BeforeScriptTag:"b",ScriptLoadTimeout:"t",AllScriptLoadsComplete:"c",MaxLogOverflow:"o",HitTimeBoundary:"h",VisibilityChangeHidden:"d",VisibilityChangeVisible:"v",SessionLink:"k"},ReportReasons={AlwaysSent:"a",SlowLoading:"s",VisibilityStateChanged:"v",LogsFlushed:"f",LogLimitReached:"l"};(()=>{const e=5e3,t=6e4,n=3e5,o=50,i=5e3,r=window.__hssessrt;let s,a=r,c=!0,d=[],l=0,u=null,p=null;const g=()=>{s&&s.disconnect();p&&clearTimeout(p);u&&clearTimeout(u);document.removeEventListener("visibilitychange",U);a=!1;c=!1},f=(e,t=!1)=>{if(!c||R()>=n+1e4||l>=i)g();else{F(e);l+=d.length;d=[];t&&g()}},h=e=>{if(!c||d.length+l>=i-1)g();else{d.push(e);if(d.length+l!==i-2)d.length>=o&&f(ReportReasons.LogsFlushed);else{d.push([IPLTEvents.MaxLogOverflow,R()]);d.push([IPLTEvents.TrackingFinished,R()]);f(ReportReasons.LogLimitReached,!0)}}},m=["name","responseStatus","fetchStart","responseEnd","serverTiming","startTime","initiatorType","nextHopProtocol","redirectStart","redirectEnd","domainLookupStart","domainLookupEnd","connectStart","connectEnd","secureConnectionStart","requestStart","responseStart","transferSize","encodedBodySize","decodedBodySize","renderBlockingStatus"],T=[...m,"unloadEventStart","unloadEventEnd","type","redirectCount"];function w(){try{return!!localStorage.getItem("log-page-load-id")}catch(e){}return!1}function v(){try{return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(e=>{const t=0|(crypto&&crypto.getRandomValues?15&crypto.getRandomValues(new Uint8Array(1))[0]:16*Math.random());return("0"===e?t:3&t|8).toString(16)}))}catch(e){return null}}let L;try{L=crypto.randomUUID()}catch(e){L=v()}w()&&console.log("HubSpot Page Load ID:",L);window.hubspot||(window.hubspot={});window.hubspot.sessionId=L;try{var S;const e=window.top;e&&window!==e&&null!==(S=e.hubspot)&&void 0!==S&&S.sessionId&&h([IPLTEvents.SessionLink,e.hubspot.sessionId])}catch(e){}function y(e,t,n){h([e,...t.map((e=>{if("serverTiming"===e)return E(n);const t=n[e];return null===t?null:"number"==typeof t?Math.round(t):t}))])}function R(){return Math.round(performance.now())}function E({serverTiming:e}){return e?e.map((e=>[e.name,e.description,e.duration])):[]}const b=new Map,I=e=>r?!(e.name&&e.name.endsWith("api/cartographer/v1/ipl")):"script"===e.initiatorType;try{s=new PerformanceObserver((e=>e.getEntries().filter(I).forEach((e=>y(IPLTEvents.PerformanceResourceTiming,m,e)))));s.observe({type:"resource",buffered:!0})}catch(e){console.error(e)}const P=performance.getEntriesByType("navigation")[0];P&&y(IPLTEvents.PerformanceNavigationTiming,T,P);function k(e){h([e,R()])}k(IPLTEvents.TrackingStarted);let B=1;function C(){return/qa.com$/.test(window.location.host)}function V(){const e=/^\/(?:[A-Za-z0-9-_]*)\/(\d+)(?:\/|$)/.exec(window.location.pathname);return e?parseInt(e[1],10):void 0}function A(e){const t=JSON.stringify(e),n=`https://app.${C()?"hubspotqa":"hubspot"}.com/api/cartographer/v1/ipl`;if(navigator&&"function"==typeof navigator.sendBeacon)try{navigator.sendBeacon(n,t)}catch(e){}}function F(e){if(u){clearTimeout(u);u=null}if(0===d.length&&0===b.size)return;A({v:0,r:e,t:R(),n:B++,cru:L,pto:performance.timeOrigin,dn:Date.now(),u:window.location.href,l:d,pid:V(),p:[...b.entries()].map((([e,t])=>[e,t.firstSeen]))})}function M(e){u||(u=window.setTimeout((()=>f(e)),1e3))}function z(){return r?Math.min(t,n-R()):null}function H(){if(!a)return;const e=z();if(null!==e)if(e<=0){k(IPLTEvents.HitTimeBoundary);k(IPLTEvents.TrackingFinished);f(ReportReasons.LogLimitReached,!0)}else{M(ReportReasons.LogsFlushed);p=setTimeout(H,e)}else console.error("scheduled a post-load report while sessionResourceTracking was disabled")}function O(){if("loading"===document.readyState||b.size>0){M(ReportReasons.SlowLoading);p=setTimeout(O,e)}else{k(IPLTEvents.AllScriptLoadsComplete);const e=z();if(e&&e>0){f(ReportReasons.AlwaysSent);p=setTimeout(H,e)}else{k(IPLTEvents.TrackingFinished);f(ReportReasons.AlwaysSent,!0)}}}function U(){if("hidden"===document.visibilityState){k(IPLTEvents.VisibilityChangeHidden);f(ReportReasons.VisibilityStateChanged)}else k(IPLTEvents.VisibilityChangeVisible)}document.addEventListener("visibilitychange",U);const _=5e3-R();_>0?setTimeout(O,_):O();function x(...e){const t=R(),[n,o]=e;if(n===IPLTEvents.BeforeScriptTag){const n=new URL(e[2],window.location.href).href;h([IPLTEvents.BeforeScriptTag,n,t]);b.set(n,{firstSeen:t,timeout:window.setTimeout((()=>{h([IPLTEvents.ScriptLoadTimeout,n,t,R()]);M(ReportReasons.SlowLoading)}),5e3)});return}const i=b.get(o.src);clearTimeout(i.timeout);b.delete(o.src);h([n,new URL(o.src,window.location.href).href,i.firstSeen,t]);t-i.firstSeen>5e3&&M(ReportReasons.SlowLoading)}window.__hsiplt=x})();</script><head><meta charSet="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><link rel="preconnect" href="https://static.hsappstatic.net" crossorigin="anonymous"/><script>window.performance.mark("start_quick_fetch_script"),(()=>{let s="[quick-fetch] Early request not found",c={};function p(e){var t=("; "+e).split(";");if(t.length)for(let e=0;e<t.length;e++){var r=t[e].split("=");if(2===r.length&&"csrf.app"===r[0].trim())return r[1]}return null}function u(e){e=/^\/(?:[A-Za-z0-9-_]*)\/(\d+)(?:\/|$)/.exec(e||document.location.pathname);return e&&e[1]}function r(e){return Object.prototype.hasOwnProperty.call(c,e)?c[e]:null}function l(e,t,r){Object.prototype.hasOwnProperty.call(c,e)?(c[e].error=!0,c[e].errorStatus=t,c[e].onErrorCallbacks.forEach(e=>{e(r,t)})):console.error(s,e,t,r)}function t(o,n){if(!Object.prototype.hasOwnProperty.call(c,o)&&!(()=>{try{return localStorage.getItem("HTTP_FAILURE_INJECTION")}catch(e){}})()){window.performance.mark(`mark_${o}_request`);let a=new XMLHttpRequest;var e=new URL(n.url),t=new URLSearchParams(e.search),{_currentProject:r,_currentProjectVersion:i}=window.quickFetch,r=(t.append("hs_static_app",r),t.append("hs_static_app_version",(r=i)?"static"===r?"dev":r.replace("static-",""):"unknown"),n.noPortalId||t.has("portalId")||(i=u())&&t.append("portalId",i),n.timeout&&!t.has("clienttimeout")&&t.append("clienttimeout",n.timeout),""+e.origin+e.pathname+"?"+t.toString()),i=(a.open(n.type||"GET",r,!0),a.withCredentials=!Object.prototype.hasOwnProperty.call(n,"withCredentials")||!!n.withCredentials,null!=n.timeout&&(a.timeout=n.timeout),a.addEventListener("load",()=>{let e;if(200<=a.status&&a.status<400){if(e=a.responseText,"json"===n.dataType)try{e=JSON.parse(e)}catch(e){return void l(o,"Parsing error. Response is not valid JSON",a)}t=o,r=e,0===window.performance.getEntriesByName(`mark_${t}_success`).length&&(window.performance.mark(`mark_${t}_success`),window.performance.measure(`measure_${t}_time`,`mark_${t}_request`,`mark_${t}_success`)),Object.prototype.hasOwnProperty.call(c,t)?(c[t].finished=!0,c[t].data=r,c[t].whenFinishedCallbacks.forEach(e=>{e(r)})):console.error(s,t,r)}else{var t,r;l(o,"Network request failed. Status: "+a.status,a)}}),a.addEventListener("error",()=>{l(o,"Network request failed",a)}),a.addEventListener("timeout",()=>{l(o,"timeout",a)}),p(window.document.cookie));switch(null===i||n.url.includes("/login-verify/hub-user-info")?i||console.error("No CSRF Cookie found."):a.setRequestHeader("X-HubSpot-CSRF-hubspotapi",i),a.setRequestHeader("Accept","application/json, text/javascript, */*; q=0.01"),n.extraHeaders&&n.extraHeaders.length&&n.extraHeaders.forEach(e=>{a.setRequestHeader(e.header,e.value)}),n.contentType&&a.setRequestHeader("Content-type",n.contentType),c[o]={finished:!1,error:!1,errorStatus:"",whenFinishedCallbacks:n.whenFinished?[n.whenFinished]:[],onErrorCallbacks:n.onError?[n.onError]:[],whenFinished(e){this.finished?e(this.data):this.whenFinishedCallbacks.push(e)},onError(e){this.error?e(this.request,this.errorStatus):this.onErrorCallbacks.push(e)},request:a},n.type){case"GET":case void 0:a.send();break;case"PUT":case"PATCH":case"POST":n.contentType||a.setRequestHeader("Content-type","application/json"),a.send(n.data);break;default:console.error(`Unsupported quick-fetch method "${n.type}", skipping quick-fetch for \${ajaxOptions.url}`)}}}function a(t,e){let r=(e=>{let t;var r=/^(api|local|app)-(.*)\.hubspot(documents)?(qa)?\.com/,a=r.test(window.location.hostname),o=/\.hubspot(documents)?qa\.com/.test(window.location.hostname);return void 0===e&&(e=!0),t=a?(a=r.exec(window.location.hostname)[2],e?"app-"+a:"api-"+a):e?"app":"api",e?`https://${t}.hubspot${o?"qa":""}.com/api`:`https://${t}.hubspot${o?"qa":""}.com`})(e);try{var a=JSON.parse(localStorage.getItem("LOCAL_API_OVERRIDES"));for(let e=0;e<a.length;e++)t.includes(a[e])&&(r=r.replace(/https:\/\/(app|api)/,"https://local").replace("/api",""))}catch(e){}return r+t}window.quickFetch={afterAuth:function(e){var t=r("api-verify");t&&t.whenFinished(e)},clearAllRequests:function(){c={}},getApiUrl:a,getPortalId:u,getRequestStateByName:r,makeEarlyRequest:t,makeLoginVerifyRequest:function(){if((()=>{try{return window.top!==window&&window.top.quickFetch&&"function"==typeof window.top.quickFetch.getRequestStateByName}catch(e){}})()){var e=window.top.quickFetch.getRequestStateByName("api-verify");if(e)return void(c["api-verify"]={...e,fromParentContext:!0})}t("api-verify",{url:a("/login-verify/hub-user-info?early=true"),dataType:"json",timeout:3e3})},removeEarlyRequest:function(e){Object.prototype.hasOwnProperty.call(c,e)&&delete c[e]},getCookie:p},window.performance.mark("end_quick_fetch_script"),window.performance.measure("measure_quick_fetch_script","start_quick_fetch_script","end_quick_fetch_script")})(); window.quickFetch._currentProject = 'ecosystem-marketplace-apps-public-ui'; window.quickFetch._currentProjectVersion = 'static-1.11232'; </script><script>(function () { const loc = window.mockLocation || window.location; if (!window.quickFetch) { console.warn('[PublicAuthCheck] quick-fetch required'); return; } const isQa = /hubspotqa/.test(loc.hostname); const appDomain = isQa ? 'app.hubspotqa.com' : 'app.hubspot.com'; window.quickFetch.makeEarlyRequest('public-auth-check', { url: window.quickFetch.getApiUrl('/cookie-echo/v1/user'), type: 'GET', dataType: 'json', timeout: 2000, noPortalId: true, whenFinished: function (response) { if ( /@hubspot.com$/.test(response.email) && !loc.search.includes('_redirect=true') ) { return; } const redirectPath = loc.pathname.replace( /^\/(.*)(\/marketplace.*)/, '$2' ); const redirectUrl = `https://${appDomain}/l/ecosystem${redirectPath}${loc.search}`; loc.replace(redirectUrl); }, }); })(); </script><script>(function() { var staticDomainPrefix='//static.hsappstatic.net';!function(){var o,t;void 0===window.hubspot&&(window.hubspot={}),void 0===window.hubspot.polyfills&&(window.hubspot.polyfills={}),window.hubspot.polyfills.__CONDITIONAL=!0,o={"intersection-observer":function(){return"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype&&"isIntersecting"in window.IntersectionObserverEntry.prototype},"resize-observer":function(){return"ResizeObserver"in window},"es.array.flat":function(){return Array.prototype.flat},"es.array.flat-map":function(){return Array.prototype.flatMap},"es.object.from-entries":function(){return Object.fromEntries},"es.symbol":function(){return String(Symbol())&&Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols("qwe")&&Symbol.for&&Symbol.keyFor&&"[null]"===JSON.stringify([Symbol()])&&"{}"===JSON.stringify({a:Symbol()})&&"{}"===JSON.stringify(Object(Symbol()))&&Symbol.prototype[Symbol.toPrimitive]&&Symbol.prototype[Symbol.toStringTag]},"es.promise":function(){function o(){}var t=new Promise(function(t){t(1)}),n=(t.constructor={})[Symbol.species]=function(t){t(o,o)};return t.then(o)instanceof n&&"function"==typeof PromiseRejectionEvent},"es.promise.finally":function(){return Promise.prototype.finally.call({then:function(){return this}},function(){})}},(t=Object.keys(o).find(t=>{try{return!o[t]()}catch(t){return!0}}))?(window.hubspot.polyfills.__REASON=t,(t=document.createElement("script")).src=staticDomainPrefix+"/HeadJS/static-2.456/js/polyfills/core.js",t.crossOrigin="anonymous",document.write(t.outerHTML)):window.hubspot.polyfills.__INSTALLED=!1}(); })();</script><script>__hsiplt('b',document.currentScript,"//static.hsappstatic.net/head-dlb/static-1.1391/bundle.production.js")</script><script src="//static.hsappstatic.net/head-dlb/static-1.1391/bundle.production.js" type="text/javascript" crossOrigin="anonymous" onload="__hsiplt('l',this)" onerror="__hsiplt('e',this)" data-hsiplt></script><script async="" data-external-hs-domain="true" data-gtm-id="GTM-NN9PVWW" nonce="" src="https://www.hubspot.com/wt-assets/static-files/compliance/index.js"></script><script>(function (d, s, i) { if (document.getElementById(i)) { return; } var useQa = location.search.includes('_hsMktgAnalytics=qa'); try { if (window.localStorage && window.localStorage.HS_MKTG_ANALYTICS === 'qa') { useQa = true; } } catch (error) { console.error(error); } var n = d.createElement(s), e = d.getElementsByTagName(s)[0]; n.id = i; n.src = '//www.hubspot.com/wt-assets/static-files/mktg-analytics/' + (useQa ? 'qa/' : '') + 'bundle.min.js'; n.async = true; e.parentNode.insertBefore(n, e); })(document, 'script', 'hs-mktg-analytics-script-loader'); </script><script>if (typeof navigator != 'undefined' && /prerender/i.test(navigator.userAgent)) { window.prerenderReady = false; window.SC_DISABLE_SPEEDY = true; } </script><script> var _hsq = window._hsq = window._hsq || []; _hsq.push(['setTrackingEnabled', true]); </script><script>(function (d, s, i, r) { if (d.getElementById(i)) { return; } var disabledHsPopups = (window.disabledHsPopups = window.disabledHsPopups || []); disabledHsPopups.push('LEADFLOW'); disabledHsPopups.push('CALLS_TO_ACTION'); var disablePrivacyPopup = false; var disableFeedbackPopup = false; if (typeof navigator != 'undefined') { if (/prerender/i.test(navigator.userAgent)) { disablePrivacyPopup = true; } else if (/ecosystem/i.test(navigator.userAgent)) { disablePrivacyPopup = true; disabledHsPopups.push('LIVE_CHAT'); } } try { if (window.localStorage) { if (window.localStorage.DISABLE_PRIVACY) { disablePrivacyPopup = window.localStorage.DISABLE_PRIVACY === 'true'; } if (window.localStorage.DISABLE_FEEDBACK) { disableFeedbackPopup = window.localStorage.DISABLE_FEEDBACK === 'true'; } } } catch (error) { console.error(error); } if (disablePrivacyPopup) { disabledHsPopups.push('PRIVACY'); } if (disableFeedbackPopup) { disabledHsPopups.push('FEEDBACK'); } var isQa = location.hostname.includes('hubspotqa'); var n = d.createElement(s), e = d.getElementsByTagName(s)[0], h = isQa ? 'js.hs-scriptsqa.com' : 'js.hs-scripts.com'; n.id = i; n.src = '//' + h + '/53.js'; n.async = true; n.defer = true; e.parentNode.insertBefore(n, e); })(document, 'script', 'hs-script-loader', 300000); </script><script>window.I18N_MANUAL_LANG = 'en'; window.I18N_TZ = 'US/Eastern'; document.documentElement.setAttribute('lang', 'en'); </script><link href="//static.hsappstatic.net/ecosystem-marketplace-apps-public-ui/static-1.11232/sass/project.css" rel="stylesheet" type="text/css"/><script> hns('hubspot.bender', { staticDomain: '//static.hsappstatic.net' || window.location.host, staticDomainPrefix: '//static.hsappstatic.net' || ('//' + window.location.host), currentProject: 'ecosystem-marketplace-apps-public-ui', currentProjectVersion: 'static-1.11232', depVersions: { "ecosystem-marketplace-apps-public-ui": "static-1.11232", "ai-components-ui-library": "static-1.1924", "apollo-dlb": "static-3.32", "atom": "static-1.1735", "autolinker": "static-3.11", "browserslist-config-hubspot": "static-1.120", "cropperjs": "static-1.10", "csstype": "static-1.8", "cssUtils": "static-1.308", "data-fetching-client": "static-1.4863", "developer-experience-shared-components": "static-1.5853", "ecosystem-marketplace-apps-base": "static-1.11236", "ecosystem-marketplace-core": "static-1.12409", "emoji-regex": "static-1.7", "feature-store-service-types": "static-1.957", "file-manager-components": "static-1.11084", "FileManagerCore": "static-1.26589", "FileManagerImages": "static-1.24235", "FileManagerLib": "static-1.26733", "floating-ui": "static-1.5", "foundations-assets": "static-1.991", "foundations-components": "static-1.1804", "foundations-theming": "static-1.170", "framer-motion": "static-1.21", "graphql": "static-1.31", "growth-monetization-service-types": "static-1.964", "head-dlb": "static-1.1391", "HeadJS": "static-2.456", "history": "static-4.15", "hs-lodash": "static-4.9", "hs-promise-utils": "static-1.1430", "hs-story-utils": "static-1.4616", "hs-test-utils": "static-1.3754", "hub-http-janus": "static-1.509", "hub-http-rxjs": "static-1.479", "hubspot-dlb": "static-1.1019", "hubspotter-http": "static-1.1369", "HubStyle": "static-2.7620", "HubStyleTokens": "static-2.7310", "I18n": "static-7.1183", "i18n-data": "static-1.175", "icons": "static-2.577", "immer": "static-1.33", "immutable-less": "static-1.952", "jasmine": "static-4.719", "jasmine-runner": "static-1.2288", "laboratory-lib": "static-3.2771", "marketplace-ui-apps-core": "static-1.5824", "marketplace-ui-assets-core": "static-1.7232", "marketplace-ui-client-types": "static-1.4689", "marketplace-ui-common": "static-1.7285", "marketplace-ui-reviews": "static-1.7249", "marketplace-ui-solutions-core": "static-1.7263", "marketplace-ui-tracking": "static-1.1460", "moment-timezone": "static-5.17", "msw": "static-1.39", "nav-meta": "static-1.19965", "PatternValidationJS": "static-1.437", "quartz": "static-1.2695", "quick-fetch": "static-1.883", "react-aria": "static-1.7", "react-immutable-proptypes": "static-2.8", "react-input-autosize": "static-2.17", "react-rhumb": "static-1.11707", "react-router-dom": "static-5.26", "react-select-plus": "static-1.41", "react-utils": "static-2.2029", "react-virtualized": "static-2.26", "redux-thunk": "static-2.17", "ReduxMessenger": "static-2.6898", "reselect": "static-2.16", "rpc-client-utils": "static-1.932", "rxjs": "static-5.10", "salesImages": "static-1.479", "sanitize": "static-1.6", "sanitize-text": "static-1.4481", "sassPrefix": "static-1.110", "self-service-api": "static-1.6346", "SharedI18nStrings": "static-1.155", "signup-constants": "static-1.11155", "signup-ui-lego-core": "static-1.13167", "signup-ui-url-generator": "static-2.4203", "StyleGuideUI": "static-3.407", "superstore": "static-1.1106", "tanstack-table": "static-1.1", "testing-library": "static-1.102", "transmute": "static-2.29", "trellis-ecosystem": "static-1.993", "ts-schema": "static-1.800", "ui-addon-avatars": "static-2.5791", "ui-addon-i18n": "static-1.7085", "ui-addon-iframeable": "static-1.5341", "ui-addon-integrations-directory-panel": "static-2.4144", "ui-addon-react-router-dom": "static-1.5851", "ui-addon-upgrades": "static-9.12181", "ui-extensibility-client-types": "static-1.818", "ui-fonts": "static-1.322", "ui-images": "static-2.705", "ui-universal-auth": "static-1.3939", "UIComponents": "static-3.4261", "upgrade-management-service-types": "static-1.948", "urlinator": "static-1.924", "usage-tracker": "static-1.3242", "usage-tracker-core": "static-1.3092", "usage-tracker-hubtools": "static-1.3234", "usage-tracker-public": "static-1.3053", "video-data-lib": "static-1.21869", "webpack-env": "static-1.4", "wootric-nps": "static-1.3220", "apollo-stack-hubspot": "static-3.37", "chatspot-client-types": "static-1.4404", "chatspot-core": "static-1.6629", "copilot-toolkit": "static-1.809", "enviro": "static-4.247", "hub-http": "static-1.2184", "react": "static-7.123", "react-dom": "static-7.85", "styled-components": "static-2.40", "hs-promise-rejection-tracking": "static-1.1385", "PortalIdParser": "static-2.227", "raven": "static-3.1416", "raven-hubspot": "static-1.1723", "classnames": "static-2.10", "hoist-non-react-statics": "static-3.9", "hubspot-url-utils": "static-1.647", "immutable": "static-2.19", "metrics-js": "static-1.4861", "react-redux": "static-7.16", "redux": "static-4.16", "moment": "static-3.26", "bend-plugin-uicomponents": "static-1.390" }, depPathPrefixes: { "ecosystem-marketplace-apps-public-ui": "/ecosystem-marketplace-apps-public-ui/static-1.11232", "ai-components-ui-library": "/ai-components-ui-library/static-1.1924", "apollo-dlb": "/apollo-dlb/static-3.32", "atom": "/atom/static-1.1735", "autolinker": "/autolinker/static-3.11", "browserslist-config-hubspot": "/browserslist-config-hubspot/static-1.120", "cropperjs": "/cropperjs/static-1.10", "csstype": "/csstype/static-1.8", "cssUtils": "/cssUtils/static-1.308", "data-fetching-client": "/data-fetching-client/static-1.4863", "developer-experience-shared-components": "/developer-experience-shared-components/static-1.5853", "ecosystem-marketplace-apps-base": "/ecosystem-marketplace-apps-base/static-1.11236", "ecosystem-marketplace-core": "/ecosystem-marketplace-core/static-1.12409", "emoji-regex": "/emoji-regex/static-1.7", "feature-store-service-types": "/feature-store-service-types/static-1.957", "file-manager-components": "/file-manager-components/static-1.11084", "FileManagerCore": "/FileManagerCore/static-1.26589", "FileManagerImages": "/FileManagerImages/static-1.24235", "FileManagerLib": "/FileManagerLib/static-1.26733", "floating-ui": "/floating-ui/static-1.5", "foundations-assets": "/foundations-assets/static-1.991", "foundations-components": "/foundations-components/static-1.1804", "foundations-theming": "/foundations-theming/static-1.170", "framer-motion": "/framer-motion/static-1.21", "graphql": "/graphql/static-1.31", "growth-monetization-service-types": "/growth-monetization-service-types/static-1.964", "head-dlb": "/head-dlb/static-1.1391", "HeadJS": "/HeadJS/static-2.456", "history": "/history/static-4.15", "hs-lodash": "/hs-lodash/static-4.9", "hs-promise-utils": "/hs-promise-utils/static-1.1430", "hs-story-utils": "/hs-story-utils/static-1.4616", "hs-test-utils": "/hs-test-utils/static-1.3754", "hub-http-janus": "/hub-http-janus/static-1.509", "hub-http-rxjs": "/hub-http-rxjs/static-1.479", "hubspot-dlb": "/hubspot-dlb/static-1.1019", "hubspotter-http": "/hubspotter-http/static-1.1369", "HubStyle": "/HubStyle/static-2.7620", "HubStyleTokens": "/HubStyleTokens/static-2.7310", "I18n": "/I18n/static-7.1183", "i18n-data": "/i18n-data/static-1.175", "icons": "/icons/static-2.577", "immer": "/immer/static-1.33", "immutable-less": "/immutable-less/static-1.952", "jasmine": "/jasmine/static-4.719", "jasmine-runner": "/jasmine-runner/static-1.2288", "laboratory-lib": "/laboratory-lib/static-3.2771", "marketplace-ui-apps-core": "/marketplace-ui-apps-core/static-1.5824", "marketplace-ui-assets-core": "/marketplace-ui-assets-core/static-1.7232", "marketplace-ui-client-types": "/marketplace-ui-client-types/static-1.4689", "marketplace-ui-common": "/marketplace-ui-common/static-1.7285", "marketplace-ui-reviews": "/marketplace-ui-reviews/static-1.7249", "marketplace-ui-solutions-core": "/marketplace-ui-solutions-core/static-1.7263", "marketplace-ui-tracking": "/marketplace-ui-tracking/static-1.1460", "moment-timezone": "/moment-timezone/static-5.17", "msw": "/msw/static-1.39", "nav-meta": "/nav-meta/static-1.19965", "PatternValidationJS": "/PatternValidationJS/static-1.437", "quartz": "/quartz/static-1.2695", "quick-fetch": "/quick-fetch/static-1.883", "react-aria": "/react-aria/static-1.7", "react-immutable-proptypes": "/react-immutable-proptypes/static-2.8", "react-input-autosize": "/react-input-autosize/static-2.17", "react-rhumb": "/react-rhumb/static-1.11707", "react-router-dom": "/react-router-dom/static-5.26", "react-select-plus": "/react-select-plus/static-1.41", "react-utils": "/react-utils/static-2.2029", "react-virtualized": "/react-virtualized/static-2.26", "redux-thunk": "/redux-thunk/static-2.17", "ReduxMessenger": "/ReduxMessenger/static-2.6898", "reselect": "/reselect/static-2.16", "rpc-client-utils": "/rpc-client-utils/static-1.932", "rxjs": "/rxjs/static-5.10", "salesImages": "/salesImages/static-1.479", "sanitize": "/sanitize/static-1.6", "sanitize-text": "/sanitize-text/static-1.4481", "sassPrefix": "/sassPrefix/static-1.110", "self-service-api": "/self-service-api/static-1.6346", "SharedI18nStrings": "/SharedI18nStrings/static-1.155", "signup-constants": "/signup-constants/static-1.11155", "signup-ui-lego-core": "/signup-ui-lego-core/static-1.13167", "signup-ui-url-generator": "/signup-ui-url-generator/static-2.4203", "StyleGuideUI": "/StyleGuideUI/static-3.407", "superstore": "/superstore/static-1.1106", "tanstack-table": "/tanstack-table/static-1.1", "testing-library": "/testing-library/static-1.102", "transmute": "/transmute/static-2.29", "trellis-ecosystem": "/trellis-ecosystem/static-1.993", "ts-schema": "/ts-schema/static-1.800", "ui-addon-avatars": "/ui-addon-avatars/static-2.5791", "ui-addon-i18n": "/ui-addon-i18n/static-1.7085", "ui-addon-iframeable": "/ui-addon-iframeable/static-1.5341", "ui-addon-integrations-directory-panel": "/ui-addon-integrations-directory-panel/static-2.4144", "ui-addon-react-router-dom": "/ui-addon-react-router-dom/static-1.5851", "ui-addon-upgrades": "/ui-addon-upgrades/static-9.12181", "ui-extensibility-client-types": "/ui-extensibility-client-types/static-1.818", "ui-fonts": "/ui-fonts/static-1.322", "ui-images": "/ui-images/static-2.705", "ui-universal-auth": "/ui-universal-auth/static-1.3939", "UIComponents": "/UIComponents/static-3.4261", "upgrade-management-service-types": "/upgrade-management-service-types/static-1.948", "urlinator": "/urlinator/static-1.924", "usage-tracker": "/usage-tracker/static-1.3242", "usage-tracker-core": "/usage-tracker-core/static-1.3092", "usage-tracker-hubtools": "/usage-tracker-hubtools/static-1.3234", "usage-tracker-public": "/usage-tracker-public/static-1.3053", "video-data-lib": "/video-data-lib/static-1.21869", "webpack-env": "/webpack-env/static-1.4", "wootric-nps": "/wootric-nps/static-1.3220", "apollo-stack-hubspot": "/apollo-stack-hubspot/static-3.37", "chatspot-client-types": "/chatspot-client-types/static-1.4404", "chatspot-core": "/chatspot-core/static-1.6629", "copilot-toolkit": "/copilot-toolkit/static-1.809", "enviro": "/enviro/static-4.247", "hub-http": "/hub-http/static-1.2184", "react": "/react/static-7.123", "react-dom": "/react-dom/static-7.85", "styled-components": "/styled-components/static-2.40", "hs-promise-rejection-tracking": "/hs-promise-rejection-tracking/static-1.1385", "PortalIdParser": "/PortalIdParser/static-2.227", "raven": "/raven/static-3.1416", "raven-hubspot": "/raven-hubspot/static-1.1723", "classnames": "/classnames/static-2.10", "hoist-non-react-statics": "/hoist-non-react-statics/static-3.9", "hubspot-url-utils": "/hubspot-url-utils/static-1.647", "immutable": "/immutable/static-2.19", "metrics-js": "/metrics-js/static-1.4861", "react-redux": "/react-redux/static-7.16", "redux": "/redux/static-4.16", "moment": "/moment/static-3.26", "bend-plugin-uicomponents": "/bend-plugin-uicomponents/static-1.390" } });</script><script>(function() { const config = {options: {ignoreErrors: ["Could not identify the user"]}}; function configureSentry(t,o){t(o.dsnPublicKey?`https://${o.dsnPublicKey}@exceptions.hubspot.com/1`:"https://exceptions.hubspot.com/1",o.options)} hubspot.require(["raven-hubspot/configure"],(e=>{configureSentry(e,config)})); })();</script><meta name="viewport" content="width=device-width, initial-scale=1"/><meta http-equiv="content-language" content="en"/><title>HubSpot App Marketplace</title><meta name="author" content="HubSpot, Inc."/><link rel="shortcut icon" type="image/png" href="//static.hsappstatic.net/marketplace-ui-common/static-1.7285/img/HubSpot-Inversed-Favicon.png"/></head><body class="hubspot"><div id="placeholder-trial-banner"></div><div id="hs-nav-v4" class="nav-width-flex placeholder-nav"><div class="hs-nav-section main-nav"></div></div><div id="placeholder-vertical-nav"></div><div class="page"></div><script>__hsiplt('b',document.currentScript,"//static.hsappstatic.net/hubspot-dlb/static-1.1019/bundle.production.js")</script><script src="//static.hsappstatic.net/hubspot-dlb/static-1.1019/bundle.production.js" type="text/javascript" crossOrigin="anonymous" onload="__hsiplt('l',this)" onerror="__hsiplt('e',this)" data-hsiplt></script><script>__hsiplt('b',document.currentScript,"//static.hsappstatic.net/apollo-dlb/static-3.32/bundle.production.js")</script><script src="//static.hsappstatic.net/apollo-dlb/static-3.32/bundle.production.js" type="text/javascript" crossOrigin="anonymous" onload="__hsiplt('l',this)" onerror="__hsiplt('e',this)" data-hsiplt></script><script>__hsiplt('b',document.currentScript,"//static.hsappstatic.net/ecosystem-marketplace-apps-public-ui/static-1.11232/bundles/project.js")</script><script src="//static.hsappstatic.net/ecosystem-marketplace-apps-public-ui/static-1.11232/bundles/project.js" type="text/javascript" crossOrigin="anonymous" onload="__hsiplt('l',this)" onerror="__hsiplt('e',this)" data-hsiplt></script></body></html>