<?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 Re: How to Obtain a Token From a HubSpot CLI-Created App? in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1234083#M86115</link>
    <description>&lt;P&gt;Hi &lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/1021320"&gt;@matheus_lopesm&lt;/a&gt;&amp;nbsp;, totally fair questions. HubSpot uses similar words for things that behave very differently, so it’s easy to conflate them.&lt;/P&gt;
&lt;P&gt;A Custom Code Action runs code inside HubSpot’s workflow runtime. You paste Node.js in the UI, and HubSpot executes it for you. A Custom Workflow Action (the one you define in a Developer Project / via CLI) is not an “in-portal” code runner.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It’s a definition that makes HubSpot call your external actionUrl when the workflow step runs. So they don’t do the same thing, and you can’t replace a Custom Code Action with a Custom Workflow Action unless you’re comfortable hosting the logic yourself behind an HTTPS endpoint. HubSpot’s docs make this separation pretty explicit&amp;nbsp;and for Custom Code Actions&lt;/P&gt;
&lt;P&gt;(&lt;A href="https://developers.hubspot.com/docs/apps/developer-platform/add-features/custom-workflow-actions" target="_blank"&gt;https://developers.hubspot.com/docs/apps/developer-platform/add-features/custom-workflow-actions&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;(&lt;A href="https://developers.hubspot.com/docs/api-reference/automation-actions-v4-v4/custom-code-actions" target="_blank"&gt;https://developers.hubspot.com/docs/api-reference/automation-actions-v4-v4/custom-code-actions&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On the token piece: “private apps” created through Projects are not the same UX as the old Private App screen, and HubSpot generally will not show you a reusable access token for an OAuth style app because the model is different. If your project app is configured for OAuth, you don’t get a static token to copy. You obtain access tokens by installing the app into a portal and completing the OAuth flow, then storing the resulting token securely on your side.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you truly need a static token for server-to-server calls from a workflow custom code action, that’s still the classic Private App token created in the portal UI (Settings &amp;gt; Integrations &amp;gt; Private Apps). That token won’t appear inside the Developer Project “Auth” panel because it’s not part of the project app’s auth model.&lt;/P&gt;
&lt;P&gt;So the mental model is: Custom Code Action + Private App token is simplest for quick server-to-server calls. Custom Workflow Action + OAuth is the “real app” approach, but you’ll host the endpoint and handle token storage/refresh outside HubSpot. If you share whether your CLI-created app is OAuth or “static” auth in its hsmeta, I can point to the exact expected token path.&lt;/P&gt;</description>
    <pubDate>Mon, 15 Dec 2025 17:58:52 GMT</pubDate>
    <dc:creator>RubenBurdin</dc:creator>
    <dc:date>2025-12-15T17:58:52Z</dc:date>
    <item>
      <title>How to Obtain a Token From a HubSpot CLI-Created App?</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1232232#M85998</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Hello! I’m learning the HubSpot CLI, which is the local environment where I can upload projects and create apps, and I’d like to understand two things that weren’t clear to me when searching online, even after asking ChatGPT in several different ways:&lt;BR /&gt;&lt;BR /&gt;1. Workflows allow us to use Custom Code Actions directly in the UI. In that setup, I need to generate a private app (now called a Legacy app) and create a secret using the token from that private app. However, I saw that it’s also possible to create a Custom Workflow Action through the HubSpot CLI. Do both options do the same thing? From what I’ve researched, it seems that a Custom Workflow Action only collects workflow data to be executed by an external endpoint. So, is it possible to create an action that &lt;EM&gt;runs inside&lt;/EM&gt; the workflow as a Custom Workflow Action instead of using the UI-based Custom Code Action?&lt;BR /&gt;&lt;BR /&gt;2. I created a private app directly through the CLI. However, when I go to Developers &amp;gt; Projects &amp;gt; my project &amp;gt; my private app, I’m unable to see the token under “Auth.” I’d like to use the token from this CLI-created private app as the secret in my workflow that already uses a Custom Code Action, but I can’t find it anywhere. Do I need to create it in some other way?&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Tue, 09 Dec 2025 09:19:59 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1232232#M85998</guid>
      <dc:creator>matheus_lopesm</dc:creator>
      <dc:date>2025-12-09T09:19:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to Obtain a Token From a HubSpot CLI-Created App?</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1232252#M85999</link>
      <description>&lt;P&gt;Hi &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/1021320"&gt;@matheus_lopesm&lt;/a&gt;&lt;/SPAN&gt; and welcome, we are so glad to have you here! 🧡&lt;BR /&gt;&lt;BR /&gt;Thanks for reaching out to the HubSpot Community!&lt;BR /&gt;&lt;BR /&gt;Here are some resources that might help you:&lt;BR /&gt;&lt;BR /&gt;- &lt;A href="https://developers.hubspot.com/docs/apps/developer-platform/add-features/custom-workflow-actions" target="_blank"&gt;Define a custom workflow action&lt;/A&gt;&lt;BR /&gt;- &lt;A href="https://developers.hubspot.com/docs/api-reference/automation-actions-v4-v4/custom-code-actions" target="_blank"&gt;Workflows | Custom Code Actions&lt;/A&gt;&lt;BR /&gt;- &lt;A href="https://developers.hubspot.com/docs/apps/legacy-apps/private-apps/build-with-projects/create-private-apps-with-projects" target="_blank"&gt;Creating private apps with projects&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;I'd love to put you in touch with our Top Experts: Hi &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/601366"&gt;@sylvain_tirreau&lt;/a&gt;&lt;/SPAN&gt;, &lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/17186"&gt;@Anton&lt;/a&gt; and &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/1007207"&gt;@Christensen&lt;/a&gt;&lt;/SPAN&gt; do you have suggestions to help &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/1021320"&gt;@matheus_lopesm&lt;/a&gt;&lt;/SPAN&gt;, please?&lt;BR /&gt;&lt;BR /&gt;Thanks so much and have a brilliant day!&lt;BR /&gt;Bérangère&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2025 09:51:46 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1232252#M85999</guid>
      <dc:creator>BérangèreL</dc:creator>
      <dc:date>2025-12-09T09:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to Obtain a Token From a HubSpot CLI-Created App?</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1234083#M86115</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/1021320"&gt;@matheus_lopesm&lt;/a&gt;&amp;nbsp;, totally fair questions. HubSpot uses similar words for things that behave very differently, so it’s easy to conflate them.&lt;/P&gt;
&lt;P&gt;A Custom Code Action runs code inside HubSpot’s workflow runtime. You paste Node.js in the UI, and HubSpot executes it for you. A Custom Workflow Action (the one you define in a Developer Project / via CLI) is not an “in-portal” code runner.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It’s a definition that makes HubSpot call your external actionUrl when the workflow step runs. So they don’t do the same thing, and you can’t replace a Custom Code Action with a Custom Workflow Action unless you’re comfortable hosting the logic yourself behind an HTTPS endpoint. HubSpot’s docs make this separation pretty explicit&amp;nbsp;and for Custom Code Actions&lt;/P&gt;
&lt;P&gt;(&lt;A href="https://developers.hubspot.com/docs/apps/developer-platform/add-features/custom-workflow-actions" target="_blank"&gt;https://developers.hubspot.com/docs/apps/developer-platform/add-features/custom-workflow-actions&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;(&lt;A href="https://developers.hubspot.com/docs/api-reference/automation-actions-v4-v4/custom-code-actions" target="_blank"&gt;https://developers.hubspot.com/docs/api-reference/automation-actions-v4-v4/custom-code-actions&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On the token piece: “private apps” created through Projects are not the same UX as the old Private App screen, and HubSpot generally will not show you a reusable access token for an OAuth style app because the model is different. If your project app is configured for OAuth, you don’t get a static token to copy. You obtain access tokens by installing the app into a portal and completing the OAuth flow, then storing the resulting token securely on your side.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you truly need a static token for server-to-server calls from a workflow custom code action, that’s still the classic Private App token created in the portal UI (Settings &amp;gt; Integrations &amp;gt; Private Apps). That token won’t appear inside the Developer Project “Auth” panel because it’s not part of the project app’s auth model.&lt;/P&gt;
&lt;P&gt;So the mental model is: Custom Code Action + Private App token is simplest for quick server-to-server calls. Custom Workflow Action + OAuth is the “real app” approach, but you’ll host the endpoint and handle token storage/refresh outside HubSpot. If you share whether your CLI-created app is OAuth or “static” auth in its hsmeta, I can point to the exact expected token path.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Dec 2025 17:58:52 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/How-to-Obtain-a-Token-From-a-HubSpot-CLI-Created-App/m-p/1234083#M86115</guid>
      <dc:creator>RubenBurdin</dc:creator>
      <dc:date>2025-12-15T17:58:52Z</dc:date>
    </item>
  </channel>
</rss>

