{"id":4405,"date":"2024-04-15T02:03:41","date_gmt":"2024-04-14T18:03:41","guid":{"rendered":"https:\/\/webflow.tenten.co\/?p=4405"},"modified":"2024-04-15T02:03:41","modified_gmt":"2024-04-14T18:03:41","slug":"establish-connections-in-hubspot-using-webflow-logic","status":"publish","type":"post","link":"https:\/\/webflow.tenten.co\/en\/establish-connections-in-hubspot-using-webflow-logic\/","title":{"rendered":"Establish connections in HubSpot using Webflow Logic"},"content":{"rendered":"\n<div class=\"docs_rich-text w-richtext\">\n<p>HubSpot is a widely-used Customer Relationship Management (CRM) system where you can monitor customer data and optimize sales and marketing strategies. By utilizing Logic, you can efficiently transfer contacts from a form submission to Hubspot and integrate your Webflow portal with your CRM.<\/p>\n<h6><strong>To begin:<\/strong> If you have not done so already, <a href=\"https:\/\/knowledge.hubspot.com\/get-started\/set-up-your-account\" target=\"_blank\" rel=\"noopener\">set up an account on HubSpot<\/a>. Additionally, ensure you have included a form on your Webflow site with fields that align with the required fields in HubSpot.<\/h6>\n<p>Within this tutorial, we will discuss:<\/p>\n<ol role=\"list\">\n<li>The process for generating your HubSpot API key<\/li>\n<li>Setting up the authentication for your Logic workflow<\/li>\n<li>Locating the HubSpot API documentation<\/li>\n<li>Configuring the HTTP request settings<\/li>\n<li>Testing and deploying your workflow<\/li>\n<li>Troubleshooting potential issues with your workflow<\/li>\n<\/ol>\n<h2>Generating your HubSpot API key<\/h2>\n<h6><strong>Keep in mind:<\/strong> HubSpot offers a choice between 2 <a href=\"https:\/\/developers.hubspot.com\/docs\/api\/intro-to-auth\" target=\"_blank\" rel=\"noopener\">authentication methods<\/a> (OAuth and private app access tokens). This guide focuses on the <strong>private app access tokens<\/strong> method.<\/h6>\n<ol role=\"list\">\n<li>Access your<strong> HubSpot account<\/strong> and proceed to <a href=\"https:\/\/developers.hubspot.com\/docs\/api\/private-apps#create-a-private-app\" target=\"_blank\" rel=\"noopener\">create a private app<\/a>, if not done already<\/li>\n<li>Select the <strong>Scopes<\/strong> tab and indicate the actions you intend to perform using this API key under the <strong>CRM<\/strong> dropdown (ensure to pick at least <strong>crm.objects.contacts.write<\/strong> to send contacts to Hubspot)<\/li>\n<li>Click<strong> Show token<\/strong> and copy your <strong>API key<\/strong><\/li>\n<\/ol>\n<h2>Configuring the authentication for your Logic workflow<\/h2>\n<ol role=\"list\">\n<li>Open your Webflow site in the Webflow Designer by launching a new tab<\/li>\n<li>Choose your form on the Designer canvas and access <strong>Form settings<\/strong><\/li>\n<li>Select the <strong>Source<\/strong> dropdown and opt for <strong>Logic<\/strong><\/li>\n<li>Click <strong>Add new flow<\/strong><\/li>\n<li>Name your new flow (e.g., \u201cEstablish connections in HubSpot\u201d) in the <strong>Name<\/strong> field and optionally add a description in the <strong>Description<\/strong> field<\/li>\n<li>Drag a <strong>Make HTTP request<\/strong> block to the flow editor canvas and assign a name (e.g., &#8220;Initiate new contact in HubSpot&#8221;)\u00a0<\/li>\n<li>From the <strong>Authentication<\/strong> dropdown menu, select <strong>API token<\/strong><\/li>\n<li>Choose <strong>Header<\/strong> from the <strong>Add to<\/strong> options<\/li>\n<li>Input \u201cAuthorization\u201d in the <strong>Header<\/strong> field<\/li>\n<li>Click <strong>Select a credential<\/strong> &gt; <strong>Add new credential<\/strong><\/li>\n<li>Name your API token (e.g., \u201cHubSpot API token\u201d) in the <strong>Name<\/strong> field and provide a description in the <strong>Description<\/strong> field if needed<\/li>\n<li>Enter \u201cBearer <strong>{API key}<\/strong>\u201d in the <strong>Token<\/strong> field, replacing <strong>{API key}<\/strong> with the copied API key from HubSpot<\/li>\n<li>Save your new credential by clicking <strong>Create<\/strong> and ensure to <strong>keep this tab open<\/strong>!<strong>\u00a0<\/strong><\/li>\n<\/ol>\n<h6><strong>Pro tip:<\/strong> Alongside, you can link your form to a new Logic workflow from the <strong>Logic panel<\/strong> &gt; <strong>Flows<\/strong> tab. Further insights about form submission triggers can be found in Logic.<\/h6>\n<figure class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\">\n<div><img decoding=\"async\" src=\"https:\/\/webflow.tenten.co\/wp-content\/uploads\/2024\/04\/64b94ce402162f5cc666f20c_63fe31183eb65b60f75273ba_lvfpatrjslczozz0lybcklszgx3seml9erjpich2bj1v5snch2n2djbgar7-k25qt1-fvir-4hqik1n_c6ym9hd99i5fm5ijb1eo5im0p6va8mbz4y4lxudhlbf8ur2ulvzwxuo4cnmttgbnbws2zf.png\" alt=\"Options to Add a new flow or Browse flows appear in Form settings when Logic is selected as the source.\" title=\"64b94ce402162f5cc666f20c_63fe31183eb65b60f75273ba_lvfpatrjslczozz0lybcklszgx3seml9erjpich2bj1v5snch2n2djbgar7-k25qt1-fvir-4hqik1n_c6ym9hd99i5fm5ijb1eo5im0p6va8mbz4y4lxudhlbf8ur2ulvzwxuo4cnmttgbnbws2zf\"><\/div><figcaption><em>The connection between a form and Logic can be established via Form settings, Form block settings, or from the <\/em><strong><em>Logic panel<\/em><\/strong><em> &gt; <\/em><strong><em>Flows<\/em><\/strong><em> tab.<\/em><\/figcaption><\/figure>\n<figure class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\">\n<div><img decoding=\"async\" src=\"https:\/\/webflow.tenten.co\/wp-content\/uploads\/2024\/04\/64b94ce402162f5cc666f218_63fe31187649185c4c62ed79_w3719u4-ep2tq-c1r5nxozfajfsx9zzatuuvallh6n6ztitdkto9m1oocurhowo9nakz6izm5yzlpqahhtypcbeyfoxhz5peg3tdvuisrph3a9-aha2fe3wtamd1mfj0xx3zpcp7mlwd65kg0zuuig.png\" alt=\"\u201cHeader\u201d is chosen in the Add to dropdown and \u201cAuthorization\u201d is entered in the Header input field.\" title=\"64b94ce402162f5cc666f218_63fe31187649185c4c62ed79_w3719u4-ep2tq-c1r5nxozfajfsx9zzatuuvallh6n6ztitdkto9m1oocurhowo9nakz6izm5yzlpqahhtypcbeyfoxhz5peg3tdvuisrph3a9-aha2fe3wtamd1mfj0xx3zpcp7mlwd65kg0zuuig\"><\/div>\n<\/figure>\n<figure class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\">\n<div><img decoding=\"async\" src=\"https:\/\/webflow.tenten.co\/wp-content\/uploads\/2024\/04\/64b94ce402162f5cc666f215_63fe3118fb1f0d1ad8a40b41_dl5qxnjdzflcam3r8ykpno59nuoeqmurdhpdugi2cchugupbmymciqbjqn6rmpcgo1ah64q4hcr0pko4jlgta3r3gpkuw8y-atkv74byopu-wdwwluiev3iousgfs-qdpg5vqjqwgmrjepiqanevgw.png\" alt=\"The \u201cNew credential\u201d modal window displays fields for the name, description, type, and value of an API credential.\" title=\"64b94ce402162f5cc666f215_63fe3118fb1f0d1ad8a40b41_dl5qxnjdzflcam3r8ykpno59nuoeqmurdhpdugi2cchugupbmymciqbjqn6rmpcgo1ah64q4hcr0pko4jlgta3r3gpkuw8y-atkv74byopu-wdwwluiev3iousgfs-qdpg5vqjqwgmrjepiqanevgw\"><\/div><figcaption><em>For APIs employing bearer authentication (e.g., HubSpot), remember to insert \u201cBearer\u201d before your API key in the <\/em><strong><em>Token<\/em><\/strong><em> field.<\/em><\/figcaption><\/figure>\n<h2>Locating the HubSpot API documentation<\/h2>\n<ol role=\"list\">\n<li>Visit the <a href=\"https:\/\/developers.hubspot.com\/docs\/api\/crm\/contacts\" target=\"_blank\" rel=\"noopener\">HubSpot API reference documentation<\/a><\/li>\n<li>Scroll down to <strong>CRM<\/strong> located in the left panel<\/li>\n<li>Navigate to <a href=\"https:\/\/developers.hubspot.com\/docs\/api\/crm\/contacts\" target=\"_blank\" rel=\"noopener\"><strong>Objects<\/strong> &gt; <strong>Contacts <\/strong>&gt;<strong> Create contacts<\/strong><\/a> and <strong>retain this tab open <\/strong>for guidance!<\/li>\n<\/ol>\n<h2>Configuring the HTTP request settings<\/h2>\n<p>After setting up your Logic flow and HubSpot authentication credentials, return to Webflow to define an HTTP request in your flow. The HTTP request configuration at this stage will establish a new contact in Hubspot upon each form submission by a visitor.<\/p>\n<h6><strong>Note:<\/strong> In case you closed the tab where your Webflow site was open, navigate to <strong>Logic panel<\/strong> &gt; <strong>Flows<\/strong> tab and select the flow created in the previous steps. Click on the <strong>Make HTTP request<\/strong> block on the flow editor canvas to open block settings and proceed with the following steps.<\/h6>\n<ol role=\"list\">\n<li>Choose <strong>POST<\/strong> from the <strong>Request method<\/strong> dropdown<\/li>\n<li>Paste \u201chttps:\/\/api.hubapi.com\/crm\/v3\/objects\/contacts\u201d in the <strong>URL<\/strong> field<\/li>\n<li>Click on the \u201cplus\u201d icon adjacent to <strong>Headers<\/strong> to add a new header<\/li>\n<li>Input \u201ccontent-type\u201d in the <strong>Name<\/strong> field and \u201capplication\/json\u201d in the <strong>Value<\/strong> field\u00a0<\/li>\n<li>In the <strong>Body<\/strong> field, paste the code snippet for <strong>creating contacts<\/strong> provided in HubSpot\u2019s <a href=\"https:\/\/developers.hubspot.com\/docs\/api\/crm\/contacts\" target=\"_blank\" rel=\"noopener\">API documentation<\/a> \u2014 it will resemble this (yet contain properties\n<li><\/li>\n<\/ol>\n<div class=\"w-embed\">\n<div class=\"code-block\">\n<pre class=\"code-block_body\"><code id=\"snippet1\" class=\"code-block_code\">\n    {\n        \"organization\": \"Biglytics\",\n        \"contact-email\": \"bcooper@biglytics.net\",\n        \"givenname\": \"Bryan\",\n        \"surname\": \"Cooper\",\n        \"telephone\": \"(877) 929-0687\",\n        \"webpage\": \"biglytics.net\"\n      }\n    <\/code><\/pre>\n<\/div>\n<\/div>\n<p>To proceed, you will have to incorporate live information into your HTTP request for collecting data from the submissions you receive via your forms:<\/p>\n<ol role=\"list\">\n<li>Erase the existing content from your HubSpot contacts, and position your cursor within the empty quotation marks in the <strong>Content<\/strong> section<\/li>\n<li>Choose the violet \u201c<strong>dot<\/strong>\u201d symbol and pick the corresponding dynamic form element (for instance, name, email, etc.)<\/li>\n<\/ol>\n<figure class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\">\n<div><img decoding=\"async\" src=\"https:\/\/webflow.tenten.co\/wp-content\/uploads\/2024\/04\/64b94ce402162f5cc666f20f_63fe3118dda69d21dfe90fe9_dti9kojewprblvwheqnxegliummnz0hxupidepkr8naqsf_aekje4c5nwft_qqjdtxfppadiyqoqjos0mjga7_lubfwip-d1bl6jqd0s9zi1kmqx-hij0u_uhp5usha882fy7zdvb0d512iexh_ydc.png\" alt=\"The Content section encompasses dynamic form components to fetch surname, given name, and contact email from form submissions.\" title=\"64b94ce402162f5cc666f20f_63fe3118dda69d21dfe90fe9_dti9kojewprblvwheqnxegliummnz0hxupidepkr8naqsf_aekje4c5nwft_qqjdtxfppadiyqoqjos0mjga7_lubfwip-d1bl6jqd0s9zi1kmqx-hij0u_uhp5usha882fy7zdvb0d512iexh_ydc\"><\/div>\n<\/figure>\n<figure class=\"w-richtext-align-fullwidth w-richtext-figure-type-image\">\n<div><img decoding=\"async\" src=\"https:\/\/webflow.tenten.co\/wp-content\/uploads\/2024\/04\/64b94ce402162f5cc666f21b_63fe3118a635d334f115f608_dbi1i8u_cib7lel_txtta3fx_aewss5ckjdqk42_kq1gy2kvf2nm-sxh2vtoutwzfou45dsujm0n1ietr-itv6vbo_d9tlh_5cmcfgx5qhcboxmsfaczblueblznglpsyh_gryfmayvuo1_wtjwf_e.png\" alt=\"The comprehensive HTTP request settings setup for transmitting data to Hubspot includes authentication process, request technique, URL, headers, and request body with variables for fetching data from the Webflow form.\" title=\"64b94ce402162f5cc666f21b_63fe3118a635d334f115f608_dbi1i8u_cib7lel_txtta3fx_aewss5ckjdqk42_kq1gy2kvf2nm-sxh2vtoutwzfou45dsujm0n1ietr-itv6vbo_d9tlh_5cmcfgx5qhcboxmsfaczblueblznglpsyh_gryfmayvuo1_wtjwf_e\"><\/div><figcaption><em>An entire POST request to Hubspot from Logic\u2019s Construct HTTP request block.<\/em><\/figcaption><\/figure>\n<h2>The procedure to test and release your sequence<\/h2>\n<ol role=\"list\">\n<li>Press <strong>Execute test to finalize configuration<\/strong><\/li>\n<li>Input test values into their appropriate fields<\/li>\n<li>Press <strong>Execute test<\/strong><\/li>\n<li>Tap on <strong>Terminate<\/strong> or <strong>Accept data<\/strong> to leave the test mode<\/li>\n<li>Click on <strong>Make public<\/strong><\/li>\n<li>Hit <strong>Prepare flow for publication<\/strong><\/li>\n<li>Proceed with publishing your website<\/li>\n<\/ol>\n<h6><strong>Tip: <\/strong>If you encounter an error notification during the test process, address the issues by following our problem-solving measures, and then repeat the aforementioned steps. Discover additional details about examining HTTP requests.<\/h6>\n<h2>Procedures for addressing concerns within your sequence<\/h2>\n<p>If you come across an error while testing your sequence, attempt the following measures:<\/p>\n<ul role=\"list\">\n<li>Verify that you have included \u201cBearer\u201d (along with a space) before your API key while configuring your credentials (e.g., Bearer 123456789)<\/li>\n<li>Inspect for any errors in your request body utilizing a cost-free tool like <a href=\"https:\/\/jsonlint.com\/\" target=\"_blank\" rel=\"noopener\">JSONLint<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"Use Logic\u2019s Make HTTP request block to create new contacts in HubSpot from Webflow form submissions.","protected":false},"author":2,"featured_media":5232,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"csco_display_header_overlay":false,"csco_singular_sidebar":"","csco_page_header_type":"","footnotes":""},"categories":[298],"tags":[],"class_list":{"0":"post-4405","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-logic","8":"cs-entry"},"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/posts\/4405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/comments?post=4405"}],"version-history":[{"count":0,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/posts\/4405\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/media\/5200"}],"wp:attachment":[{"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/media?parent=4405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/categories?post=4405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webflow.tenten.co\/en\/wp-json\/wp\/v2\/tags?post=4405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}