Implement BookIt For Forms with Typeform

Have more questions? Submit a request

Content:

 

Overview and Things to Note

  • For BookIt for Forms to work with Typeform, your form must have a “Redirect to URL” ending
  • This tutorial will configure a calendar to display as a modal on a thank you page after a redirect from the form page.

Configuring Your Form

Adding Your Hidden Field

To start, please follow the instructions in Adding a Hidden Field in Typeform to add a hidden field to your form to capture the log id to send over to your created leads/contacts.

Configuring Your Form Page

Adding LeanData Code to Your Form Page

The next step is to add LeanData's code to your thank you page.

Assuming you already have your Typeform form embedded in your webpage (if you don’t, you’ll need to go to Share → “Embed in webpage” and follow the instructions there), you’ll have something similar to the following HTML element in your code. Note that this could also be a button.

<div data-tf-live="01FBHBEJKQ3NFWQI5FWIQ"></div>
<script src="//embed.typeform.com/next/embed.js"></script>

We’re going to have you make a few modifications to this. First, add the following HTML attribute to your element: ld-name="typeform"

Your code should look like this now:

<div ld-name="typeform" data-tf-live="01FBHBEJKQ3NFWQI5FWIQ"></div>
<script src="//embed.typeform.com/next/embed.js"></script>

Next, add the following script tag between the div and Typeform provided script tag.

<script>
//TODO: Define this...
var orgId = '<Org Id>';
var hiddenFieldName = '<Hidden Field Name>';

(function (orgId, hiddenFieldName) {
  let hiddenUID = `${orgId}_${Date.now()}_${Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)}`;
  let form = document.querySelector('[ld-name="typeform"]');
  form.setAttribute('data-tf-hidden', `${hiddenFieldName}=${hiddenUID}`);
  window.localStorage.setItem('LDBookItV2_tempSavedUID', hiddenUID);
})(orgId, hiddenFieldName)
</script>

You’ll need to configure this snippet by changing the parts of this code to the following (remember to remove the ‘<>’ brackets):

  • <Org Id> - Your 18 digit Salesforce Org ID. This will be for the Salesforce Org that has your live BookIt router graph or the one you would like to test on.
  • <Hidden Field Name> - The name you gave your hidden field in an earlier step (”ld_bookit_log_id” in the example)

Note: if you have additional hidden fields you are sending over to Typeform, you can add those in this line form.setAttribute('data-tf-hidden', ${hiddenFieldName}=${hiddenUID}); in the same format separated by commas (e.g. form.setAttribute('data-tf-hidden', ${hiddenFieldName}=${hiddenUID},hiddenField2=hiddenFieldValue2,...);)

 

Configuring Your Thank You Page

Adding LeanData's Code to Your Thank You Page

Add the following code anywhere in the HTML of your thank you page.

<script>
var _ld_scriptEl = document.createElement('script');
_ld_scriptEl.src = 'https://cdn.leandata.com/js-snippet/ld-book-v2.js';
_ld_scriptEl.addEventListener('load', function () {
  LDBookItV2.initialize('<Org Id>', '<Trigger Node Name>', '<Hidden Field Name>');
  LDBookItV2.setFormProvider('typeform');
  if (LDBookItV2.validateTempUID()) {
    LDBookItV2.saveFormDataFromURLParams();
    LDBookItV2.submit();
  }
});
document.body.appendChild(_ld_scriptEl);
</script>

You’ll need to configure this snippet by changing the parts of this code to the following:

  • <Org Id> - Your 18 digit Salesforce Org ID. This will be for the Salesforce Org that has your live BookIt router graph or the one you would like to test on.
  • <Trigger Node Name> - The name of the trigger node on your live BookIt router graph that you would like to enter the graph through. There will be instructions for the configuration of this in a later step, so for now just enter a name that describes the purpose of your form, like “Demo Request”.
  • <Hidden Field Name> - The name you gave your hidden field in an earlier step (”ld_bookit_log_id” in the example)

Creating Your Router Graph

Configuring Your Trigger Node

In your LeanData BookIt For Forms routing graph, double click on your trigger node.

Update the “Node Name” to the <Trigger Node Name> you defined in an earlier step.

 

Adding Your Field Mappings

Next, please follow the guide Setting Up Form Field Mappings for a Typeform Form to map values from entries in your form to variables that can be used in logic in your graph.

 

Configuring Your Router Graph

From here you can configure your routing graph and the rest of your LeanData BookIt instance with the help of LeanData's professional services team!

 

Articles in this section

Was this article helpful?
0 out of 0 found this helpful
Share