# Welcome to Storylane

New to interactive demos? This is a great place to start

* [What's Storylane?](#whats-storylane)
* [Our product lines](#our-product-lines)
* [Who's Storylane for?](#whos-storylane-for)

### 👉 What's Storylane?

Storylane is the [#1 rated demo automation software](https://www.g2.com/categories/demo-automation?tab=highest_rated) for GTM teams to build and share interactive demo experiences. We work with 5000+ B2B companies to simplify buying and selling for marketers, sales folk, and prospects.

### 👉 Our product lines

Storylane supports four product lines, each designed to improve the buying experience:

1. **Guided Demos:** step-by-step product walkthroughs, complete with hotspots, tooltips, presenter videos and voiceovers — perfect for self-guided demo experiences.
2. **Buyer Hub:** deal rooms to host demos, videos, PDFs, forms, all in one place — perfect to enable stakeholders and push middle of the funnel deals across the line.
3. **Sandbox Demos:** hands-on HTML/CSS demo environments — complete with responsive buttons, animations, and scrolls — perfect for light-weight product simulations.
4. **RepX:** conversational sales agents trained on your demos, sales calls, and knowledge base to engage with website visitors and qualify them.

### 👉 Who's Storylane for?

We work marketing, sales, customer success, and product management teams from SME, mid-market, and enterprise software companies. Here are a few of our most common use cases:

<details>

<summary>Storylane for Marketing</summary>

* **Website demos:** embed guided demos on your website to drive product education and qualified conversions
* **RepX (Conversational Sales Agent):** generate qualified leads for Sales by training RepX to automate early-stage product discovery for website visitors
* **Email campaigns:** attach demo links as part of your outreach efforts, newsletters, feature releases, etc.
* **Blogs and LPs:** embed demos to SEO and sponsored pages to drive on-page engagement and conversions
* **Events and conferences:** display demos at booths and devices (iPads, etc) to draw in foot traffic and leads
* **Marketplaces:** embed demos to your G2 product profile and other marketplaces to support prospect research

</details>

<details>

<summary>Storylane for Sales</summary>

* **Pre-call demos**: share guided demos and Buyer Hubs prior to live demo calls to provide basic product context, encourage advanced conversations, and accelerate sales cycles
* **Live demo calls:** avoid the risks associated with unpredictable production environments. Instead, present reliable, pre-curated sandbox demo environments during live calls
* **Leave behinds**: share personalized demos and Buyer Hubs after sales conversations to enable champions and the larger buying committee&#x20;

</details>

<details>

<summary>Storylane for Customer Success</summary>

* **Onboarding**: help customers onboard faster with instructional demos and demo playlists
* **Knowledge bases**: embed Storylane demos across your documentation for immersive product walkthroughs (Like we've done in the next few pages)

</details>

<details>

<summary>Storylane for Product Teams</summary>

* **Product change logs**: share quick interactive demos of your latest product/feature releases to drive awareness and adoption
* **Customer feedback**: Embed Storylane across Notion, Zendesk, Readme, Gitbook, Jira / Confluence, Webflow, etc to gather user feedback

</details>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Quick Start Guide

Ready to build your first demo? Create a Storylane account and follow these steps to get started!

1. [Record your demo](#record-your-demo)
2. [Edit your demo](#edit-your-demo)
3. [Share your demo](#share-your-demo)

***

### 👉 Record your demo

Storylane supports a number of ways to record product screens:

**1.** **Chrome extension (**<mark style="color:$success;">**Recommended**</mark>**)**

[Install Storylane's Chrome extension](https://chromewebstore.google.com/detail/storylane/ongmhighpnfpojfidgigcjflgdkjfdeb?pli=1) to record [Screenshot](/recording-demos/recording-screenshot-demos) (static) and [HTML/CSS](/recording-demos/recording-html-demos) (responsive) demos. If you're planning to create a Guided Demo, select an AI tone to generate contextual guide content.

<figure><img src="/files/4ZOTN0rJHt52hVvj5ld1" alt=""><figcaption></figcaption></figure>

**2. Alternate recording options**&#x20;

A few more options to record screens with Storylane:

* **Figma plugin:** [Download our Figma plugin](https://www.figma.com/community/plugin/1507703501417492521/storylane-turn-figma-into-ai-interactive-demos) to turn your Figma frames into interactive demos
* **Mac app:** [Download our Mac desktop app](https://www.storylane.io/desktop-app) to capture multi-window, non-web screens
* **Manual**: If you have existing screenshots and videos, drag and upload directly to Storylane
* **Video to demo (Coming soon):** Convert existing product videos into interactive demos!

***

### 👉 **Edit your demo**

Once you've finished recording your product screens, head over to Storylane to edit on-screen content, blur sensitive data, add guides, zooms, forms, triggers, tokens, videos, voiceovers, chapters, and more. Need help perfecting your demos? Just prompt our AI editor to make the changes you're looking for.

<figure><img src="/files/tZSNhNlwrq86k0p5cqtC" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
There's a lot you can do with Storylane's editor, especially with HTML/CSS demos. [Check it out here](/editing-demos/editing-html-screens)
{% endhint %}

***

### 👉 **Share your demo**

Once your demo is ready, share it with the world. Embed on your website, attach in email campaigns,  share Buyer Hubs, download demos for offline use, and more. Meanwhile, we're tracking everything: account engagement, demo metrics, and intent signals — pushed straight to your CRM and GTM stack.&#x20;

<figure><img src="/files/Ijc8AgLX1hbh1pJdnZTn" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Best Practices

A few tips and tricks to make the most of your demos

* [Pick the right type of demo for your needs](#pick-the-right-type-of-demo-for-your-needs)
* [Demo creation best practices](#demo-creation-best-practices)

***

### 👉 Pick the right type of demo for your needs

Once you have a rough idea of what you want your demo to look like, open up Storylane's extension and start recording. As you may already know, our extension supports a couple of types of demos:

<table data-header-hidden><thead><tr><th width="230.5">Demo type</th><th>Who's it for?</th></tr></thead><tbody><tr><td><strong>Screenshot Demo</strong></td><td><p>Choose this demo type if:</p><ul><li>You don't need to edit on-screen HTML elements or content (such as in-app text, names, logos, etc)</li><li>You're looking to create quick self-guided demos <br>(Not sandbox demo environments) </li></ul></td></tr><tr><td><strong>HTML Demo</strong></td><td><p>Choose this demo type if:</p><ul><li>You need to edit on-screen HTML elements or content</li><li>Need a responsive, life-like product demo experience</li></ul></td></tr></tbody></table>

***

### 👉 Demo creation best practices

Here are a few questions to think about before building your demos and Buyer Hubs

* Who is your audience? Use their vocabulary. Avoid internal language or tech jargon.
* What are those 3-5 "Aha!" moments you want to showcase from your product?
* What's your primary CTA for users? Eg: start trial, request demo, check out pricing, etc.
* How long should your demo be? We typically recommend limited demos to under 12 steps.
* Do you plan to gate your demo? If so, what's a strategic demo step to place the form in?

{% tabs %}
{% tab title="Guided Demos" %}

* **Keep your demos short** \
  We recommend limited your demos to between 8-12 steps. If you need to more, consider splitting your demo into [chapters](/editing-demos/chapters-and-convert-cta).
* **Build a story, not a demo**\
  To create engaging demos, avoid dry "how to" style product walkthrough content. Instead, create compelling narratives that address relevant pain points and use cases.
* **Have an eye-catching opening**\
  Start your demo with something that sparks your prospects' interest. It could be a fun welcome message, a relevant image/meme, or a video to hook visitors in.
* **Capture the lead**\
  If you want to track who’s going through your demo, make sure you [capture leads](/analytics-and-performance/capture-leads) by asking the viewer for their email address or passing the email address as a UTM parameter.
* **Have a CTA**\
  Include a distinct call-to-action button that guides the viewer to take desirable next steps (Book a demo, start free trial, check out pricing, etc.)
* **Have a secondary CTA**\
  To ensure maximum exposure to your call-to-action (CTA), sprinkle in CTAs in the middle of your demo to encourage prospects to take next steps. &#x20;
* **Adopt brand color**\
  You can use the custom theme feature to change the color of all your guides at once to align with your branding.
* **Multiple links for a demo**\
  To track the performance of a demo in various locations, generate [multiple links](https://docs.storylane.io/sharing-demos/demo-link-sharing#:~:text=Additional%20Personalized%20Links)[ ](/sharing-demos/share-link#additional-custom-links)for it.
* **Reuse stories**\
  You can reuse stories in [two ways](/account/managing-demos): copying screens from one demo to another or duplicating the entire demo.
* **Track engagement**\
  Examining the [analytics](/analytics-and-performance/tracking-and-analyzing) of your shared or embedded demo provides crucial insights for enhancing it.
* **Bored?**\
  By this point, you’re probably bored by our best practices and advice. Thus, this is a second reminder to keep your demo story short. :)
  {% endtab %}

{% tab title="Buyer Hub" %}

* **Limit your Buyer Hub to 8-10 assets**\
  Buyer Hub is a great way to share multiple enablement assets in one place. That being said, to ensure ease of use and consumption, prioritise the top 8-12 assets to surface per Hub.&#x20;
* **Use Buyer Hub's&#x20;*****Buyer Enablement***\
  Group your Buyer Hub content by sections so users can pick what matters most to them.
* **Organize your Buyer Hub**\
  Organize your buyer hub by products, use cases, personas, etc. for better navigability
* **Mix formats**\
  With Buyer Hub, mix multiple asset types: demos, PDFs, videos, embeds, etc in one place. Also, keep your content unique: avoid adding similar content in multiple formats.
* **Keep PDFs short**\
  If you're sharing PDF resources, ensure they're short. We typically recommend 1-pagers.
* **Pick the right layout**\
  For sales use cases (leave behinds, champion enablement, etc), we recommend using the Playlist layout for Buyer Hub. For marketing use cases, consider the Gallery layout.
* **Use videos and voiceovers**\
  We encourage using videos and voiceovers (either AI generated or self-recorded) across the length of the Buyer Hub to ensure an engaging, personalized experience for your prospects
  {% endtab %}

{% tab title="Sandbox Demos" %}

* Keep your PoC demos (relatively) short: We recommend no more than 200 screens
* Use Storylane's [auto-capture feature](/recording-demos/recording-html-demos#html-capturing-methods) to link screens automatically
* Link screens from outside your product (integrations, pricing, trust center, etc)
* For live demos, use presenter notes to ensure smooth product walkthroughs
* For leave behinds, combine sandbox demos with guided flows
  {% endtab %}
  {% endtabs %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Recording Screenshot Demos

The fastest way to create interactive demos

* [Screenshot demo overview](#screenshot-demo-overview)
* [How to capture screenshot demos](#how-to-capture-screenshot-demos-now-with-ai)
* [Advance recording setting](#advance-recording-settings)

### 🖼️ Screenshot demo overview

With screenshot demos, Storylane captures images (screenshots) with each click along your recording flow. Screenshot demos are perfect to build quick, guided demos that *do not require on-screen edits.*

* **Build faster demos** - Screenshot demos are typically much quicker to capture, create, and load
* **Multi-media** **support** - Screenshot demos support images, videos, and GIFs for more flexibility
* **Zoom and blur** - Screenshot demos support zoom and blur to focus attention and anonymize PII
* **Multi-window support** - With screenshot demos, capture screens across different tabs and windows

### 📸 How to capture screenshot demos (Now with AI!)

1. Open the product screen you want to capture
2. Launch Storylane's Chrome extension
3. Select **Screenshot demo**
4. Toggle "Add content with AI" to auto-generate guides
5. Select **“Record new demo”** or **“Add to existing demo”**
6. Click through your product screens, each step is auto-captured
7. Select **Finish recording** once you've capture your screens
8. Your full flow opens in preview mode, ready for editing!

{% hint style="info" %}
Need a little help with storytelling? Let Storylane's AI help. Toggle "Add content with AI", select an AI tone, and click around to capture your product. We'll automatically generate contextual guides based on your clicks!
{% endhint %}

{% @storylane/embed subdomain="app" linkValue="1rglpvszzx16" url="<https://app.storylane.io/share/1rglpvszzx16>" %}

### ⚙️ Advance recording settings

A few useful tips to level-up your demo recording game:&#x20;

1. **AI Tones**: Pick a tone based on your use case to generate contextual guides based on your clicks.&#x20;
2. **Auto zoom**: Select the gear icon and toggle "Auto zoom" to automatically focus your viewers' attention on key areas of your product screen (this can always be added manually in the editor too)
3. **Video movements:**  Trying to capture your product in motion? Toggle "Record video movements" to automatically record clips of product moment (you can alway add your own video clips in post too)&#x20;
4. **Video screens:** Add external videos (mov, .mp4 files, etc.) to your screenshot demos. To add videos to a new demo, select "Create demo" in the Storylane dashboard and upload video files of your choice. For existing demos, head to the Storylane editor > select "Add step" > Select the "Video" tab > and upload video files of your choice. You may also trim, speed up, and mute/unmute the video in the editor.

<figure><img src="/files/7V97Wmhkp31FJCmdqdyF" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Recording HTML Demos

Create responsive, editable interactive demos. HTML demos are available Growth plan onwards.

* [HTML demo overview](#html-demo-overview)
* [How to capture HTML screens](#how-to-capture-html-screens-now-with-ai)
* [HTML capturing methods](#html-capturing-methods)
* [Capturing HTML for multiple tabs](#how-to-capture-html-screens-from-multiple-tabs)
* [Advanced recording settings](#advanced-settings)

### 💻 HTML demo overview

With HTML demos, Storylane records a responsive, editable HTML/CSS replica of your product UI, including buttons, scrolls, and interactions — perfect to build personalized demo environments.

* Capture the look, feel, and interactions of the actual product
* Edit text, data, charts, graphics, and other HTML elements
* Edit HTML elements with AI prompts (no dev dependency)&#x20;
* Blur, edit, or delete sensitive/confidential data and PII
* Add text/image tokens to personalize demos at scale (for example: {FirstName})&#x20;
* Insert media, adjust layouts, and add effects (typewriter, text triggers, etc.)

### 📸 How to Capture HTML Screens (Now with AI!)

1. Open the product screen you want to capture
2. Launch the Storylane Chrome extension
3. Select **“HTML”** under "Demo type"
4. Toggle "Add content with AI" to auto-generate guides
5. Select “Record new demo” (or “Add to existing demo”)
6. Choose your preferred [**capture method**](#html-capturing-methods) (explained below).
7. Once you've recorded your screens, select **Finish Recording**
8. Your demo opens in Storylane to edit screens and add guides

{% hint style="info" %}
Need a little help with storytelling? Let Storylane's AI help. Toggle "Add content with AI", select an AI tone, and click around to capture your product. We'll automatically generate contextual guides based on your clicks!
{% endhint %}

{% @storylane/embed subdomain="app" linkValue="d7h8qoqynzgn" url="<https://app.storylane.io/share/d7h8qoqynzgn>" %}

## 🖥️ How to capture HTML screens from multiple tabs?

Storylane captures the active tab. If you would like to capture HTML screens from multiple tabs:

1. Close the extension in current tab.
2. Go to another tab, open the extension and Choose "Add to Existing Demo"
3. Pick your recent demo and "start recording"
4. This will add screens from the new tab to same demo.

{% embed url="<https://demo.storylane.com/share/qz3kocn7htof>" %}

### ⚙️ HTML capturing methods

Pick from three HTML capturing methods, based on your preference:

<div align="left"><figure><img src="/files/YG4tRgZtnFGE5YSzkzPT" alt="" width="375"><figcaption></figcaption></figure></div>

### 🧑‍🔬 Advanced Settings

**AI demo creation + AI tones**:&#x20;

* Toggle "Add content with AI" and pick a tone
* Storylane will generate contextual guide content based on your clicks

**Rename screens**

* Prompted to name each screen after capture
* Helps you stay organized in the editor

**Auto link screens**

* Automatically links buttons to the next captured screen
* Saves time when building click-through flows

<div align="left"><figure><img src="/files/BiNJxmlNEH5SBUXCBL2G" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Other Recording Options

Whether you're working outside your browser, showcasing desktop/mobile apps, or turning Figma mockups into clickable experiences, Storylane supports multiple recording options

* [Media to Demo](#id-1.-media-to-demo)
* [Mac App](#id-1.-mac-app)
* [Windows App](#id-2.-windows-app)
* [Figma Plugin](#id-3.-figma-plugin)
* [Mobile Demos](#id-4.-mobile-demos)
* [Manual Upload](#id-5.-manual-upload)

### **1. Media to Demo**

Turn any product media into an interactive demo - without rebuilding it from scratch.

Upload any video or images, and Storylane's AI will analyze the content, split it into steps, add guides, and optionally generate a voiceover. The result is a fully structured interactive demo ready to share or edit.

{% @storylane/embed subdomain="app" linkValue="vv0vhhmtwfag" url="<https://app.storylane.io/share/vv0vhhmtwfag>" %}

👉 **Plans and credits**

Video to demo uses credits. The number of conversions available depends on your plan - higher plans include more credits.

{% hint style="info" %}
Exact credit limits per plan are being finalized and will be updated soon.
{% endhint %}

👉 **What makes a good source video**

* Clear screen recordings with visible UI interactions
* Consistent pacing - avoid long pauses or jump cuts
* A single focused workflow per video (one feature, one use case)
* Narration helps the AI generate more accurate step text

Recorded a demo call or product walkthrough with Gong, Zoom, or Loom? \
Export it as MP4 and use it here to turn it into a shareable interactive demo.

### **2. Mac App**

With the **Storylane Mac app for desktop**, you’re no longer limited to browser-based recording. Capture any screen, any app, any workflow — perfect for multi-app navigation and non-web product demos.

#### **Getting started**

1. **Download and install** – Grab the [**Storylane Mac App**](https://www.storylane.io/desktop-app) for desktop
2. **Start recording** – Launch the app and begin recording your screens
3. **Create as usual** – Edit your demos in Storylane's editor and share&#x20;
4. **Add to existing demo** - You can now add screens to your existing demo directly from the Storylane app.

Ready to see it in action? Try this **interactive demo** below! 👇

{% @storylane/embed subdomain="app" linkValue="ltrq1gundqac" url="<https://app.storylane.io/demo/ltrq1gundqac>" %}

### 3. **Windows App**

The **Storylane Windows app** for desktop is built for Windows users who want to capture demos beyond the browser. Record any screen, any desktop app, any workflow - ideal for showing multi-step processes or software that runs natively on Windows.

**Getting started**

1. **Download and install** – Install the [**Storylane Windows app**](https://www.storylane.io/desktop-app) directly on your PC.
2. **Start Recording** – Capture screens across desktop apps and workflows seamlessly.
3. **Edit and share** – Back in Storylane, fine-tune your demo with AI, personalize every step, and share with your audience.
4. **Add to existing demo** - You can now add screens to your existing demo directly from the Storylane app.

{% @storylane/embed subdomain="app" linkValue="xlggoiwk3yab" url="<https://app.storylane.io/share/xlggoiwk3yab>" %}

### **4. Figma Plugin**

Turn your Figma designs into interactive demos with [Storylane’s Figma plugin](https://www.figma.com/community/plugin/1507703501417492521/storylane-turn-figma-into-ai-interactive-demos). This is a great way to validate ideas before writing a single line of code. Instead of waiting weeks for dev cycles, share clickable mockups with voiceovers, guides, and CTAs to gather real feedback and engagement data.

#### **How it works**

1. [Install the plugin](https://www.figma.com/community/plugin/1507703501417492521/storylane-turn-figma-into-ai-interactive-demos)
2. Export frames
   1. All frames \[<mark style="color:$success;">Recommended</mark>]
   2. Or only selected frames
3. Select create new demo and you're all set!

<figure><img src="/files/TSDjkcBjIO1fi5qnbcVg" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Ensure that every image and video added to your demo share identical dimensions for optimal appearance.&#x20;
{% endhint %}

### **5. Mobile Demos**

There are a few ways to capture mobile apps and screens for your interactive demos. Here's a rundown:&#x20;

#### 👉 <mark style="color:$success;">\[Recommended]</mark> **Screen Share or Wired Connection**

* Connect your mobile device to your Mac using **screen share** [(iPhone Mirroring)](#using-iphone-mirroring-mac-iphone) or a **wired connection**
* Record mobile screens directly from your desktop/laptop using Storylane’s desktop app

#### 👉 **Using iPhone Mirroring (Mac ↔️ iPhone)**

<sup>***Best for capturing clean, smooth demos of your mobile app.***</sup>

To use iPhone Mirroring, make sure your devices meet all Apple requirements:

* **Mac:** Apple silicon or Apple T2 chip, running **macOS Sequoia 15+**
  * Live Activities requires **macOS Tahoe 26+**
* **iPhone:** iOS **18+** with a passcode enabled
* Both devices signed into the **same Apple ID** with **two-factor authentication**
* **Bluetooth + Wi-Fi** on for both devices
* iPhone must be **locked and near your Mac** (charging + StandBy also works)
* Mac cannot be using **Internet Sharing, AirPlay, or Sidecar**
* iPhone Mirroring must be available in your **region**
  * *Note: Currently unavailable in the EU*

Once enabled, open the **iPhone Mirroring** app on your Mac and begin capturing as usual.&#x20;

Here's a quick walkthrough:

<div data-full-width="false"><figure><img src="/files/VFJmG3YRtno1BfzY5jKv" alt="" width="563"><figcaption></figcaption></figure></div>

#### 👉 **Mobile-friendly view from a web browser:**

If your product is mobile-responsive and can be viewed in a desktop browser, you can capture a mobile-sized view directly from your laptop.\ <sup>***(Example: Viewing Airbnb.com in mobile view from Chrome.)***</sup>

{% embed url="<https://www.loom.com/share/bd0847e5227d4054a9d094ee6d3cf9c5?sid=7a51d550-614e-4982-8f4b-2a73d64590d4>" %}

#### 👉  Manual screenshot + upload

* Take screenshots directly from your mobile device
* Upload screenshots to Storylane to create your demo

### **6. Manual upload**

You can always directly upload screenshots, videos, and GIFs directly into Storylane as shown below. Manual upload is a great option if you're using non-Chromium browsers like Microsoft Edge, Firefox, or Opera. Note that manual upload is not applicable to HTML demos, only screenshot demos.

<figure><img src="/files/BIxfcNNPoH9SKc3z7PjP" alt=""><figcaption></figcaption></figure>

This is particularly useful in scenarios where you may not have direct access to live product screens you want to capture.&#x20;

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Editing Screenshot Screens

Storylane supports a range of editing features for screenshot demos. Here's the rundown.

* [Blur Screen](#blur-screen)
* [Crop Screen](#crop-screen)
* [Annotate](#annotate)
* [Track & Zoom](#track-and-zoom)
* [Replacing Background Screen](#replacing-and-updating-background-screen)
* [Screen Layout](#screen-layout-cover-fit-and-fill)
* [Demo Frame](#demo-frame-fix)

### 👉 Blur Screen

Blur sensitive information and protect PII

1. Click on "Edit Screen" in the editor
2. Select "Blur" and draw a region to shade
3. Set the blur intensity level
4. You can also now have the option to add it to all the steps
5. Hit the "Save" button and you're all set
6. To undo a blur, click the trash icon in the top center of the blurred area.

<figure><img src="/files/i8Iru0zQOlQxejsciyyT" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/AyWJKiY2EVDWYIIgwCqA" alt=""><figcaption></figcaption></figure>

### 👉 Crop Screen

Crop screens to maintain consistent aspect ratios

1. Click on "Edit Screen" in the editor
2. Select "Crop" and make desired changes
3. You can also now have the option to add it to all the steps
4. Hit "Save" and you're all set
5. To undo a crop, expand handles to initial area

<figure><img src="/files/y5mOW61NwCZjN2AERHlO" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Tip: Keep the 'lock aspect ratio to match the demo size' box checked ☑️, to maintain the aspect ratio same as the demo size.
{% endhint %}

### 👉 Annotate

Annotate demo screens with markers, text, and paths

1. Click on "Edit Screen" in the editor
2. Select "Annotate" in the pop-up menu
3. Make desired edits with available tools, and now you can annotate all your screens at one go
4. Hit "Save' and you're all set
5. To undo, select the annotation and delete

<figure><img src="/files/N5fYQXzhZxv4WZgob2q7" alt=""><figcaption></figcaption></figure>

### 👉 Track & Zoom

Direct your audience’s focus to specific parts of your product

1. Select the screen you want to add zooms to
2. Select the "Track & Zoom" option in the header&#x20;
3. Set the zoom position and percentage&#x20;
4. To delete, select the trash can icon

<figure><img src="/files/7xa1DyE7GL3dRlLggShN" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2olt40HS8173Wh1CWkKl" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Note: The zoom is anchored to the ***guide***. To adjust the zoom area, drag and drop the guide. The guide will follow
{% endhint %}

### 👉 Replace background screens

**Same** guide, different background screen:

1. Click on "Replace Background" (either in the header or guide editor)
2. Select the screen you'd like to replace the current screen with&#x20;
3. Select the "Replace" button and you're all set

<figure><img src="/files/UxSqOyYKlTypzLK08BhF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/rT3G07bMXcLEFkciWCQV" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3MFDdo5bHVocGuTnbaur" alt=""><figcaption></figcaption></figure>

### 👉 Screen layout (cover, fit, and fill)

Screen layout helps you display images, screenshots, and demo screens of various sizes seamlessly within your demo, ensuring they fit perfectly regardless of their original dimensions. In the Demo Editor, Cover, Fit, and Fill are accessible from the left-side toolbar, and there are 4 options:

* **Cover**: expands the image to cover the entire demo area, slightly cropping the edges if necessary.
* **Fit**: Scales the content to fit the demo's width or height without cropping, adding padding to maintain the full view where necessary.
* **Fill** mode: The current logic when capturing demos, filling out the demo area.
* **Different aspect ratio**: When prompted, it lets you set the current screen’s aspect ratio as the default for your entire demo. This is useful if the current screen’s layout best fits your content, allowing all screens to align with this shape.

{% hint style="info" %}
TIP: For demos with both landscape and portrait images/screens, it’s best to set the aspect ratio to the landscape. This way, portrait images can fit within the wider frame more easily, while a portrait aspect ratio would cut off the sides of landscape images.
{% endhint %}

### 👉 Demo Frame

We offer a few options to customize the frame your demo sits in:&#x20;

* Choose between dark and light modes (toggle in top right of frame)
* Enable fullscreen mode by setting a frame color in Demo Settings&#x20;

<figure><img src="/files/KIhStImx5HhizC1FZ3lI" alt=""><figcaption></figcaption></figure>

### 👉 Download Screens

Download any screen directly from your demo library:

1. In the editor, click **"Add Step."**
2. Select **"From Library"**
3. Hover over the screen you want to download and click the **three dots (⋯)**
4. Select **"Download"**

<div align="left"><figure><img src="/files/lYoijiChdqrzHIdQOaAn" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Editing HTML Screens

Storylane's HTML demos enable powerful code-free editing capabilities, made even better with AI

* [Edit HTML Elements + AI Editing](#edit-html-elements--ai-editing)
* [Anonymize Elements](#anonymize-elements)
* [Embed Content](#embed-content)
* [Global Search & Replace](#global-search-and-replace)
* [Typewriter Effect](#typewriter-effect)
* [Text Triggers](#text-triggers)
* [Copy/Paste Elements](#copy-paste-elements)
* [Screen interaction hints](#screen-interactions)

***

### 👉 **Edit HTML elements + AI editing**

HTML demos provide great control over demo environments, here's what you can edit:

* **Edit text** - Select any text element and make inline edits
* **Replace Images** - Select logos/images and update media straight from your library
* **Graphs / Charts** - Edit graphs and charts when they are captured in SVG format.
* **AI editing** - Need help editing your HTML demo? Just prompt our AI editor to make it happen — no developer dependency needed.

<figure><img src="/files/ZzhF9hwNmUoBpk36jxwJ" alt=""><figcaption></figcaption></figure>

***

### 👉 **Anonymize Elements**

Need to anonymize certain aspects of your product screens? Here are a few ways to go about it:&#x20;

* **Blur elements** - Click on any element and blur the content — useful to protect sensitive data/PII
* **Hide elements** - Useful if you want to remove an element but don't want the screen to auto-align. This also gives you the option to "un-hide" the element at a later point.
* **Delete elements** - Remove elements from your screen and auto-adjust screen alignment.&#x20;

<div align="left"><figure><img src="/files/R901NR1J9DJWwRb7ZjrT" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 👉 **Embed Content**

Customize your demos by embedding external content&#x20;

* Click on the element you would like to embed with new content
* Select "Embed content" in the menu and pick your content. We support:
  * Videos / GIFs / Audio / PDFs
  * Media players (Youtube/Vimeo/Loom, etc), maps, charts, etc.

<div align="left"><figure><img src="/files/CQNDh0g8djRkTLM9WFY3" alt=""><figcaption></figcaption></figure></div>

***

### 👉 **Global Search & Replace**

Search and replace will list the total matches found on each screen allowing you to verify and replace them.&#x20;

* Select the "Search Content" 🔍 icon in the tool bar
* Enter *search* and *replace with* strings
* Review and confirm the replacement

<div align="left"><figure><img src="/files/ojLemycgNUVhONWPTlLC" alt="" width="350"><figcaption></figcaption></figure></div>

***

### 👉 Typewriter Effect

The typewriter effect in the HTML demo enhances the viewing experience by mimicking real-time writing, creating more interactive and engaging demos for users.

* Select the text element you'd like to add the effect to
* Click on the 3-dots menu
* Select **Typewriter Effect**
* Confirm your typing speed
* Hit save and you're set

***

### 👉 Text Triggers

Adding a text trigger to an HTML demo is a great way to engage your user and demonstrate your product. There are two ways to add them based on your use case - in the guided experience, or the clickable experience.

<figure><img src="/files/3CfKPUHfxvSnA8Z5NyQf" alt=""><figcaption></figcaption></figure>

Try Interactive Demo Yourself 👇&#x20;

{% @storylane/embed subdomain="app" linkValue="akebmutohi9i" url="<https://app.storylane.io/share/akebmutohi9i>" %}

***

### 👉 **Copy / Paste Elements**

A handy feature to quickly clone or replace your HTML elements

* Select on the desired element and click on the three dots
* Select "Copy Element"&#x20;
* Select the element you would like to update&#x20;
* &#x20;And select "Paste Element".

<div align="left"><figure><img src="/files/MNkGbivlIarhvGb7tW5Q" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you made any mistake during the editing of your screen, you can click on the **undo** icon to revert changes.
{% endhint %}

### 👉 Screen interactions

HTML Editor Glow-Up! Now you can jazz up clickable areas with custom colors to make them pop against your product's interface. Give your UI a fresh, eye-catching look with just a few tweaks!

<figure><img src="/files/WQyEWoPJr0ki1FmRi1CL" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# AI HTML Editor

See how Storylane's AI HTML Editor lets you update your demo screens directly — just describe what you want, and the AI handles the edits.

{% @storylane/embed subdomain="app" linkValue="eg754dxjqdfu" url="<https://app.storylane.io/share/eg754dxjqdfu>" %}

***

#### **👉 How it works**

1. Open any HTML demo and click **Edit with AI** to get started
2. **Choose the screen** you want to update — you can target any page in your demo
3. **Select the element** you want to edit or enhance. The AI focuses on exactly what you've selected
4. **Start your conversation with the AI** — describe what you want to change: rewrite copy, adjust tone, swap out text, update colors and spacing, or restyle elements to change how the screen looks. Since HTML demos capture your actual product screens, the AI can edit that content directly — no need to go back to the source. The AI takes it from there.
5. Watch the AI rewrite that element on the spot based on your instruction

***

#### **👉 Apply across screens**

Happy with the result? The changes reflect immediately. If you want the same edit applied across other screens, do it in one click — no need to repeat the process for each screen.

***

#### **👉 Accept or discard**

Review the final output and either **Accept** to lock in the changes, or **Discard** to start over. Full control, every step of the way.<br>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Adding and Editing Guided Steps

Guides form the foundation of interactive demos and product tours.

* [Guide options](#guide-options)
* [Adding guides](#adding-guided-steps)
* [Editing guides](#editing-guided-steps)

### 👉 Guide options

Here’s a list of guides that Storylane supports, along with details on how each one works. Note that you can only add one guide per step.&#x20;

| Guide options                           | How it works                                                                                                                                                                                                                                                                                                | Examples                                                                                                                               |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| <ol><li>Hotspots</li></ol>              | Pulsating spots designed to draw attention to key parts of your demo. Hotspots may be accompanied by text as well.                                                                                                                                                                                          | <div><figure><img src="/files/Js7O2tyGBxvf1bQdkufs" alt=""><figcaption><p>Clari - Customer Example</p></figcaption></figure></div>     |
| <ol start="2"><li>Tooltips</li></ol>    | Combine tooltips with backdrops to guide users through complex work flows.                                                                                                                                                                                                                                  | <div><figure><img src="/files/CK0e1EBbfnlx6E9kl1uh" alt=""><figcaption><p>Gong - Customer Example</p></figcaption></figure></div>      |
| <ol start="3"><li>Text modal</li></ol>  | Text modals used to introduce your demos or summarize key points. Consider using them at the start or end of your demo.                                                                                                                                                                                     | <div><figure><img src="/files/tm5keeW186iyCJkd2okz" alt=""><figcaption><p>Outreach - Customer Example</p></figcaption></figure></div>  |
| <ol start="4"><li>Media modal</li></ol> | Media modals showcase various media formats and text, including images, videos, and GIFs. It's a great option to improve visual aesthetic                                                                                                                                                                   | <div><figure><img src="/files/4s36jKjV3V07HRHKnNXl" alt=""><figcaption><p>Cascade - Customer Example</p></figcaption></figure></div>   |
| <ol start="5"><li>Lead form</li></ol>   | Use lead forms to capture leads at strategic points in your demo. You can either use Storylane's own form or [embed custom forms](/analytics-and-performance/capture-leads) (**Hubspot**, **Marketo**, or **Pardot**) or capture leads through [demo URL params](/analytics-and-performance/capture-leads). | <div><figure><img src="/files/L750tacXN4TRO7f76qUv" alt=""><figcaption><p>Stairwell - Customer Example</p></figcaption></figure></div> |
| <ol start="6"><li>No Guide</li></ol>    | <p>Don't want a guide? Click the trash can icon to delete the guide. </p><p></p><p>Viewers can click anywhere to continue, although a guide is recommended (:  </p>                                                                                                                                         | <img src="/files/hPIWl344OkTH3dUBLCok" alt="" data-size="original">                                                                    |

{% hint style="info" %}
In HTML demos you need to drag guides onto an element, which snaps into place when highlighted green.
{% endhint %}

### 👉 Adding guided steps

Adding guided steps is simple.

By default, when you add a new step to a screenshot demo, a hotspot is automatically created for you. From there, you can customize the guide in a couple of ways:

* Hover over the existing guide and click “Edit Guide” to make changes directly.
* Use the “Guides” button in the top header (always accessible) to view and manage all guides in your demo.

This gives you flexibility to quickly adjust copy, positioning, and behavior at any time.

<figure><img src="/files/A93a3rrP1OHIyHCFrtpL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/dtxhxfFnHWK4jDdT6ZQ4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3mfTi0HQDh96TUUt93Xo" alt=""><figcaption></figcaption></figure>

### 👉 Editing guided steps

Guides can be customized to match your needs. Hover on the guide and click on the "Edit guide" icon next to it for the following options:

| Edit Guide | Description                                                                                      | Reference                                                                                           |
| ---------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| Content    | Edit in-guide content by selecting the placeholder text                                          | <div><figure><img src="/files/f1kQX8T6evCnhfqglyjb" alt=""><figcaption></figcaption></figure></div> |
| Style      | Edit guide colors, background colors, and fonts                                                  | <div><figure><img src="/files/GdecqOuPNMfkF1RXlePP" alt=""><figcaption></figcaption></figure></div> |
| Highlight  | Toggle backdrops and spotlight                                                                   | <div><figure><img src="/files/7XHck4SLhsi34uSx0Qhw" alt=""><figcaption></figcaption></figure></div> |
| CTAs       | Toggle and customize primary and secondary CTAs                                                  | <div><figure><img src="/files/HcsLanY5BJXslZCmfYw7" alt=""><figcaption></figcaption></figure></div> |
| Position   | Configure the arrow positions for hotspots and tooltips                                          | <div><figure><img src="/files/deGWtqseNceIMTVW6XKa" alt=""><figcaption></figcaption></figure></div> |
| Config     | Toggle step number visibility, previous step button, arrow alignment, and hide text on mouse out | <div><figure><img src="/files/kd0EN6cIqCc7CQtvIiIV" alt=""><figcaption></figcaption></figure></div> |

{% hint style="info" %}
Pro tip: Need to copy a step to another chapter? Just select the step you would like to copy from the sidebar and use **Cmd/Ctrl C + Cmd/Ctrl V** to copy and paste into another demo's timeline. You could also do the same by right clicking or select three dots against a step. To duplicate a step, select the step and use **Cmd/Ctrl D**.&#x20;
{% endhint %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Adding and Editing Video Steps

👉  Video steps can only be added to existing screenshot demos, allowing users to add and edit video steps right in Storylane.

### **🎥 Adding video steps**

We support a couple of ways to add video steps:

1. Upload mp4 files from device
2. Add video clips from the current & other demos
3. Capture new video clips from the extension

{% @storylane/embed subdomain="app" linkValue="hgh7nntxdvwu" url="<https://app.storylane.io/share/hgh7nntxdvwu>" %}

### :scissors: Editing Video Steps

The video editor now comes with an updated play bar at the bottom of the editor — giving you more control over your video steps. You can trim clips to the exact moment you need, add in guides between segments, and control playback speed. Mute, adjust timing, and fine-tune every detail without leaving the editor.

{% @storylane/embed subdomain="app" linkValue="0chwcm3j0bif" url="<https://app.storylane.io/demo/0chwcm3j0bif>" %}


# AI Demo Creation

A suite of AI features to dramatically simplify the demo creation process

* [AI Video Avatars](#ai-video-avatars)
* [AI Voiceovers](#ai-voiceovers)
* [AI HTML Editor](#ai-html-editor)
* [Create and Improve with AI](#create-and-improve-with-ai)
* [AI Translations](#ai-translate)

***

### 📹 AI Video Avatars

Add a human touch to every demo—without ever stepping in front of a camera? Generate life-like presenter videos in seconds. No filming, no editing, no retakes—just engaging presenter content for your audience.

#### **How it works**

1️⃣  **Choose an avatar** – Pick from a diverse selection of AI-generated presenters or create a custom avatar that represents you or your brand. \
2️⃣  **Enter your script** – Type in what you want your avatar to say and hit generate\
3️⃣ **And you're all set** – Your demo will be populated with polished videos in minutes&#x20;

#### **Why you’ll love it**

🎬 **No cameras, no stress** – Skip the hassle of recording and reshooting videos.&#x20;

⏳ **Create in seconds** – Just type your script and let our AI editor do the rest.&#x20;

🌎 **Perfect for global teams** – AI avatars can speak in multiple languages, making demos more accessible and engaging worldwide.

Prefer a more personal touch? You've the option of recording your own video avatar

* **Record Video** – Press the record video option and start recording your own video as avatar and it will be added to the step directly&#x20;

Time to say goodbye to costly video production and hello to instant, high-quality presentations!&#x20;

{% @storylane/embed subdomain="app" linkValue="jguolwpwxovl" url="<https://app.storylane.io/share/jguolwpwxovl>" %}

#### Video avatar availability and limits

<table><thead><tr><th width="153.5">Free</th><th width="134.34375">Starter</th><th width="144.97265625">Growth</th><th>Premium</th><th>Enterprise</th></tr></thead><tbody><tr><td>2 minutes/month</td><td>20 min/month</td><td>125 min/month</td><td>250 min/month</td><td>Unlimited</td></tr></tbody></table>

* **Counts only on generation:** AI video avatar usage is counted **only when a video is generated** from a prompt in the editor.&#x20;
* Playback is unlimited.
* **Once generated, it’s counted:** Even if you don’t use or reject the generated video, it **still counts** toward your usage.
* **Check before generating:** To ensure the avatar looks and sounds right, **play the sample** before generating. This helps you choose the best fit without using up your limit.

***

### 🎤 AI Voiceovers

Why type when you can talk? With **AI Voiceovers**, your demos can now have professional, engaging narration—without you ever picking up a mic. Choose from **25+ languages and 60+ voices** to create a demo experience that truly speaks to your audience.

#### **How It Works**

1️⃣  **Select a voice** – Choose from a diverse set of AI-generated voices that match your brand’s tone. \
2️⃣  **Enter your script** – Type out what you want your demo to say, and AI will generate a natural-sounding voiceover.\
3️⃣  **Sync with your demo** – Add voiceovers to your guided demos effortlessly, making them more engaging and accessible.

#### **Why You’ll Love It**

🕒 **Save hours on recording** – No need to record and edit voiceovers manually (unless you want to!)

🌎 **Speak your audience’s language** – Translate and localize voiceovers instantly.&#x20;

🎭 **Match your brand’s tone** – Pick from a variety of voice styles to fit your messaging.

Prefer a more personal touch? You've got options:

* **Record Your Voice** – Press record to capture your voice directly, providing a natural and personalized explanation.
* **Upload a Pre-recorded Voiceover** – If you have an existing voice recording, upload it from your device and integrate it into the demo step.

AI Voiceovers make it easy to create high-quality, multilingual, and professional-sounding demos—so you can focus on selling, not recording. 🏆

{% @storylane/embed subdomain="app" linkValue="pa8jrmpzrxq7" url="<https://app.storylane.io/share/pa8jrmpzrxq7>" %}

***

### 👨‍💻 AI HTML Editor

Want pixel-perfect demos without writing a single line of code? With Storylane's **AI HTML Editor**, tweak your demo’s text, images, and UI elements just by describing what you want. No devs, no complex coding, just simple AI-powered magic. 🪄

#### **How It Works**

1️⃣  **Enter a prompt** – Share what you want to change (e.g., "Make the button blue" or "Update the headline"). \
2️⃣  **Watch the magic happen** – AI instantly applies your edits without breaking your demo’s structure. \
3️⃣  **Fine-tune as needed** – Make further refinements to ensure your demo looks exactly how you envisioned it.

#### **Why You’ll Love It**

🚀 **No coding required** – Make real-time edits without touching a single line of code.&#x20;

🎯 **Tailor demos for different audiences** – Instantly adjust messaging, layouts, and visuals.&#x20;

⏳ **Save time & effort** – Skip the back-and-forth with developers—customize in seconds.

**AI HTML Editing** gives you complete control over your demo’s look and feel, ensuring every prospect gets a tailor-made experience. 💡

{% @storylane/embed subdomain="app" linkValue="fwvbzfluf3rs" url="<https://app.storylane.io/share/fwvbzfluf3rs>" %}

***

### **Create and Improve with AI**

**How It Works - Create**&#x20;

1️⃣  Capture your product flow using Storylane’s browser extension.\
2️⃣  Let AI work its magic - AI automatically adds step-by-step guides, annotations, and tooltips.\
3️⃣  Customize if needed - edit text, rearrange steps, and tweak details in seconds.

{% @storylane/embed subdomain="app" linkValue="etghwfsbovvw" url="<https://app.storylane.io/share/etghwfsbovvw>" %}

**How It Works - Improve**&#x20;

1️⃣  Capture your product flow using Storylane’s browser extension, then pop back into your demo editor > "Use AI".\
2️⃣  Add a Prompt, your language, AI Guide, and/or AI Voiceover.\
3️⃣  & Of course, customize if needed - you get the idea 😉

{% @storylane/embed subdomain="app" linkValue="gqcoxgpq39ay" url="<https://app.storylane.io/share/gqcoxgpq39ay>" %}

**Why You’ll Love It**

✨ **Saves you time** - no more manually adding guides or tweaking demos.\
🎯 **Always context-aware** - AI understands your product and highlights key features automatically.\
📈 **Scales effortlessly** - build multiple variations in minutes for different use cases.

Forget tedious demo creation - AI does the heavy lifting so you can focus on selling.&#x20;

#### How to improve & 🌍 translate content within a single step with AI?

The **AI Guided Step - Write** can help you write better content faster

The **AI Guided step - Improve** can help you improve the quality of your existing content.

The AI Translator allows you to translate any content into multiple languages in a matter of seconds.

It currently supports +27 languages.

Try the Interactive Demo Yourself 👇&#x20;

{% @storylane/embed subdomain="app" linkValue="eadb9bnrwkzg" url="<https://app.storylane.io/share/eadb9bnrwkzg>" %}

***

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Personalizing Demos

Personalize your demos' on-screen content, guides, and links with dynamic tokens

* [Personalize HTML screens](#personalize-html-screens)
* [Personalize guided steps](#personalize-guided-steps)
* [Personalize demo content from the lead form data](#personalize-from-lead-form-data)
* [Personalize demo content from URL params](#personalize-from-url-params)
* [Personalize Date and Time tokens](#personalize-date-and-time-tokens)

Read below to learn more about how content can be personalized in different ways.

***

### 👉 **Personalize HTML Screens**

#### 💬 **Text Tokens**

Insert dynamic text tokens to personalize HTML screens&#x20;

* Select any text element in the captured screen
* Then, select "Insert Text Token" to add your token&#x20;
* Configure multiple tokens for your account by clicking on "Manage Fields". You can also assign a 'default' value as a fallback option

<figure><img src="/files/qOegOgHXanF8cdS4eaIl" alt=""><figcaption></figcaption></figure>

#### 📅 **Date & Time Tokens**

Keep your demos fresh with the latest time and date

* Click on the element where you would like the current date or time to be shown&#x20;
* Insert the date/time format you need

<figure><img src="/files/wWGSicnlZeFh7yqED2DK" alt=""><figcaption></figcaption></figure>

[Read more about formatting options and how you can add/subtract dates](broken://pages/LILLOQvxVNAqgLiAh38Z)

#### 🖼️ **Image Tokens**

Dynamically swap out logos or images in your demo before sharing them with prospects.&#x20;

* Click on any image element and choose "Assign Image token."
* Create a new token or choose an already existing token
* Assign 'Default' image for fallback
* If your image or logo is present on other pages, then choose to match "All Screens" (Storylane automatically detects the same element logo and updates all with a token, so you don't need to do it on each screen)

<figure><img src="/files/oZBNS96JqzkKd4DmuI4P" alt=""><figcaption></figcaption></figure>

***

### 👉 **Personalize Guided Steps**

Personalize your guide content with **"Text Tokens"**. This is a great way to share tailored demo experiences, especially with bottom of the funnel leads.

* Select the guide modal to edit
* Select the "Text Tokens" button
* Pick a token from the dropdown

<div align="left"><figure><img src="/files/dz7kiBvOU9BfPrZTYwbg" alt="" width="362"><figcaption></figcaption></figure></div>

***

### 👉 Personalize Demos with a Logo Token

To personalize logos in your demo, select the logo element on your HTML screen and choose **"Logo token"** — then either **Upload** your own image, or use **Fetch from URL** to pull a logo automatically by searching a company's domain name.

<figure><img src="/files/hJm2OabpBNBt0xPWZTRp" alt=""><figcaption></figcaption></figure>

Once the logo token is set up on your screen, you can personalize it per shared link — so each link can show a different logo without editing the demo itself.

* Open **Share → Personalize**, then switch to the **Logo** tab
* Click **Upload file** to add your own logo, or use **Fetch logo** to pull one automatically by searching a company's domain name

<figure><img src="/files/nUvEnCK9E0tdKY5cOR2t" alt=""><figcaption></figcaption></figure>

***

### 👉 Personalize from lead form data

#### **When using a native Storylane lead form**

When you use Storylane Lead Form, below token variables are automatically created for you.

* `{{email}}, {{first_name}}, {{last_name}}, {{name}}`
* You can use the above tokens in your guided steps to personalize the experience

Try the Interactive Demo Yourself 👇

{% @storylane/embed subdomain="app" linkValue="3df4bbu8gykl" url="<https://app.storylane.io/share/3df4bbu8gykl>" %}

#### **When using a custom lead form**&#x20;

If you are using your custom lead form (*e.g., Hubspot, Marketo, Pardot, etc.*), then you will need to pass the form data through a cross-origin message so that tokens can be assigned. &#x20;

Below is a sample code snippet showing how data will be sent:

```javascript
// sample code where tokens "first_name" and "last_name" are assigned
window.parent.postMessage({
  message: 'storylane-token-submit',
  payload: {
    token: {first_name: "John", last_name: "Doe"}
  }
},'*');
```

Example with **Hubspot** Form:

```javascript
// sample code where tokens "first_name" and "last_name" are 
// assigned by fetching data from HubSpot form

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
<script>
   hbspt.forms.create({
    region: "na1",
    portalId: "######",
    formId: "######-######-######-######-######",
       onFormSubmit: function($form) {
           $hs_fname = $form[0].first_name.value;
           $hs_lname = $form[0].last_name.value;
           window.parent.postMessage({
	 	message: 'storylane-token-submit',
		payload: {
		 	token: {first_name: $hs_fname, last_name: $hs_lname}
		}
	   },'*');
       }
  });
</script>
```

Example with **Marketo** Form

```javascript
// sample code where tokens "first_name" and "last_name" are 
// assigned by fetching data from Marketo form

<script src="//test.storylane.io/js/forms2/js/forms2.min.js"></script> 
<form id="mktoForm_####"></form> 

<script>
MktoForms2.loadForm("//test.storylane.io", "###-####-####", ####, function(form) {
   // Add an handler 
   form.onSuccess(function(){
         var vals = form.vals();
         window.parent.postMessage({
	 	message: 'storylane-token-submit',
		payload: {
		 	token: {first_name: vals.first_name, last_name: vals.last_name}
		}
	 },'*');
    });
});
</script>
```

## Personalize from URL params

You can personalize your demo content through URL query parameters. Once you have **'Text tokens'** set up then you can build different demo URLs by encoding the token values as URL params.

Let's say you have 3 tokens set up in your demo *("first\_name", "last\_name", "company\_name")*, then you can build your demo URL with data like below:&#x20;

{% code overflow="wrap" %}

```html
https://app.storylane.io/share/jdelklbymyyr?token[first_name]=Jane&token[last_name]=Smith&token[company_name]=Acme
```

{% endcode %}

When the above demo URL is opened then it will be automatically personalized with the token values passed in URL params. &#x20;

#### Passing data from CRM or Marketing Automation platform&#x20;

You can also pass data from your CRM or marketing platforms as token values in URL params&#x20;

**Hubspot -** see the resource [here](https://knowledge.hubspot.com/website-pages/personalize-your-content) on how Hubspot contact data can be used as token values

Here is an Example for the above URL:

{% code overflow="wrap" %}

```html
https://app.storylane.io/share/jdelklbymyyr?token[first_name]={{contact.firstname}}&token[last_name]={{contact.lastname}}&token{company_name}={{contact.company}}
```

{% endcode %}

**Marketo -** resource [here ](https://experienceleague.adobe.com/docs/marketo/using/getting-started-with-marketo/quick-wins/personalize-an-email.html?lang=en)on how Marketo data can be used as token values

{% code overflow="wrap" %}

```
https://app.storylane.io/share/fvzglsvinxb8?email={{lead.Email Address:default=noemail}}
```

{% endcode %}

**Pardot -** resource [here](https://help.salesforce.com/s/articleView?id=sf.pardot_variable_tags.htm\&type=5) on how Pardot data can be used as token values

{% code overflow="wrap" %}

```
https://app.storylane.io/share/fvzglsvinxb8?email={{Recipient.Email}}
```

{% endcode %}

**ActiveCampaign** - resource [here](https://help.activecampaign.com/hc/en-us/articles/220709307-Personalization-Tags#list-of-standard-personalization-tags-0-5) on how ActiveCampaign data can be used as token values

```
 https://app.storylane.io/share/fvzglsvinxb8?email=%EMAIL%
```

**Lemlist** - resource [here](https://help.lemlist.com/en/articles/4452688-custom-variable-format) on how Lemlist data can be used as token values

```
https://app.storylane.io/share/fvzglsvinxb8?email={{email}}
```

### Personalize Date and Time Tokens

Date and Time tokens enhance demos, especially in products where date and time are important in the data, which is reflected in the demo. Adding and subtracting date/time tokens further enhances the "realness" your user will feel when viewing your demo.You have full flexibility to add/subtract: years, months, days, hours, minutes, and seconds.\
\
**How to add and subtract date/time tokens:**

1. Insert any date/time token
2. Whichever value you'd like to edit, add a vertical bar | and then the operation.
3. In the text trigger menu, a preview is generated so you can ensure it will appear properly.

**Example 👇**

<div align="left"><figure><img src="/files/VcwTZrJnsfZ1Z1Yeelc5" alt="" width="563"><figcaption></figcaption></figure></div>

Here is an interactive demo showing step-by-step how it works for each token value 👇

{% @storylane/embed subdomain="app" linkValue="bqu7amw57xgv" url="<https://app.storylane.io/demo/bqu7amw57xgv>" %}

**For Years**

To add years: {{$M/d/yyyy|+NY}}

To subtract years: {{$M/d/yyyy|-NY}}

\*N value = number of years, e.g. 1,2,3

**For Months**

To add months: {{$M/d/yyyy|+NM}}

To subtract months: {{$M/d/yyyy|-NM}}

\*N value= number of months, e.g. 1,2,3

**For Days**

To add days: {{$M/d/yyyy|+Nd}}

To subtract days: {{$M/d/yyyy|-Nd}}

\*N value= number of days, e.g. 1,2,3

**For Hours**

To add hours: {{$LT|+Nh}}

To subtract hours: {{$LT|-Nh}}

\*N value= number of hours, e.g. 1,2,3

**For Minutes**

To add minutes: {{$LT|+Nm}}

To subtract minutes: {{$LT|-Nm}}

\*N value= number of minutes, e.g. 1,2,3

**For Seconds**

To add seconds: {{$LTS|+Ns}}

To subtract seconds: {{$LTS|+Ns}}

\*N value= number of seconds, e.g. 10,20,30

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Chapters & Convert CTA

Check out how to set up chaptered menus and a convert CTA buttons

* [Chapters](#chapters)
* [Convert CTA](#setup-a-convert-cta-button)

***

### 👉 Chapters

Setting up a chapter menu is an excellent way to showcase multiple product features and use cases in a single demo - without overwhelming views with too many steps. To set up a chapter menu:

* Segment your demo steps into multiple chapters (8-10 steps per chapter)
* Select the menu icon to open the chapters&#x20;

<div align="left"><figure><img src="/files/BzR2TBCnOBiQNpB8gkPo" alt="" width="375"><figcaption></figcaption></figure></div>

* Select "Setup chapter menu" *(Chapter Menu works best when you have more than 1 chapter)*
* Add or remove chapters as needed

<div align="left"><figure><img src="/files/UG6lr2mcU1H1iXEUQXrF" alt="" width="375"><figcaption></figcaption></figure></div>

* In the "Setup chapter menu" window, switch to the **Behavior & styling** tab to configure how the chapter menu behaves and looks:
  * **Behavior** — choose when the chapter menu button should appear (from the start, or from a specific step), and how it displays the first time a viewer sees it (expand to the middle of the screen, expand in place, or stay collapsed)
* **Design the Chapter Menu Button** — Style the "Button Color" and "Button Text", and configure the position to appear in the left, middle, or right corner. For more customization, fine-tune the offset values. You can also mark chapter menu items as completed once clicked, and choose whether to display the step count next to each chapter.

<figure><img src="/files/gxmqe4N9ABFKVAa6oikr" alt=""><figcaption></figcaption></figure>

By default, Storylane creates a chapter for you when you record a demo. If you want to add new chapters, then click on the next to the chapter name.

View Interactive Demo 👇

{% @storylane/embed subdomain="app" linkValue="7yxdhyi6v3y7" url="<https://app.storylane.io/share/7yxdhyi6v3y7>" %}

***

### 👉 Setup a Convert CTA Button

The Convert CTA button allows you to embed an always-visible CTA button within your demos. This strategic placement ensures that your viewers are constantly primed to take your most desired action, whether it's to book a demo, start a free trial, share a calendar link or any other key conversion event.&#x20;

<figure><img src="/files/irL2lAI4RyOeBgrQmRYQ" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Demo Settings

Settings that apply to your published demo

**To access these settings, start by clicking the gear icon. Here's what you can do in there:**

* [Setup Navigation](#id-1.-setup-navigation)
* [Demo Themes](#id-2.-demo-themes)
* [Auto Play](#id-3.-auto-play)
* [Private Demo Access](#id-4.-private-demo-access-available-for-enterprise-plan)
* [Frame Color](#id-5.-frame-color)
* [Display Title](#id-6.-display-title)
* [Small Screen Warning](#id-7.-small-screen-warning)
* [Autoscale Demos](#id-8.-autoscale-demos)
* [Background Music](#id-9.-background-music)
* [Defaults](#id-10.-defaults)
* [Share Page Background](#id-11.-share-page-background-colour)

#### **1. Setup Navigation**&#x20;

Navigation helps users track their progress in a demo and easily jump between non-sequential steps. Toggle colored step indicators under **Appearance.**

<div align="left"><figure><img src="/files/4IdNvHLlL7uEExa7EgHn" alt="" width="563"><figcaption></figcaption></figure></div>

#### **2. Demo Themes**

Toggle your default demo colors and other parameters globally via Demo Themes. Apply across Hotspots, Tooltips, and Modals. [Click here to learn more about branding](/account/branding).

<div align="left"><figure><img src="/files/GOq3i96RTui19RfBMcDX" alt="" width="563"><figcaption></figcaption></figure></div>

#### **3. Auto Play**

Auto-play advances your demo to the next step after a specified period of inactivity. You can add a custom delay or use the auto-delay, where the delay is adjusted automatically based on the amount of text or speech in the step. Additionally, toggle on ‘loop demo automatically’ - perfect for keeping eyes on your screen at the next conference booth.

<div align="left"><figure><img src="/files/T066rxOcfvqILoe4eell" alt="" width="563"><figcaption></figcaption></figure></div>

**⏱️ Step level Auto Play**

Automatically advance to the next step after a set time delay. You can choose between **Auto** — where the delay is adjusted based on the text or speech length of the step — or set a **Custom** time of your choice.

<div align="left"><figure><img src="/files/kPnvZN2fQh1lpoZIPhG6" alt=""><figcaption></figcaption></figure></div>

#### **4. Private demo access -** Available for the Enterprise plan

This is an enterprise security feature. When allowed, only authenticated users in your Storylane account can access this demo.

#### **5. Frame Color**

Toggle between Light Frame and Dark Frame, or No Frame under Demo Settings (Screenshot demos only) To remove the demo frame or "header", toggle frame color "off".

<div align="left"><figure><img src="/files/Bbbz59tf0ilKG1Bryem2" alt="" width="563"><figcaption></figcaption></figure></div>

#### **6. Display Title**

Adding a Display Title distinguishes what your viewers see vs the file name in Storylane.

#### **7. Small Screen Warning**

Alerts your viewers when they are visiting your demo on a screen that is smaller than recommended. You can specify the width at which the warning appears (default is 800px).

#### **8. Autoscale demos**

* Toggle on to automatically adjusts your demo to match the original capture size
* Demos viewed only within your organisation, SSO, security, authentification&#x20;
* Toggle on so only authenticated users in your Storylane account can access this demo.

{% @storylane/embed subdomain="app" linkValue="exa3ieabjjmj" url="<https://app.storylane.io/share/exa3ieabjjmj>" %}

#### 9. Background Music

Create a more immersive experience by adding background music to your demo. Choose from a curated library of tracks or upload your own, and adjust the volume to the right level.

To set it up, go to **Demo Settings → Background Music**, toggle it on, and select a track from the dropdown — options include Spring Energy, Digital Horizon, Tech Ambient, Lo-fi Focus, and more. You can also **Upload** your own audio file.

<figure><img src="/files/WuStqfsD2SQpDjVXF4zX" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}

#### 10. Defaults&#x20;

Set workspace-level defaults so every new demo starts pre-configured with your preferred setup — no need to repeat the same settings on each demo individually.

To access this, go to **Settings → Workspace → Defaults**. From here, you can configure:

* **First & Last Steps** — set a default opening popup and closing CTA that anchors every new demo
* **Default Interaction Guides** — apply a consistent guide style across all new demos
* **Autoplay** — control whether new demos auto-advance by default, and at what pace
* **Secure Link** — require viewers to authenticate before accessing your demos by default

{% hint style="info" %}
You can now set up your background music under **Defaults** inside your **Settings** tab, so you don't have to configure it separately for each demo.
{% endhint %}

{% @storylane/embed subdomain="app" linkValue="fejenwoodxzg" url="<https://app.storylane.io/share/fejenwoodxzg>" %}

#### 11. Share Page Background

Customize the backdrop shown around your demo on the share page. Choose from preset colors and gradients, or create your own **custom gradient** using the color picker to match your brand.

Find it in **Demo Settings → Appearance → Share Page Background**

<figure><img src="/files/P4nJIZ6tNII3IRGbaMYp" alt=""><figcaption></figcaption></figure>


# Review and commenting

Invite others and collaborate on demos by leaving feedback directly within the editor

{% hint style="info" %}
Any team member with access to the demo can view and leave comments.\
External reviewer access is coming soon.
{% endhint %}

* [Overview](#overview)
* [Leave a comment](#leave-a-comment)
* [Manage threads](#manage-threads)
* [Notifications](#notifications)

#### 👉 Overview

This feature allows team members and stakeholders to collaborate on demos by leaving feedback directly within the editor. This streamlines the review process and keeps all comments organized in one place.

Try the interactive demo below 👇

{% @storylane/embed subdomain="app" linkValue="juqwzm6ikzb0" url="<https://app.storylane.io/share/juqwzm6ikzb0>" %}

***

#### 👉 Leave a comment

To leave a comment on a demo:

* Open the demo in the editor
* Click the **Comments** icon in the topbar to enter comment mode
* Click anywhere on the canvas to drop a pin (optional)
* Type your comment and press send

Comments are attached to the step you're viewing. If the demo has multiple steps, each step keeps its own set of pins/comments.

***

#### 👉 Manage threads

Once a comment is posted, anyone on the team can reply, react, or resolve it.

* **Reply** — add context or answer a question directly in the thread
* **Resolve** — mark a thread as addressed. Resolved threads are hidden by default but can be reopened at any time

The **side panel** shows all comment threads across every step. Click any thread to jump directly to that step and pin.

{% hint style="info" %}
In **screenshot demos**, pins are tied to their position on the canvas.

In **HTML demos**, pins are not available.
{% endhint %}

#### 👉 Notifications

Demo owners and anyone in a comment thread get an email when a new comment is posted.

The email includes a direct link that opens the exact step and comment thread — no searching required.

{% hint style="info" %}
External free viewer access (share a review link without requiring an editor seat) is on the roadmap. If you have questions, reach us at <support@storylane.io>.
{% endhint %}


# Overview

Share Storylane demos across email, sales tools, websites, and social channels.

There are **five ways to share Storylane demos**, depending on where your audience is:

* **Links & direct sharing** → quick access anywhere
* **Website/Product Embeds**→ place demos on websites, docs, or social
* **Email sharing** → send demos via campaigns or outbound
* **Sales tools** → share directly from platforms like Gong or Outreach
* **On Social →Linked In /** X

***

### 🔗 [**Share via Link**](/sharing-demos/share-via-link)

The fastest way to share your demo.&#x20;

Learn More

OR&#x20;

#### Options

* Default link
* Secure link (restricted access)
* Personalized link (tokens)

#### Best for

* Quick sharing
* Support docs
* 1:1 follow-ups

***

### 🌐 [**Embed on Website or Product**](/sharing-demos/embed-on-website-or-product)

Embed demos directly into your site or app.

#### Common use cases

* Homepage demos
* Product pages
* Help center / docs
* In-product onboarding

***

### 📩 [**Share via Email**](/sharing-demos/share-via-email)

Send demos using GIF previews and personalized links.

#### How it works

1. Click **Share**
2. Go to **Email Campaigns**
3. Select your provider
4. Copy GIF or link into your email

#### Supported platforms

* HubSpot
* Marketo
* Mailchimp
* ActiveCampaign
* Intercom
* others

#### Important to know

* Generates **personalized links** using merge tags
* Does **not automatically sync engagement data**

{% hint style="warning" %}
To track engagement in your CRM, use **Native Integrations** or **Zapier**
{% endhint %}

***

### 🔌 [**Share via CRM & Sales Tools**](/sharing-demos/use-in-crm-and-sales-tools)

Send demos directly from tools your reps already use.

#### Supported tools

* HubSpot
* Salesforce
* Gong Engage
* Outreach

#### Important to know

* Gong & Outreach **send-only** workflows
* Engagement data does **not sync back automatically**

{% hint style="warning" %}
To track engagement in your CRM, use **Native Integrations** or **Zapier**
{% endhint %}

***

### 📣 [**Share on Social**](/sharing-demos/share-on-social)

Share demos as links or GIF previews:

* LinkedIn
* X (Twitter)

Tips

* Use GIF previews for higher engagement
* Add UTMs to track performance


# Share via Link

When sharing a Storylane demo link, you have a few options to choose from:

* [Share default link](#default-share-link)
* [Share additional personalized links](#additional-personalized-links)
* [Share with the recipient](#share-with-a-recipient)&#x20;
* [Share via browser extension](#recipient-url)

{% hint style="info" %}
You can also share your demo link via 3rd-party services, such as [Gmail, the HubSpot app, or the Salesforce app.](/sharing-demos/use-in-crm-and-sales-tools)
{% endhint %}

### 👉 Default Share Link

Copy your default link to share your interactive demo with prospects through emails, social posts, messages, etc.&#x20;

{% hint style="info" %}
💡 Tip: Share a GIF to boost open rates ('Copy GIF')
{% endhint %}

<div align="left"><figure><img src="/files/e0rLA4XiohhSTxRH8Cwx" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Anyone with the link can open it without the need for a Storylane account, making it a hassle-free experience.
{% endhint %}

In case the content is **confidential**, you can adjust the link settings with email restrictions, restricted domains, passcodes, and expiry dates.

<div align="left"><figure><img src="/files/HdYDvGO2OWChOxdIGkjJ" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉  Additional Personalized Links

If you want to have multiple links for the same demo to track the performance of each separately, you can create additional, personalized demo links.&#x20;

<div align="left"><figure><img src="/files/4rm24kx0WyP34Ngaw1WQ" alt="" width="563"><figcaption></figcaption></figure></div>

One advantage of custom links is their ability to tag new contacts in your CRM systems like [HubSpot](/integrations/integrations-and-data-flow/hubspot) or [Salesforce](/integrations/integrations-and-data-flow/salesforce) when prospects interact with your demo, enabling you to track engagement and performance efficiently. Use these insights for follow-up strategies.

Also, you can customize each link with custom tokens, assign different links for team members, or use the same demo in multiple campaigns or landing pages.&#x20;

### 👉 Share with a recipient

You can quickly share an individual, trackable link by customizing it with a recipient's email to make it trackable and receive instant notifications when a prospect views it.

<div align="left"><figure><img src="/files/HKoYQXh4fxjDdAFs4uSR" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Share via Extension <a href="#recipient-url" id="recipient-url"></a>

Secure demo links with options like passcodes and expiration dates. Generate personalized links to receive real-time notifications when your demos are viewed.

<figure><img src="/files/wel760BqJuqFcg0XtgxY" alt="" width="375"><figcaption></figcaption></figure>

<p align="center"><img src="/files/xkmlccLoVjCq2AZJHOjR" alt=""></p>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Embed on Website or Product

Embedding interactive demos are a proven way to engage website visitors and drive conversions.

Storylane supports a couple of embed formats:

* [Inline Embed](#inline-embed)
* [Popup Embed](#popup-embed)
* [Supported Platforms](#supported-platforms)
* [Embed Support](#embed-support)
* [Mobile-friendly Demos](#mobile-friendly-demos)

{% hint style="info" %}

#### To embed your demo into a Hubspot website or landing page, please refer to [this article](/integrations/integrations-and-data-flow/hubspot/hubspot-website-embeds).

{% endhint %}

***

### 👉 **Inline Embed**

#### :new: LLM Friendly toggle

When copying your embed code, you'll notice a new **LLM-Friendly** toggle in the embed panel. Turning this on makes your demo content readable by LLMs and search engines — so your product tour can be indexed and discovered organically.

To enable it, go to **Share → Embed** and toggle **LLM-Friendly** on before copying the code.

<div align="left"><figure><img src="/files/XNvGUfStue4mr63eQGXQ" alt="" width="563"><figcaption></figcaption></figure></div>

#### **Without Overlay**

The demo auto-starts as soon as the page loads.\
Example: [Clari](https://www.clari.com/product-tour/) | [Gong](https://www.gong.io/tour-confirmation/)

{% hint style="info" %}
Copy the embed code ([see example](https://jsfiddle.net/storylane/h6gdwf4s/)) and you can add it to any website.&#x20;
{% endhint %}

<div align="left"><figure><img src="/files/tQpqYGAqcQSEVlcgoJDv" alt="" width="563"><figcaption></figcaption></figure></div>

**With Overlay**

Show a demo preview with a clickable CTA button that loads the demo when clicked. 👆\
Example: [Storylane](https://www.storylane.io/) | [Reviewr](https://www.reviewr.com/)

<div align="left"><figure><img src="/files/0mbsFRQyJZRDzEVZpCXV" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Demo preview is shown with the CTA button ([see example](https://jsfiddle.net/storylane/akprf9z3/)). Clicking CTA loads the demo.&#x20;
{% endhint %}

{% hint style="warning" %}
Overlay embeds have a blur slider for a cleaner, distraction-free background
{% endhint %}

***

### 👉 **Popup Embed**

Add a CTA button on your page, and when clicked, voilà! A full-screen demo pops up for a fun, interactive experience! 🖱️✨ Example: [SentinelOne](https://www.sentinelone.com/lp/tour/)'

<div align="left"><figure><img src="/files/9FpZqlPye9XCm9CuXoiu" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Add the CTA button on your website ([see example](https://jsfiddle.net/storylane/w64kq9uh/)) and on click, it will open a popup window with the demo.
{% endhint %}

### 👉 Supported Platforms

Storylane demos play nice with a variety of platforms right out of the box! 🎬 Check out the list below and dive into the interactive fun on each one! ✨

<table data-header-hidden><thead><tr><th width="155" align="center"></th><th width="153" align="center"></th><th width="134" align="center"></th><th width="179" align="center"></th><th align="center"></th></tr></thead><tbody><tr><td align="center"><a href="https://app.storylane.io/share/pecbxgquhxu8"><strong>Webflow</strong></a></td><td align="center"><a href="https://app.storylane.io/share/hg1wpf21zfyv"><strong>Wordpress</strong></a></td><td align="center"><a href="https://app.storylane.io/share/j6pmqg2ltl63"><strong>Notion</strong></a></td><td align="center"><a href="https://app.storylane.io/share/xwdankssm6fy"><strong>Jira Confluence</strong></a></td><td align="center"><a href="https://app.storylane.io/share/19cbz1nbcttq"><strong>Gitbook</strong></a></td></tr><tr><td align="center"><a href="https://app.storylane.io/share/yiogycrgeig9"><strong>Readme</strong></a></td><td align="center"><a href="https://app.storylane.io/share/ojxtcerxcxez"><strong>Miro</strong></a></td><td align="center"><a href="https://app.storylane.io/share/p3xd8yxc63ga"><strong>Guru</strong></a></td><td align="center"><a href="https://app.storylane.io/share/4mxq1djdjovs"><strong>Trainual</strong></a></td><td align="center"><a href="/pages/LD4mpLhDi4E61mPEXfnD"><strong>Zendesk</strong></a></td></tr></tbody></table>

### 👉 Embed Support

Want to add your Storylane demo anywhere? **oEmbed** has got your back! 🙌 Just grab the demo URL and pop it into platforms like **iFramely** or **Embedly**, and voilà – demo embedded! 🎉

Feeling like a code wizard? 🧙‍♂️ You can also use the **oEmbed API** for a little manual magic:\
[API example here](https://api.storylane.io/oembed/meta?url=https://app.storylane.io/share/ha3eti5gqq2c) – just swap out the URL with your own demo link! 🔮

Ready to embed everywhere? Let's make some demo magic! ✨

### 👉 Mobile-friendly demos

If your product doesn’t have a mobile app and isn’t mobile responsive:

Using Screenshots:

* Open the[ demo](https://app.storylane.io/share/ub2niorbmx9q) on a mobile-sized screen. It should display correctly.
* You can also switch to landscape mode for a better view.
* Enable “Mobile View.” This will prompt users to rotate their device.

<div align="left"><figure><img src="/files/KxMZWLVGnqEj17aH2TbU" alt="" width="563"><figcaption></figcaption></figure></div>

Using HTML:

* Go to Settings > Auto-scale Demo.
* Toggle the setting ON. This will adjust the demo for mobile viewing automatically.

<div align="left"><figure><img src="/files/yipLmFUPrYuFSIh81lYf" alt="" width="563"><figcaption></figcaption></figure></div>

With these tips, you can easily capture mobile-friendly demos for your product.&#x20;

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Share via Email

Easily share interactive demos in your email campaigns or outbound messages using your preferred email tools.

<div align="left"><figure><img src="/files/fueer9v4CB92QmUN9Xhr" alt="" width="563"><figcaption></figcaption></figure></div>

### How it works

* Click **Share**
* Navigate to **Email Campaigns**
* Select your email provider
* Click **Copy** to copy the link or GIF
* Paste it into your email

### 🔗 Supported platforms

Storylane supports 15+ email and outbound tools, including:

* HubSpot
* Marketo
* Pardot\*
* Mailchimp
* ActiveCampaign
* Intercom
* Klaviyo
* Campaign Monitor
* Constant Contact
* Outreach
* Salesloft
* Apollo
* Reply.io
* Woodpecker
* ChurnZero

***

### 🎯 What this enables

* Send demos via campaigns or outbound sequences
* Generate **personalized links** using merge tags
* Use **GIF previews** to increase engagement

***

{% hint style="warning" %}

### Want to send data to your stack?

You can push demo engagement data to your CRM or data warehouse using:

* Native integrations (HubSpot, Salesforce, etc.)
* Zapier

👉 [\[View all supported integrations\]](/integrations/integrations-and-data-flow)
{% endhint %}

***


# Use in CRM & Sales Tools

* [Share via HubSpot](#share-via-hubspot)
* [Share via Salesforce](#share-via-salesforce)
* [Share via Gmail](#recipient-url)
* [Share via Outreach](/integrations/integrations-and-data-flow/outreach)
* [Share via Gong](/integrations/integrations-and-data-flow/gong)

### 👉 Share via HubSpot

### Share directly from HubSpot with the Chrome extension

Use this flow when the Storylane Chrome extension is installed. You can share demos without opening Storylane in a separate tab.

1. **Install the Storylane Chrome extension**
   * Make sure the extension is installed in Chrome.
   * Make sure you have a Storylane seat as a **Creator** or **Presenter**.
2. **Open a HubSpot contact**
   * Open the contact you want to work from.
   * The **Storylane** icon appears on the contact record.
3. **Open the Storylane panel**
   * Click the **Storylane** icon.
   * The Storylane panel opens inside HubSpot.
4. **Generate the right share link**
   * Select the demo you want to share.
   * Generate either a **1:1** link or a **1:Many** link.
5. **Share the demo**
   * Copy the link or **link + GIF** from the panel.
   * Paste it directly into the email body you send to the prospect.

<figure><img src="/files/FkQrDgnJxQadF7CxKRWk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PPBIHcu6beSM0l07uCfq" alt=""><figcaption></figcaption></figure>

#### Share using the Storylane App in HubSpot

1. **Install the Storylane App in HubSpot**\
   To get started, install [the **Storylane App for HubSpot** from the HubSpot App Marketplace](https://ecosystem.hubspot.com/marketplace/apps/storylane-385060).\
   For the app to work seamlessly, you must [integrate Storylane with HubSpot](https://app.storylane.io/integrations) to enable API-level data sharing.

#### How it works <a href="#how-it-works" id="how-it-works"></a>

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="app" url="<https://app.storylane.io/share/4zf5t1dx4bjl>" linkValue="4zf5t1dx4bjl" %}

#### Step 1: Add the Storylane Card to HubSpot's Contact Sidebar

1. Navigate to Contact Edit Layout in your HubSpot account.
2. Locate and add the Storylane card to the contact sidebar.
3. Click Save and Exit to apply your changes.

<div align="left"><figure><img src="/files/kml7uwZJUAFIZwnAm8NE" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/1puikQ4YuNIBMXI7T0t4" alt="" width="563"><figcaption></figcaption></figure></div>

#### Step 2: Access the Storylane Extension

1. Open a contact record in HubSpot.
2. Click the Storylane Demo button located in the sidebar.
3. A modal iframe will open. Log in using your Storylane credentials.

<div align="left"><figure><img src="/files/Kq6dldYzP91FcOmswUAU" alt="" width="563"><figcaption></figcaption></figure></div>

#### Step 3: Copy and Share Tokenized Demo Links

1. Once logged in, you’ll see a list of available demos.
2. Click Copy Link next to the desired demo to copy the tokenized URL to your clipboard.
   1. If the contact email exists, a tokenized URL will be copied.
   2. If the contact email is missing, the default demo URL will be copied instead.

<div align="left"><figure><img src="/files/V46f9jHIc2e8vf6UqR9v" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 👉 Share via Salesforce

The Storylane App for Salesforce streamlines demo sharing by allowing users to log into Storylane, generate a demo URL, and automatically copy it to their clipboard, directly from Salesforce.

There are three ways to share demos from Salesforce:

* [**Chrome extension**](#share-directly-from-salesforce-with-the-chrome-extension): Share demos directly from Salesforce contacts and leads with the Storylane icon.
* [**Button View**](#option-1-button-view): Add a "Storylane Demo" quick action button to the Opportunity record page.
* [**Tab View**](#option-2-tab-view): Add the Storylane Lightning Web Component (LWC) as a separate tab on the Opportunity record page.

### Share directly from Salesforce with the Chrome extension

Use this flow when the Storylane Chrome extension is installed. You can share demos without opening Storylane in a separate tab.

1. **Install the Storylane Chrome extension**
   * Make sure the extension is installed in Chrome.
   * Make sure you have a Storylane seat as a **Creator** or **Presenter**.
2. **Open a Salesforce contact or lead**
   * Open the record you want to work from.
   * The **Storylane** icon appears next to supported contacts and leads.
3. **Open the share modal**
   * Click the **Storylane** icon.
   * The share-demo modal opens inside Salesforce.
4. **Generate the right share link**
   * Select the demo you want to share.
   * Generate either a **1:1** link or a **1:Many** link.
5. **Share the demo**
   * Copy the link or **link + GIF** from the modal.
   * Paste it directly into the email body you send to the prospect.

<figure><img src="/files/cAIiFKeKCc90b3VKqxRY" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/04RFgBAUWCsvWmZdUdei" alt=""><figcaption></figcaption></figure>

### Share using the Storylane Salesforce App

1. **Install the App** To get started, install [the **Storylane App for Salesforce** from the Salesforce AppExchange](https://appexchange.salesforce.com/appxListingDetail?listingId=afc912b9-7143-410d-a2f5-8ca49c9b9ceb)
2. **Integrate Storylane with Salesforce** For the app to work seamlessly, you must [integrate Storylane with Salesforce](https://app.storylane.io/integrations) to enable API-level data sharing.

#### **How does it work for the Storylane App?**

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="renee" url="<https://renee.storylane.io/demo/2vzyiqakolbh>" linkValue="2vzyiqakolbh" %}

### **Option 1: Button View**

1. **Add the "Storylane Demo" Button**
   * A custom button ("Get a Demo") is added as a Quick Action on the Opportunity record page.
   * When clicked, the iframe loads the Storylane login page directly within Salesforce.

<div align="left"><figure><img src="/files/DuIzKFb6Tx1CGwpCxF39" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Log in to Storylane and Browse Demos**
   * Click the **“Get a Demo”** button on the Opportunity record page.
   * The **Storylane login page** will load in the iframe. Log in using your credentials.
   * After logging in, browse through the demos to select the right one.

<div align="left"><figure><img src="/files/UZZrhEO1siKls4E8aAbw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

<div align="left"><figure><img src="/files/KOhvoTKBNUngXn51FEvP" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Receive the Demo URL**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.

5. **Copy the URL to Your Clipboard**

* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

<div align="left"><figure><img src="/files/l4YtPZUMTN3k6Gz65fVe" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
The behavior of the "Copy Link" Button

* **No Opportunity Contact Roles**: The Storylane Demo Base URL is copied to the clipboard.
* **Opportunity Contact Role**: The Storylane Demo **Tokenized** URL is copied to the clipboard.
  {% endhint %}

### Option 2: Tab View

You can add the "Storylane Demo" LWC to the Opportunity record page in a separate tab.

1. **Navigate to Opportunity Record Page**

* Access the Opportunity record page
* Click the "Edit Page" button

<div align="left"><figure><img src="/files/POLh8Eg6QKwuX7UtVwPp" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Add a New Tab for Storylane**

* Locate the tabs section
* Create a new tab dedicated to Storylane

<div align="left"><figure><img src="/files/QSLomGpPQL203TCb8vQw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Add the Storylane LWC to the Tab**

* Drag and drop the Storylane LWC component into the new tab

<div align="left"><figure><img src="/files/mvzx5aosRxkWXMxcy1wT" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Activate and Save the Page**

* After completing these steps, you can access Storylane directly from the Opportunity record page tab.

<div align="left"><figure><img src="/files/9ywfxiW6p8Huzg5mllci" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/UJcOv1RmHcGF9BnwvQr9" alt="" width="563"><figcaption></figcaption></figure></div>

5. **Log in to Storylane and Browse Demos**

* Click the **“Get a Demo”** button on the Opportunity record page.
* The **Storylane login page** loads in the iframe. Log in using your credentials and browse demos.

6. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

7. **Receive the Demo URL and Copy the URL to Your Clipboard**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.
* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

***

## **Storylane Permission Set: Resolving Apex Class Access Issues for Salesforce Users**

**Issue ->** Salesforce users with restricted permissions may encounter **Apex Class access issues** when using Storylane features.

**Solution ->** To resolve this, a **Salesforce Administrator** must assign the **Storylane PermissionSet** to the affected user.

**Steps to Assign the Storylane PermissionSet:**

1. **Log in** to Salesforce as an **Administrator**.
2. Navigate to **Setup > Users > Permission Sets**.
3. Locate **Storylane PermissionSet** in the list.
4. Click on the **permission set**, then select **Manage Assignments**.
5. Click **Add Assignments** and select the users who need access.
6. Click **Assign** to apply the required permissions.

### 👉 Share via Gmail plugin <a href="#recipient-url" id="recipient-url"></a>

Attach demos into your emails as GIFs or links directly from Gmail — no switching tabs (or context!)

This is perfect for sales teams looking for an easy way to share demo leave behinds with prospects. Storylane sends real-time notifications for demo engagement to stay on top of high-intent accounts.

{% hint style="info" %}
To enable this Gmail plugin, please make sure the Storylane extension is installed and enabled in your Chrome browser. This will automatically activate the Gmail plugin.
{% endhint %}

Here's how it works 👇

{% @storylane/embed subdomain="app" url="<https://app.storylane.io/share/aasvnxdxhniv>" linkValue="aasvnxdxhniv" %}

***

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Share on Social

Share demos as links or GIF previews across social platforms.

#### 🌐 Supported platforms

* LinkedIn
* X (Twitter)

***

#### ✨ How it works

* Share your demo link directly
* Use a GIF preview for higher engagement
* Drive traffic to an interactive demo experience

***

{% hint style="success" %}
Want to track performance? Add a LinkedIn pixel to your demo to measure engagement and conversions.

👉  [**Learn more about it here**](broken://pages/t9J8dJwHpAWdXYR7Liuw)**!**
{% endhint %}

***

#### ❓ What about other platforms

For platforms without direct support (like Facebook or Bing):

* [Download a GIF](/sharing-demos/exports-and-downloads#download-as-a-gif) of your demo
* Add it to your post with a link to the full experience

This helps create a more engaging preview and drives clicks.

<div align="left"><figure><img src="/files/FqrAHGrqO64Ir6NziZPA" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/bEbqNKt3Ec0VEIIOTN6b" alt="" width="563"><figcaption></figcaption></figure></div>


# Socials & Email Campaigns

Share Storylane demos across your marketing channels

* [Email Campaigns](#share-in-email-campaigns)
* [Social Platforms](#share-across-social-platforms)

### 👉 Share in Email Campaigns

Easily embed your interactive demo in email campaigns via HubSpot, Marketo, Outreach, and 15+ email providers

<div align="left"><figure><img src="/files/fueer9v4CB92QmUN9Xhr" alt="" width="563"><figcaption></figcaption></figure></div>

### How it works

1. Click on the "Share" button
2. Navigate to the "Email Campaign"
3. Select your Email Provider
4. Click "Copy" to copy the link and paste it into your email

When sharing your demos via email campaigns, you can pick your email providers, such as HubSpot, Marketo, Pardot, and others, to track and personalize the data. Storylane supports 15+ different email providers:

* Active Campaign
* Apollo
* Campaign Monitor
* Constant Contact
* HubSpot
* Intercom
* Klaviyo
* Lemlist
* Lusha
* Marketo
* Outreach
* Pardot
* Reply
* Salesloft
* Woodpecker
* ChurnZero

{% hint style="info" %}
Not only that, you can also send demo events to your CRM, MAP,  data warehouse and more. \
See all [integrations](/integrations/integrations-and-data-flow) that Storylane supports here.
{% endhint %}

### 👉 Share across social platforms

Directly share demos as links or GIFs on LinkedIn and X (Twitter), bringing your product closer to where your buyers are.

<div align="left"><figure><img src="/files/FqrAHGrqO64Ir6NziZPA" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/bEbqNKt3Ec0VEIIOTN6b" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Tip: Want to track the performance of your post? You can easily add a LinkedIn pixel to the demo code to measure your impact >>> [**Learn more about it here**](broken://pages/t9J8dJwHpAWdXYR7Liuw)**!**
{% endhint %}

#### What about Facebook, Bing, and other networks?

For social networks where we don't have a direct integration, you can [download a GIF](/sharing-demos/exports-and-downloads#download-as-a-gif) of your demo and include it in your post for more visual impact. This is great for catching attention with an eye-catching demo preview.

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Present Mode

Prepare conference-ready demos with Storylane

Presenter Mode is designed especially for salespeople running live demos. It helps you stay in control, hide behind-the-scenes details, and keep your flow smooth.

{% hint style="info" %}
Presenter Mode requires the **Storylane Chrome Extension**. \
If you don't have it, [install it here](https://chromewebstore.google.com/detail/storylane/ongmhighpnfpojfidgigcjflgdkjfdeb).
{% endhint %}

### What is Presenter Mode?

Presenter Mode presents your demo in a clean, distraction-free way.

* **Hides guide content** from the screen you share with prospects. You can navigate either via pointers or arrow keys.
* **Shows guide text and sales notes** in a another browser tab (ideal for dual-monitor setup).

This way, your audience sees a clean, click-through demo experience, while you keep all the context you need at hand.

Try the interactive demo below 👇

{% embed url="<https://demo.storylane.com/share/smglnhvpibph>" %}

***

### **Where you can use it**

Presenter Mode is available in:

* **Screenshot demos**
* **Guide mode in HTML demos**

***

### **How to Use Presenter Mode**

***

* Launch the Storylane extension
* Toggle on the **Present mode**
* Choose the demo and start presenting

<figure><img src="/files/tZVnwE7ZKhWICpwVmJ9r" alt=""><figcaption></figcaption></figure>

***

### **Sales Notes**

You can add notes to each step to guide your demo or presentation.

**To add sales notes:**

1. Open your demo in the editor
2. Select a step
3. Right-click and add your sales note
4. Save note

<div align="left"><figure><img src="/files/VCBxPpXsSp7QnSq9YlNc" alt="" width="563"><figcaption></figcaption></figure></div>

Your notes will appear in another window and update as you move through the demo.

***

### Recommended Setup

* **Dual-screen setup (recommended):** Place your private tab with guide content and notes on a second monitor, while the first monitor displays the clean demo to your audience.
* **Single-screen setup:** Share only the browser tab with the demo. Keep the private tab with notes open, but unshared.

This ensures that only you can see the notes and guide instructions while prospects stay focused on the product.

***

### Why Use It?

* **Stay polished:** Deliver demos without clutter or distractions.
* **Confident presenting:** Have talking points and notes handy at all times.
* **Control the flow:** Show prospects exactly what you want them to see.<br>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Conference Mode

Prepare conference-ready demos with Storylane

Conferences are pivotal to showcase your product to a live audience. Storylane interactive demos support multiple features to help significantly enhance comprehension and engagement.

* [Offline demos](#offline-demos)
* [Demo autoplay](#demo-autoplay)
* [Fullscreen mode](#fullscreen-mode)

### 👉 Offline demos

Storylane offline demos are a great option for situations like conferences, trade shows, and site visits where internet connectivity may be unreliable. Here’s how it works:

* **Download the demo**: Ensure you have a good internet connection when downloading the demo for offline use. This makes it accessible anytime, directly through a secure URL.
* **Seamless viewing**: Once downloaded, you don’t need to worry about refreshing the page or losing progress if the connection drops. The demo remains fully operational.
* **Ideal for On-the-Go**: Whether you’re on a site visit or in transit, the offline demo lets you showcase your product without the need for internet access.
* **Ready When You Are**: No need to set up or rely on unstable connections—just open the saved URL, and your demo is ready.

(Note: Analytics won’t be captured during offline viewing)

<div align="left"><figure><img src="/files/mzY4n8p8NKWcPsg0cWvr" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Important Notice:**

When using multiple offline demos simultaneously, please be aware that they ***cannot*** be opened in the same browser tab. Each demo relies on its own dedicated resources, and when multiple demos are opened in the same tab, the second demo will not be able to access the necessary resources. To ensure smooth functionality, we recommend either combining the demos into a single experience or opening each demo in a separate tab.
{% endhint %}

### 👉 Demo autoplay

Auto playing demos is a great way to grab attention to your conference booths. Here's how it works:

1. Open the demo you would like to autoplay.&#x20;
2. Go to demo settings (gear icon at the top) > Behavior.&#x20;
3. Here, you can turn on autoplay and choose the speed of the demo.

<div align="left"><figure><img src="/files/wNmmk8ncJMlonZo0ro4v" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Pro tip: Configure the CTA on the final step of your demo to link back to the first step for an endless demo loop
{% endhint %}

### 👉 Fullscreen mode

If you plan to showcase your screenshot demo in fullscreen, check whether you have enabled a border for your demo. Follow these steps:

1. Open the demo for which you'd like to use in fullscreen
2. Click on demo settings (⚙️) and select framework
3. Ensure it's set to either light or dark
4. Once set, republish and open your demo
5. You'll find a full screen button on your frame

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Exports & Downloads

You can export your interactive demos as GIFs, Videos, or download them for offline access.

* [Export as GIF](#download-as-gif)
* [Export as PDF](#export-as-pdf-or-sop)
* [Export video](#download-video)
* [Download offline](#download-offline)

{% hint style="info" %}
Keep in mind that Storylane is primarily for interactive demos, allowing viewers to directly click around your product. Once downloaded, Storylane demos lose their interactivity and become view-only GIFs or videos.
{% endhint %}

### 👉 Export as GIF

* If you want to share a small demo snippet as a GIF, click "Share" > "Export" > "View & Export", and copy the GIF for email or download it.
* These are perfect for use in email campaigns and social media posts.

### 👉 Export as PDF, Word Markdown or SOP

* With this feature you can turn any interactive demo into a downloadable PDF, markdown, Word, or copyable text you can use in slides, docs, SOPs, emails, or training materials.
* This is great to share internal-ready assets without requiring live links, and to create documentation, playbooks, and training materials directly from the live demo.

{% @storylane/embed subdomain="app" linkValue="jjxzbg2u6ynx" url="<https://app.storylane.io/share/jjxzbg2u6ynx>" %}

### 👉 Export video&#x20;

* You can export your demo as an MP4 video file.
* On the share page > Go to 'Exports' > Under Video, click 'Export' > You will automatically receive an email with the video and the GIF. Video downloads may take a few minutes to land in your inbox when demand is high.

<div align="left"><figure><img src="/files/tkVYuMiFzIwfrYkGYdvU" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Download Offline

{% hint style="info" %}
Offline demos are part of our Conference Mode - learn full best practices [here](/sharing-demos/conference-mode)
{% endhint %}

* Easily download your demo and enjoy offline access anytime with a secure URL!
* In addition to events and conferences, offline demos are especially helpful for field sales use cases
* On the share page > Go to 'Export' > Under Offline Demo, click 'Open offline' > click the provided secure URL to download your demo for offline viewing. Enjoy your demo anytime, anywhere!

{% hint style="warning" %}
Analytics won't be captured while viewing in offline mode
{% endhint %}

<div align="left"><figure><img src="/files/1UzNLb9FgHpl4UiDU6bD" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Demo Protection & Security

Storylane supports multiple ways to secure your demo and demo access

* [Password protection](#password-protection)
* [Link expiration](#link-expiration)
* [Domain-restricted access with authentication](#domain-restricted-access-with-authentication)
* [Private demo access](#private-demo-access)
* [Unpublish a demo](#unpublish-a-demo)

### 👉 Password protection

Add password protection to make sure that your Storylane interactive demo is viewed only by a specific audience.

<div align="left"><figure><img src="/files/FHHVN7L3vhioLJIr8NNY" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Link expiration

Setting a link expiration date turns off access after a certain period of time (For example, after a conference ends).

<div align="left"><figure><img src="/files/1ffVO9Bf8AvPVegPPw6c" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Domain-restricted access with authentication

You can control who views your demo by allowing or blocking specific domains, and requiring viewers to enter a 4-digit code sent directly to their email before they can access it. This ensures that only verified people can view your demo content.

**How to use it:**

* Enable **'Require Email',** and set **Allowed or Blocked Domains:** Specify the email domains you want to allow or block. This ensures only your target audience gets access to your demo.
* Toggle on **'Require Authentication':** In the share modal, go to **'Secure Link'** and turn on the **'Require Authentication'** toggle.
* Once enabled, viewers will be prompted to enter a 4-digit code sent to their email before accessing your demo.

Here's how it works

<figure><img src="/files/tJJZP9fAh98DKPHPoAu7" alt=""><figcaption></figcaption></figure>

### 👉 Private demo access

Storylane offers private demo links for enhanced content security and access control. This feature allows you to restrict access to your demos so that only authenticated Storylane users can view them.

{% hint style="info" %}
Available in Enterprise plan
{% endhint %}

#### Viewer access management

* You can have dedicated "Viewer" users who can only access private demos
* Viewers cannot access the dashboard or any content creation features
* This allows you to share content with clients or stakeholders without providing full account access
* Single Sign-On (SSO) is fully supported for all users, including Viewers

#### Use cases for private links

* **Internal training materials**: Ensure only your team members can access training content
* **Confidential product demos**: Share pre-release features securely with select clients
* **Sensitive information**: Maintain control over who can view demos containing proprietary data

### 👉 Unpublish a demo

To unpublish a demo, open the Storylane editor, select the "Publish" drop down, and select "Unpublish".

<div align="left"><figure><img src="/files/5LVn5YjwhjiHsrFBi1xA" alt="" width="405"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Share Link

When sharing a Storylane demo link, you have a few options to choose from:&#x20;

* [Default Link](#default-share-link)
* [Personalized Links](#additional-personalized-links)
* [Trackable Link](#recipient-url)

{% hint style="info" %}
You can also share your demo link [via extension](/sharing-demos/share-link/share-via-extension), [via Gmail plugin](/sharing-demos/share-link/share-via-gmail-plugin), [via HubSpot app](/sharing-demos/share-link/share-via-hubspot), or [via Salesforce app.](/sharing-demos/share-link/share-via-salesforce)
{% endhint %}

### 👉 Default Share Link

Copy your default link to share your interactive demo with prospects through emails, social posts, messages, etc.&#x20;

{% hint style="info" %}
💡 Tip: Share a GIF to boost open rates ('Copy GIF')
{% endhint %}

<figure><img src="/files/dPnvJlyDmOCUj1lrkCm7" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Anyone with the link can open it without the need for a Storylane account, making it a hassle-free experience.
{% endhint %}

* In case the content is **confidential**, you can adjust the link settings with restricted domains, passcodes, and expiry dates. See how to set it up in this interactive demo below 👇

{% @storylane/embed subdomain="app" linkValue="sfcdrzg7p3l1" url="<https://app.storylane.io/demo/sfcdrzg7p3l1>" %}

### 👉 Additional Personalized Links

If you want to have multiple links for the same demo to track the performance of each separately, you can create additional demo links.&#x20;

One advantage with custom links is its ability to tag new contacts in your CRM systems like [HubSpot](/integrations/integrations-and-data-flow/hubspot) or [Salesforce](/integrations/integrations-and-data-flow/salesforce), when prospects interact with your demo, enabling you to track engagement and performance efficiently. Use these insights for follow-up strategies.

Also, you can customize each link with custom tokens, assign different links for team members, or use the same demo in multiple campaigns or landing pages.&#x20;

### 👉 Share with a Recipient <a href="#recipient-url" id="recipient-url"></a>

You can share an individual, trackable link by customizing it with a recipient's email to make it trackable and receive instant notifications when a prospect views it.

<figure><img src="/files/Wz96Wj7PdrkE9JDHPtiM" alt=""><figcaption></figcaption></figure>


# Share via Extension

Share your demo directly from the Storylane Chrome extension — quick and seamless.

Secure demo links with options like passcodes and expiration dates. Generate personalized links to receive real-time notifications when your demos are viewed.

<div align="left"><figure><img src="/files/hdKBW785zgxZxFZf7swB" alt="" width="563"><figcaption></figcaption></figure></div>


# Share via Gmail Plugin

Attach demos into your emails as GIFs or links directly from Gmail — no switching tabs (or context!)

This is perfect for sales teams looking for an easy way to share demo leave behinds with prospects. Storylane sends real-time notifications for demo engagement to stay on top of high-intent accounts.

{% hint style="info" %}
To enable this Gmail plugin, please make sure the Storylane extension is installed and enabled in your Chrome browser. This will automatically activate the Gmail plugin.
{% endhint %}

Here's how it works 👇

{% @storylane/embed subdomain="app" linkValue="aasvnxdxhniv" url="<https://app.storylane.io/share/aasvnxdxhniv>" %}


# Share via HubSpot

Track and share Storylane demos directly from your HubSpot account

### Prerequisites

1. **Install the Storylane App in HubSpot**\
   To get started, install [the **Storylane App for HubSpot** from the HubSpot App Marketplace](https://ecosystem.hubspot.com/marketplace/apps/storylane-385060).
2. **Integrate Storylane with HubSpot**\
   For the app to work seamlessly, you must [integrate Storylane with HubSpot](https://app.storylane.io/integrations) to enable API-level data sharing.

### How it works <a href="#how-it-works" id="how-it-works"></a>

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="app" linkValue="4zf5t1dx4bjl" url="<https://app.storylane.io/share/4zf5t1dx4bjl>" %}

#### Step 1: Add the Storylane Card to HubSpot's Contact Sidebar

1. Navigate to Contact Edit Layout in your HubSpot account.
2. Locate and add the Storylane card to the contact sidebar.
3. Click Save and Exit to apply your changes.

<div align="left"><figure><img src="/files/kml7uwZJUAFIZwnAm8NE" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/1puikQ4YuNIBMXI7T0t4" alt="" width="563"><figcaption></figcaption></figure></div>

#### Step 2: Access the Storylane Extension

1. Open a contact record in HubSpot.
2. Click the Storylane Demo button located in the sidebar.
3. A modal iframe will open. Log in using your Storylane credentials.

<div align="left"><figure><img src="/files/Kq6dldYzP91FcOmswUAU" alt="" width="563"><figcaption></figcaption></figure></div>

#### Step 3: Copy and Share Tokenized Demo Links

1. Once logged in, you’ll see a list of available demos.
2. Click Copy Link next to the desired demo to copy the tokenized URL to your clipboard.
   1. If the contact email exists, a tokenized URL will be copied.
   2. If the contact email is missing, the default demo URL will be copied instead.

<div align="left"><figure><img src="/files/V46f9jHIc2e8vf6UqR9v" alt="" width="563"><figcaption></figcaption></figure></div>


# Share via Salesforce

Effortlessly access and share Storylane demos directly from your Salesforce account

The Storylane App for Salesforce streamlines demo sharing by allowing users to log into Storylane, generate a demo URL, and automatically copy it to their clipboard, directly from Salesforce.&#x20;

There are two options/views to access Storylane in Salesforce and share demos:

* [**Button View**](#option-1-button-view): Add a "Storylane Demo" quick action button to the Opportunity record page.
* [**Tab View**](#option-2-tab-view): Add the Storylane Lightning Web Component (LWC) as a separate tab on the Opportunity record page.

### Prerequisites

1. **Install the App**\
   To get started, install [the **Storylane App for Salesforce** from the Salesforce AppExchange](https://appexchange.salesforce.com/appxListingDetail?listingId=afc912b9-7143-410d-a2f5-8ca49c9b9ceb)<br>
2. **Integrate Storylane with Salesforce**\
   For the app to work seamlessly, you must [integrate Storylane with Salesforce](https://app.storylane.io/integrations) to enable API-level data sharing.

### **How it Works?**

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="renee" linkValue="2vzyiqakolbh" url="<https://renee.storylane.io/demo/2vzyiqakolbh>" %}

### **Option 1: Button View**

1. **Add the "Storylane Demo" Button**
   * A custom button ("Get a Demo") is added as a Quick Action on the Opportunity record page.
   * When clicked, the iframe loads the Storylane login page directly within Salesforce.

<div align="left"><figure><img src="/files/DuIzKFb6Tx1CGwpCxF39" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Log in to Storylane and Browse Demos**
   * Click the **“Get a Demo”** button on the Opportunity record page.
   * The **Storylane login page** will load in the iframe. Log in using your credentials.
   * After logging in, browse through the demos to select the right one.

<div align="left"><figure><img src="/files/UZZrhEO1siKls4E8aAbw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

<div align="left"><figure><img src="/files/KOhvoTKBNUngXn51FEvP" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Receive the Demo URL**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.

5. **Copy the URL to Your Clipboard**

* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

<div align="left"><figure><img src="/files/l4YtPZUMTN3k6Gz65fVe" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
The behavior of the "Copy Link" Button

* **No Opportunity Contact Roles**: The Storylane Demo Base URL is copied to the clipboard.
* **Opportunity Contact Role**: The Storylane Demo **Tokenized** URL is copied to the clipboard.
  {% endhint %}

### Option 2: Tab View

You can add the "Storylane Demo" LWC to the Opportunity record page in a separate tab.

1. **Navigate to Opportunity Record Page**

* Access the Opportunity record page
* Click the "Edit Page" button

<div align="left"><figure><img src="/files/POLh8Eg6QKwuX7UtVwPp" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Add a New Tab for Storylane**

* Locate the tabs section
* Create a new tab dedicated to Storylane

<div align="left"><figure><img src="/files/QSLomGpPQL203TCb8vQw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Add the Storylane LWC to the Tab**

* Drag and drop the Storylane LWC component into the new tab

<div align="left"><figure><img src="/files/mvzx5aosRxkWXMxcy1wT" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Activate and Save the Page**

* After completing these steps, you can access Storylane directly from the Opportunity record page tab.

<div align="left"><figure><img src="/files/9ywfxiW6p8Huzg5mllci" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/UJcOv1RmHcGF9BnwvQr9" alt="" width="563"><figcaption></figcaption></figure></div>

5. **Log in to Storylane and Browse Demos**

* Click the **“Get a Demo”** button on the Opportunity record page.
* The **Storylane login page** loads in the iframe. Log in using your credentials and browse demos.

6. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

7. **Receive the Demo URL and Copy the URL to Your Clipboard**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.
* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

***

## **Storylane Permission Set: Resolving Apex Class Access Issues for Salesforce Users**

**Issue ->** Salesforce users with restricted permissions may encounter **Apex Class access issues** when using Storylane features.

**Solution ->** To resolve this, a **Salesforce Administrator** must assign the **Storylane PermissionSet** to the affected user.

**Steps to Assign the Storylane PermissionSet:**

1. **Log in** to Salesforce as an **Administrator**.
2. Navigate to **Setup > Users > Permission Sets**.
3. Locate **Storylane PermissionSet** in the list.
4. Click on the **permission set**, then select **Manage Assignments**.
5. Click **Add Assignments** and select the users who need access.
6. Click **Assign** to apply the required permissions.

***

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Sandbox Configuration

Responsive demo environments for reliable product experience

* Quickly customize and personalize responsive product demo environments
* Customize demo data to prospects without developer dependency
* Enable sales reps to show reliable, consistent demos at scale

{% hint style="info" %}
Sandbox demos are built with HTML recordings
{% endhint %}

### **How to build sandbox demos**

Sandbox demos are built after you record your product screens using the "[Record HTML](/recording-demos/recording-html-demos)" option. Once you have recorded various screens needed for your demo, then you can build links between captured screens to simulate a live demo experience.&#x20;

#### **Linking screens**

* Choose Element in the captured screen,&#x20;
* Select the 'link' icon and choose the target screen&#x20;
* While creating a link, pick how to link the element "All Screens" vs "Only this Screen". &#x20;
  * "All Screens" -> Automatically search for the element across all screens to create a link. (this is useful if you have the same element repeating in different screens, so you don't have to repeatedly create links on each screen)
  * "Only this Screen" -> Will create a link only for the current screen (this is useful if you want to have different linking for the same element from different screens)

Here is the example story on how to set it up.&#x20;

Try Interactive Demo Yourself 👇&#x20;

{% @storylane/embed subdomain="app" linkValue="bmlb0grpdgqz" url="<https://app.storylane.io/share/bmlb0grpdgqz>" %}

{% hint style="info" %}
**👉 Tip: Shortcut Key to Highlight Links**&#x20;

You can use a shortcut key to find links in your HTML demo. Press “Ctrl” to instantly highlight all clickable links in blue color.
{% endhint %}

#### **Auto-Linking screens**

During HTML recording, the screens you capture are automatically linked to their respective buttons by default. If you want to turn off auto-linking, refer to the provided guide.

{% @storylane/embed subdomain="app" linkValue="r5gicvxa5jcu" url="<https://app.storylane.io/share/r5gicvxa5jcu>" %}

### Presenter Notes

The **Presenter Notes** feature is designed to empower your sales team with step-by-step scripted guidance for each part of your sandbox demos.&#x20;

* **Standardize Demo Delivery Across Teams:** Ensures that every team member, regardless of their experience level, can deliver high-quality demos by following proven scripts.
* **Enhance Presenter Confidence:** Gives presenters a reliable reference to reduce on-the-spot pressure and improve delivery.

{% hint style="warning" %}
ℹ️ **Note:** The ability to **create custom Presenter Notes** is available only in **HTML demos**.\
For **Screenshot demos**, you can still see notes - they are automatically taken from your Guide text and shown in a private panel when you enable [Presenter Mode](/sandbox-demo/sandbox-configuration/present-mode).
{% endhint %}

<figure><img src="/files/gQbO9g2X070m0x20m7Yi" alt=""><figcaption></figcaption></figure>

Presenter Notes is ideal for:

* **Sales Teams:** Looking to optimize their demo performance and conversion rates.
* **Product Marketers:** Aiming to ensure product features are communicated consistently and effectively.
* **Sales Leaders:** Seeking to standardize training materials and demo scripts across the organization.

#### **How it works**

1. **Set up Your Notes:**
   * Navigate to the HTML Editor of the demo you wish to edit within Storylane.
   * Click the **three dots (⋯)** on any screen in the left panel — click on "Add sales notes" and then a **Presenter Note** pop-up will open.
   * Enter your scripted guidance or key points in the "Presenter Note" section.
   * Once you are done, click the 'Save' button
2. **Delivering Your Demo:**
   * Launch your sandbox demo as usual.
   * Initialize Presenter Notes by clicking the Storylane extension, then refresh the page.
   * As you progress through each step, the corresponding Presenter Notes will appear on your screen, visible only to you.
   * Click on it, and follow the script or key points in your Presenter Note to deliver a consistent and impactful demo.

{% hint style="info" %}
If Presenter Notes are not showing up, initialize them by clicking the Storylane extension, then refresh the page. The Presenter Notes should now appear.
{% endhint %}

{% @storylane/embed subdomain="app" linkValue="muujtimqfacq" url="<https://app.storylane.io/share/muujtimqfacq>" %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Present Mode

Run polished live demos without showing guides content.

Presenter Mode is designed especially for salespeople running live demos. It helps you stay in control, hide behind-the-scenes details, and keep your flow smooth.

{% hint style="info" %}
Presenter Mode requires the **Storylane Chrome Extension**. \
If you don't have it, [install it here](https://chromewebstore.google.com/detail/storylane/ongmhighpnfpojfidgigcjflgdkjfdeb).
{% endhint %}

### What is Presenter Mode?

Presenter Mode presents your demo in a clean, distraction-free way.

* **Hides guide content** from the screen you share with prospects. You can navigate either via pointers or arrow keys.
* **Shows guide text and sales notes** in a another browser tab (ideal for dual-monitor setup).

This way, your audience sees a clean, click-through demo experience, while you keep all the context you need at hand.

Try the interactive demo below 👇

{% @storylane/embed subdomain="app" linkValue="o6nlkjlo3sud" url="<https://app.storylane.io/share/o6nlkjlo3sud>" %}

***

### **Where you can use it**

Presenter Mode is available in:

* **Screenshot demos**
* **Guide mode in HTML demos**

***

### **How to Use Presenter Mode**

**From the Share Page**

* Open your demo
* Click **Share**
* Select **Present**
* Open or copy the Presenter Mode link

<div align="left"><figure><img src="/files/XKKzufluy3ZAL2hD1uRt" alt="" width="563"><figcaption></figcaption></figure></div>

***

**From the Chrome Extension**

* Launch the Storylane extension
* Toggle on the **Present mode**
* Choose the demo and start presenting

<div align="left"><figure><img src="/files/nhiERC3ubVink5tzcx2f" alt="" width="375"><figcaption></figcaption></figure></div>

***

### **Sales Notes**

You can add notes to each step to guide your demo or presentation.

**To add sales notes:**

1. Open your demo in the editor
2. Select a step
3. Right-click and add your sales note
4. Save note

<div align="left"><figure><img src="/files/VCBxPpXsSp7QnSq9YlNc" alt="" width="563"><figcaption></figcaption></figure></div>

Your notes will appear in another window and update as you move through the demo.

***

### Recommended Setup

* **Dual-screen setup (recommended):** Place your private tab with guide content and notes on a second monitor, while the first monitor displays the clean demo to your audience.
* **Single-screen setup:** Share only the browser tab with the demo. Keep the private tab with notes open, but unshared.

This ensures that only you can see the notes and guide instructions while prospects stay focused on the product.

***

### Why Use It?

* **Stay polished:** Deliver demos without clutter or distractions.
* **Confident presenting:** Have talking points and notes handy at all times.
* **Control the flow:** Show prospects exactly what you want them to see.

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Capture Leads

Identify leads and track analytics from your interactive demo

Interactive demos are an effective lead generation channel. Capture and send leads straight to your CRM, MAP, and other GTM tools along with session analytics from Storylane.

We support three ways to capture leads:

1. [Lead form inside the demo](#lead-form-inside-the-demo)
2. [Lead form outside the demo](#lead-form-outside-the-demo)
3. [URL params](#url-param)

### **👉 Lead form inside the demo**

Add a lead form as a step in any demo chapter. We typically recommend adding lead forms at the beginning, end, or at a "cliff-hanger" point in the middle of your demo. Here are your options:

#### **a. Storylane's Native Lead Form**

This form provides two configurable fields: `email` and `name (optional)`

<div align="left"><figure><img src="/files/L409eKCyivxx6yim1z3r" alt="" width="563"><figcaption></figcaption></figure></div>

💡 New: Add a lead form right inside from any screen&#x20;

You can now add a lead form directly between any two screens using the **"+"** button that appears between steps.

1. Hover between any two screens in the left panel and click the **"+"** button.
2. Select **"Lead form"** from the Add step menu.
3. The lead form will be attached to the **next screen**, so clicking "+" between Step 2 and Step 3 will add the lead form to Step 3.

<div align="left"><figure><img src="/files/VWrX2gkkt7rHWpxpbEVx" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Note: We split the name into "\<first> \<last>" before updating your integrated CRM
{% endhint %}

#### **b. Custom Embed Form**

To add your own custom form, copy and [paste its embed code](https://docs.storylane.io/changelog/changes-for-march-2023/march-14-2023) through the inbuilt lead form guide. Most commonly, we see forms built from:

* [HubSpot](https://knowledge.hubspot.com/forms/create-forms)&#x20;
* [Marketo](https://experienceleague.adobe.com/docs/marketo/using/product-docs/demand-generation/forms/creating-a-form/create-a-form.html)
* [Pardot](https://help.salesforce.com/s/articleView?id=sf.pardot_forms.htm\&type=5), which requires a [custom setup](/integrations/integrations-and-data-flow/pardot/pardot-form)

The lead form can be added as a specific step to your chapter. We recommend going with this option if you either need to customize your form or have additional fields to collect.&#x20;

{% @storylane/embed subdomain="app" linkValue="giygjmt8xq87" url="<https://app.storylane.io/share/giygjmt8xq87>" %}

{% hint style="info" %}
**Tracking UTMs inside the demo**

The most common example is to pass UTM params in the URL where you embed the demo or to add it in the CTAs.

![](/files/JbVQqeoW8A8QquJySb54)

The UTMs will be sent to your CRM only if you have the Storylane integration with HubSpot/Marketo/Pardot and the UTM mapping.

If you need any additional information or need assistance, just contact us (<support@storylane.io>)
{% endhint %}

Note that the lead gen form will NOT re-appear in cases where the user has already submitted the form in the demo.

### **👉 Lead Form outside the demo**

Set up a lead form before the demo starts on your website as a gated tour. Most commonly, we see:

* Custom forms added to landing pages, redirecting users to the demo post form submission
* Forms are used as an overlay on top of the demo. Once the form is filled out, the demo is loaded.&#x20;

<div align="left"><figure><img src="/files/2m1zYysXtWKfyvFR5lBr" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Tracking UTMs outside the demo and Cookie tracking**

👉 **Cookie Tracking**

* Storylane can capture leads using your marketing cookie, and associate leads with demo analytics.&#x20;
* Cookie tracking has two primary use cases:
  * External Lead Form Before Demo
    * The form is filled out first, **then** the lead is passed to the demo.
    * The user has filled out a form already on your website and is a returning visitor

\>>> Read more about cookie tracking [**here**](broken://pages/Lrg1TZbcEEgGZnZ5lnWt).

👉 **Tracking UTMs**

* When a demo is embedded on the website, and someone clicks the CTA, Storylane allows you to utilize UTM parameters to track and capture it.&#x20;
* The UTMs will be sent to your CRM only if you have the Storylane integration with HubSpot/Marketo/Pardot and the UTM mapping.

  If you need any additional information or need assistance, just contact us  (<support@storylane.io>)
  {% endhint %}

### **👉** URL param&#x20;

Leads may also be identified by passing 'email' as a URL param either in the demo share URL or in the domain where the demo is embedded.&#x20;

As a result, whenever a user engages with your demo, you'll be notified in Slack (provided it's integrated with your Storylane account). This data is also passed on to your CRM/GTM stack.

One of the ways we use this at Storylane is in our weekly product update emails. Most of our product emails carry a GIF of our new releases. We link this to the actual releases demo that we create and add the email param to the demo URL.&#x20;

This not only helps us understand prospect engagement patterns also keeps our revenue teams, who spend the majority of their time inside the CRM updated on the lead activity. We reach out to high-intent prospects and dormant users whenever they show consistent engagement with our demos.&#x20;

* See an example of passing the 'email' param in the demo share URL below:

```html
https://app.storylane.io/share/vyxhoclq5jpr?email=john@acme.com
```

* Example of passing 'email' param to landing page URL that has demo embedded in it. Storylane embed code in the page will pick the email param from the parent window URL:&#x20;

```html
https://acme.com/product-tour?email=john@acme.com
```

Try Interactive Demo Yourself 👇&#x20;

{% @storylane/embed subdomain="app" linkValue="h1pdq4zjg2jb" url="<https://app.storylane.io/share/h1pdq4zjg2jb>" %}

<details>

<summary>Here is a list of tools and their respective email parameters:</summary>

* **Active Campaign:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**%EMAIL%>\*\*
* **Apollo:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Campaign Monitor:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\[email>]\*\*
* **Constant Contact:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\[\\[emailAddress>]]\*\*
* **HubSpot:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{contact.email\\}}>\*\*
* **Intercom:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Klaviyo:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Lemlist:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Lusha:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Marketo:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{lead.Email> Address:default=noemail}}\*\*
* **Outreach:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Pardot:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{Recipient.Email\\}}>\*\*
* **Reply:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **Salesloft:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\_address\\}}>\*\*
* **Woodpecker:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**\\{{email\\}}>\*\*
* **ChurnZero:** <https://mycompany.storylane.io/share/ivx1h59a6vdf?email=**{\\[contact.email\\}}>\*\*

Also, if you use a different tool from the ones listed above, we'd be happy to add it to the list of our supported tools.

</details>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Lead Attribution

It's incredibly easy to track a visitor's journey from anonymous viewers to engaged leads on Storylane.

* [How Lead Attribution Works](#how-lead-attribution-works)
* [Installing the Script](#how-to-install-the-storylane-javascript-code)
* [Lead Attribution Tracking](#lead-attribution-tracking)
* [Best practices](#best-practices)

***

## 👉 How Lead Attribution Works

1. **First Visit: Unknown Lead**\
   A visitor lands on your site but hasn’t shared their email: they’re still anonymous.
2. **Demo Time: Staying Anonymous**\
   The visitor explores a Storylane demo — we identify account-level data but without the visitor submitting a form, they're still unknown at a user-level.
3. **Form Filled: They’re In**\
   The visitor eventually fills out a form on the website (with Storylane JS embeded). Now, Storylane can link their email to past demo interactions.
4. **Lead Linking Magic**\
   Boom! Storylane matches the email with previous demo actions, giving us a full picture of their journey and interest level (+ all future interactions)!

{% hint style="danger" %}
For automatic lead attribution to work, Storylane JS must be installed on *every page* of the website. Without this, we can’t detect those form submissions or link demo activity back to leads.
{% endhint %}

***

## 👉 How to Install the Storylane JavaScript Code

Add this code snippet to the `<head>` section on every page to power up lead tracking:

```html
<script>
  (function() {
    "use strict";
    function e(t) {
      var r = t.head;
      if (!r) return;
      var i = t.querySelector('script[src="https://js.storylane.io/js/v2/storylane.js"]'),
          n = t.querySelector('script[src="https://js.storylane.io/js/v1/storylane.js"]');
      if (i || n) return;
      var s = t.createElement("script");
      s.type = "text/javascript", s.async = !0, s.src = "https://js.storylane.io/js/v2/storylane.js",
      r.appendChild(s);
    }
    e(window.document);
  })();
</script>
```

***

### **👉 Lead Attribution Tracking**

### How to Set Up Using Google Tag Manager (GTM)

Add Storylane SDK quickly using Google Tag Manager without any engineering effort.

1. Sign in to [Google Tag Manager](https://tagmanager.google.com/) and select “Workspace”.
2. Click on “Add a new tag” and name it "**Storylane Tag"**.
3. Click **Edit** on Tag Configuration and under custom, select **Custom HTML**.
4. Copy the tracking script below and paste it into the HTML field. Hit **Save**.

{% code overflow="wrap" fullWidth="false" %}

```javascript
<script>(function(){"use strict";function e(t){var r=t.head;if(!r)return;var i=t.querySelector('script[src="https://js.storylane.io/js/v2/storylane.js"]'),n=t.querySelector('script[src="https://js.storylane.io/js/v1/storylane.js"]');if(i||n)return;var s=t.createElement("script");s.type="text/javascript",s.async=!0,s.src="https://js.storylane.io/js/v2/storylane.js",r.appendChild(s)}e(window.document)})();</script>
```

{% endcode %}

5. In the Triggers popup, click **Add Trigger** and select **All Pages**.
6. Once the trigger has been added, click on **Publish** at the top of your GTM window and that’s it!

***

## 👉 Best Practices

To keep everything smooth:

* [x] **Storylane JS Code:** Must be on *every page*, in the `<head>` tag.
* [x] **CRM Integrations:** We support Marketo, HubSpot, and Pardot (other CRMs coming soon).

***

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Tracking and Analyzing

Storylane offers powerful insights into your demo performance.

* [Usage Tracking](#usage-tracking)
* [UTM Tracking](#utm-tracking)
* [Cookie Tracking](#cookie-tracking)
* [Export Analytics](#export-analytics)

### &#x20;👉 Usage Tracking

Storylane automatically gathers analytics for each demo. Vew the summary in the "Analytics" page. &#x20;

Storylane supports 3 levels of analytics:

* [Global Analytics](#global-analytics)
* [Single Demo Analytics](#single-demo-analytics)
* [Session Analytics](#session-analytics)

{% hint style="info" %}
At Storylane, you can also use **UTM parameters** - to track where a lead is coming from. You'll be able to track these in the analytics dashboard.

![](/files/fcUnxph0Lnhfe3PBU5u1)
{% endhint %}

#### **Global Analytics**

To view the global analytics of all your Storylane demos, navigate to the left sidebar:

* On the "Visitors" >"**All sessions**" page, you can see all the viewers across your demos
* Click on **"Analytics"** to see the global analytics for all your demos in one place
* The "Visitors" > "**Accounts**" page gives you an overview of all the companies visiting your demos

#### **Single Demo Analytics**

To view the analytics of a specific demo you've published, find your demo and click the " # Views" button right below the image of the demo card.

#### **Session Analytics**

You can see more data about each viewer by clicking on a specific session record on the "Visitors" -> "All sessions" page. The individual view shows the exact step that a viewer took in your demo, as well as the time the viewer spent on each step.

Try Interactive Demo Yourself 👇&#x20;

{% @storylane/embed subdomain="app" linkValue="oid5sgdm6e5n" url="<https://app.storylane.io/share/oid5sgdm6e5n>" %}

Below are the common terms we use and their explanations:

* **Total views -** Number of times the demo was opened
* **Engaged -** Number of times viewers interacted with the demo
  * Calculated % `(engaged sessions/total sessions * 100)`
* **Leads -** Viewers that were identified in the demo. See [Lead Tracking](/analytics-and-performance/capture-leads) to learn how to capture leads in the demo. If leads can't be identified, then you will see an "unknown lead"
  * Calculated % `(CTA clicked/engaged sessions * 100)`
* **CTA Clicked -** Viewers who clicked on the CTA button to go to a specific URL (for example, to sign up or request a demo)&#x20;
  * Calculated % `(CTA clicked/engaged sessions * 100)`
* **Last View -** last time the demo was viewed
* **Time Spent -** overall time spent by a viewer in the demo
* **Completion -** percentage of guided steps in a demo that the viewer has completed
* **Intent -** score based on time spent, steps completed and CTA interactions

***

### 👉 UTM Tracking

* [Automatic UTM Tracking for CTAs](#id-1.-automatic-utm-tracking-for-ctas)
* [Custom UTM Parameters for CTAs](#id-2.-custom-utm-parameters-for-ctas)
* [Hidden Fields for UTM in Forms](#id-3.-hidden-fields-for-utm-in-forms)

#### 1. Automatic UTM Tracking for CTAs ✨

As long as your demo is embedded on a webpage with UTM parameters in the URL, we’ll take care of the rest! Storylane’s `<script>` tag will automatically pass those UTMs to all CTA buttons within your demo. Just sit back and let the data roll in!

**Example:** If your URL is `https://storylane.io?utm_source=google&utm_medium=cpc`, the CTAs in your demo will carry those UTMs—no extra setup needed! 🎉\
🔗 [**Watch it in Action**](https://www.loom.com/share/e1a1288b86734c9bba3085b57ab1ab96?sid=b0f01b89-7238-4a0a-b518-49845434d1c2)

#### 2. Custom UTM Parameters for CTAs 🎨

Want specific tracking? Manually add UTMs to CTA URLs right in the Storylane editor! When you do this, your chosen UTMs will override any from the parent URL, so you’re fully in control.

**Example:** Add a URL like `https://storylane.io/?utm_source=email&utm_medium=newsletter` and track away!\
🔗 [**See How it Works**](https://www.loom.com/share/c4b0190c419a4c0ab907cf8fc192ed6b?sid=b933930f-87c7-4536-a505-62ac98d9bda4)

#### 3. Hidden Fields for UTM in Forms 📥

Got a form in your demo? Set up hidden fields to automatically grab UTM data from the parent URL when a visitor submits. These fields will automatically capture UTM data from the parent URL when the form is submitted. Easy insights, no hassle! The hidden fields in forms will pass the UTM parameters to your CRM.  \*You will need your CRM integrated inside Storylane\*&#x20;

***

With these quick steps, you’re all set to track your campaigns and get the scoop on what drives traffic to your demos! 📈

***

## 👉 Cookie Tracking?

🍪 **The following requirements must be met for cookie tracking to work:**

1. The demo is embedded on your website
2. You are tracking cookies on your website
3. The lead has filled out a form on your website

{% hint style="info" %}
Cookie tracking **will not work** if any of the following are true:

1. Cookies are not available (the user didn’t accept the cookies)
2. The user is using a different Cookie Account (different browser windows with different email accounts, even if it’s on the same device)
3. If the lead form is within the Storylane demo
4. If the demo is shared through the /share URL
   {% endhint %}

​\*\*Please note that cookie tracking does not work with the Direct Share URL.​Cookie tracking has two primary use cases:

* External Lead Form Before Demo
  * The form is filled first, **then** the lead is passed to the demo.
* The user has filled out a form already on your website and is a returning visitor

***

### 👉 **Export Analytics**

You can export your analytics data anytime for the time range.&#x20;

1. **If you want to export sessions:**

* Go to "Visitors" and then the **All sessions** page&#x20;
* Click on the "Export sessions" button at the top right corner to export a `.csv` format
* You will be emailed a report in a few minutes

2. **If you want to export leads:**

* Go to "Visitors" and then the **Leads** page&#x20;
* Click on the "Export leads" button at the top right corner to export a `.csv` format
* You will be emailed a report in a few minutes

3. **If you want to export accounts:**

* Go to "Visitors" and then the **Accounts** page&#x20;
* Click on the "Export accounts" button at the top right corner to export a `.csv` format
* You will be emailed a report in a few minutes

{% hint style="info" %}
*Note: If you do not receive an email while exporting the CSV file:*

1. *Check the Spam folder*
2. *Ensure the Storylane domain is whitelisted*
   {% endhint %}

{% hint style="info" %}
**Integrations**

Take a look at our [Integrations](/integrations/integrations-and-data-flow) page to learn more about our in-depth integrations and custom events that are sent to various platforms
{% endhint %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Understanding Intent

Intent helps you quickly understand how seriously buyers are engaging with your demos.

Instead of digging through raw metrics like time spent, clicks, or completion rates, Storylane summarizes engagement into a simple signal:

* **High intent** - strong interest and meaningful engagement
* **Medium intent** - moderate exploration
* **Low intent** - minimal interaction

This gives you a fast way to identify which demos, buyers, and deals are actually progressing.

<div align="left"><figure><img src="/files/IwJ8Mxjq6GvkCBwSg2Sx" alt=""><figcaption></figcaption></figure></div>

***

### How intent is calculated

Intent is based on three key engagement signals from demo sessions:

* **Time spent** in the demo
* **Steps completed** (how much of the demo was viewed)
* **CTA interactions** (e.g. clicking a “Book a call” or similar action)

Each session is evaluated against these signals and assigned an intent level automatically.

There’s no setup required - it works out of the box.

***

### How intent works across Storylane

Intent starts at the session level, then rolls up differently depending on where you see it in the product.

#### Session level

Each individual demo session is classified as Low, Medium, or High intent based on engagement.

#### Demo analytics

In demo analytics, intent is named 'Performance', reflects the **average engagement across all sessions** for that demo.

This helps you understand how well your demo performs overall - not just based on a single viewer.

#### Deals (Buying Intent)

In [Deals](/analytics-and-performance/deal-intelligence), intent reflects the **average engagement across all sessions tied to that opportunity**.

This gives you a clearer picture of how engaged the buying group is, not just one person.

***

#### Summary

| Level            | What it represents                            |
| ---------------- | --------------------------------------------- |
| Session          | Intent from a single demo session             |
| Demo (Analytics) | Average intent across all sessions for a demo |
| Deal             | Average intent across all sessions for a deal |

***

### How intent is used in A/B testing

Intent is also used to determine the winner in demo [A/B tests](/analytics-and-performance/a-b-testing).

When comparing two demos, Storylane evaluates overall performance using engagement signals (time spent, completion, and CTA clicks).

The demo with **higher overall intent** is considered the winner.

This ensures you’re not just optimizing for clicks or views - but for meaningful engagement that actually reflects buyer interest.

***

### How to use intent in practice

#### Prioritize high-intent deals

Focus on deals with **High buying intent** - these opportunities show strong engagement across stakeholders.

#### Spot risk early

If a deal has **Low intent**, it may not be as active as it appears in your CRM.

#### Improve demo performance

Use demo-level intent to understand which demos drive deeper engagement, and optimize or replace underperforming ones.

#### Make better decisions with A/B tests

Use intent-based winners to confidently choose demos that drive real buyer interest - not just surface-level activity.

***

### Can intent be customized?

Yes. Intent thresholds can be adjusted based on your use case.

If you’d like to customize what qualifies as High, Medium, or Low intent, reach out to our team.

***

### Where you’ll see intent

Intent appears across key parts of Storylane:

* **Sessions** → to measure intent of each individual session
* **Demo Analytics** → to measure performance
* **Deals** → as Buying Intent at the opportunity level
* **A/B Testing** → to determine winning demos

***

### Why intent matters

Most analytics tools show you activity.\
Intent shows you **quality of engagement**.

Instead of asking:

* “Did they view the demo?”

You can answer:

* “Did they actually care?”

That’s what helps you:

* Prioritize better
* Forecast more accurately
* Prove demo impact on pipeline

***

If you need help or have any questions, feel free to contact us at <support@storylane.io>.


# Account-Level Insights

Under "Accounts" in the "Visitors" menu, you'll be able to:

* Track demo engagement at the account level, not just individual leads.
* Get insights to identify and prioritize engaged accounts.
* Use this data to tailor your outreach based on the demo engagement.

<div align="left"><figure><img src="/files/kwrJc2T3H2LnDHfLDWwd" alt=""><figcaption></figcaption></figure></div>

How to pass Account insights to a 3rd party? How does the integration work?

<figure><img src="/files/lxdExLtg6DPWhSfjIibl" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The accounts are recorded based on either [Lead](/analytics-and-performance/capture-leads) or [Account Reveal](/analytics-and-performance/viewer-data-enrichment) info. If any of these are available for the session, an account will be created/updated. So, if the lead goes through the demo and submits the form, or Account Reveal detects the company by IP, the company will be visible on the Accounts page.
{% endhint %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Viewer Data Enrichment

**Viewer Data Enrichment with Account Reveal**

**Account Reveal** feature is a seamless way to enrich your viewers' data with comprehensive company information automatically.

<figure><img src="/files/lEjaX0KVwjOnF74fmgvf" alt=""><figcaption></figcaption></figure>

**Getting Started is incredibly simple:**

1. **Enable Account Reveal**: Activate it in [Settings](https://app.storylane.io/team/settings?tab=config) for your demos with a single click.
2. **Access Insights**: Once enabled, Account Reveal works in the background to gather and integrate the company data of your demo viewers. All this enriched information is readily available in your analytics dashboard.

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# A/B Testing

Compare two versions of a demo and understand which one performs better

{% hint style="info" %}
Available from the Growth plan.
{% endhint %}

### Overview

A/B Testing lets you compare two versions of a demo and understand which one performs better based on **real user behavior**.

Instead of guessing or debating internally, you can run controlled experiments and optimize demos for:

* Higher completion rates
* More CTA clicks
* More leads captured
* Stronger buyer intent

This feature is designed specifically for **marketing and growth teams** using demos as a conversion asset.

{% @storylane/embed subdomain="app" linkValue="xos6sibfdhof" url="<https://app.storylane.io/share/xos6sibfdhof>" %}

***

### Who this feature is for

* Product marketing teams
* Growth & CRO teams
* Demand generation and website teams

If demos are part of your acquisition, activation, or lead capture flow, A/B Testing helps you continuously improve performance.

***

### How A/B testing works (conceptually)

An A/B test compares:

* **Variant A** - your original demo
* **Variant B** - another demo (ideally, a modified, duplicated version of the same demo)

Traffic is automatically split between the two variants, and Storylane tracks how each version performs across key metrics.

Both variants receive **real traffic**, so results reflect actual buyer behavior - not simulations.

***

### Best practice: d**uplicate the demo for variant B**

Before creating an A/B test, we suggest duplicating your original demo, making changes, and using it as variant B.

This ensures:

* Identical demo size and layout
* Clean, comparable results
* Only one variable is being tested

> ⚠️ Changing multiple things at once makes results harder to interpret.

**Recommended:**\
Duplicate → change one thing → test.

***

### What you should test

Marketing teams commonly test:

* Lead form vs no lead form
* Short vs long demo
* CTA at the start vs CTA at the end
* Gated vs ungated experience
* Use-case intro vs feature-first intro
* Video + voiceover vs silent demo
* Strong CTA copy vs soft CTA copy

Always test **one variable at a time**.

***

### Understanding Traffic Split

#### Default: 50/50

Best for:

* Most experiments
* Faster, balanced learning

#### When to Adjust the Split

You may want to change the traffic split when:

* Protecting a high-performing demo
* Testing a major structural change
* Running experiments during high-traffic campaigns

**Example:**

* 80% → proven demo
* 20% → experimental version

This balances learning speed with conversion risk.

***

### Understanding Test Results

#### Clear Winner

One variant consistently outperforms the other across key metrics.

#### No Clear Winner

This is still a valuable outcome.\
It tells you that the tested change did **not** significantly impact performance.

Use these learnings to inform your next experiment.

***

### Ending an A/B Test

When you’re ready, you can end the test to stop traffic splitting.

#### If Variant A Wins

* No action required
* Your existing embedded demo link already points to Variant A

#### If Variant B Wins

* Update the demo link wherever it’s embedded\
  (website, landing pages, campaigns, emails)
* This ensures future traffic goes to the better-performing demo

Ending a test is a deliberate decision and cannot be undone.

***

### Tips for Better Experiments

* Test one variable at a time
* Let the test run long enough to collect meaningful data
* Avoid ending tests too early
* Use results to plan the next iteration

A/B Testing works best as a **continuous optimization loop**, not a one-off task.


# Deal intelligence

See exactly which demos influence your deals in HubSpot or Salesforce

{% hint style="info" %}
Available from the Premium plan.
{% endhint %}

### Overview

Connect your CRM pipeline to Storylane and see which demos actually influenced your opportunities.

With Deals, Storylane pulls your HubSpot or Salesforce pipeline into your dashboard and connects demo engagement to the right deal. \
That means you can see which buyers watched, how deeply they engaged, and how demo activity aligns with deal movement.

{% @storylane/embed subdomain="app" linkValue="ijp1i9p531mb" url="<https://app.storylane.io/share/ijp1i9p531mb>" %}

***

### Why use Deals

If you share demos during sales cycles, it can be hard to prove their impact.

You may know a demo helped move a deal forward, but without clear visibility, it stays a gut feeling. Deals solves that by tying buyer demo activity directly to your pipeline.

Use Deals to:

* See which opportunities engaged with your demos
* Understand who watched and how deeply they engaged
* Track buyer activity alongside deal stage and status
* Give leadership clearer proof of demo influence on pipeline

### What Deals shows you

Once connected, Storylane enriches your CRM pipeline with demo activity so you can quickly understand what’s happening inside each opportunity.

#### At the pipeline level

In the Deals view, you can:

* See your synced HubSpot or Salesforce opportunities
* Identify which deals had demo engagement
* View buyer reach and engagement at a glance
* Filter by pipeline, stage, buying intent, and owner

This helps sales leaders, AEs, and RevOps teams quickly spot which deals are active, influenced, or at risk.

#### At the deal level

Inside each deal, Storylane shows a full timeline of buyer demo activity, including:

* Who watched the demo
* Number of sessions
* Time spent
* Steps viewed
* CTA clicks
* Overall engagement and buying intent signals

This gives you a more complete picture of buyer behavior and helps you understand how demo engagement lines up with pipeline progression.

### How it works

Deals is powered by a **2-way CRM integration**.

Storylane automatically:

* Pulls your pipeline, contacts, and deal activity from HubSpot or Salesforce into Storylane
* Connects demo engagement to the right opportunity
* Pushes demo intelligence back into your CRM

Once the integration is connected, there’s no manual work required from your team.

### Supported CRMs

Deals currently supports:

* **HubSpot**
* **Salesforce**

### Common use cases

Here are a few ways teams use Deals in real life.

#### 1. Prioritize follow-up

You send a demo after a call. The next day, you check the deal and see that multiple stakeholders watched it, spent time on pricing, and clicked the CTA.

Now you know this opportunity is active, and you can follow up with more confidence.

#### 2. Spot risk early

A deal looks healthy in the CRM, but no one actually engaged with the demo.

That’s a sign the buyer may not be as active as the stage suggests, so your team can re-engage before momentum is lost.

#### 3. Prove demo impact

When leadership asks whether demos influence revenue, you no longer need to rely on anecdotes.

You can show that a closed-won opportunity had strong demo engagement, multiple viewers, and clear intent before close.

### Before you start

To use Deals, make sure:

* Your Storylane workspace is connected to HubSpot or Salesforce
* Your CRM data is syncing properly
* Your team is sharing demos through Storylane so engagement can be tracked

If you already had a CRM integration connected, you may need to reconnect it to access the latest Deals functionality.

### Set up Deals

#### Connect your CRM

1. Go to **Integrations** in Storylane
2. Choose **HubSpot** or **Salesforce**
3. Complete the connection flow
4. If your integration is already connected, reconnect it if prompted

Once connected, Storylane will begin syncing your pipeline into the Deals dashboard.

### View your deals

After setup:

1. Open **Deals** from the left navigation
2. Browse your synced opportunities
3. Use filters to narrow by pipeline, stage, buying intent, or owner
4. Open any deal to view detailed buyer demo activity

### What makes Deals valuable

Deals gives you a clearer answer to questions like:

* Which deals were influenced by demos?
* Which buyers are actually engaging?
* Are demos helping deals progress?
* Which opportunities need follow-up?
* Can we prove demo impact on revenue?

Instead of treating demos as a nice-to-have asset, Deals helps you connect them to real pipeline movement.

### FAQs

#### Does this require manual work from reps?

No. Once your CRM is connected, Storylane automatically syncs pipeline data and connects demo activity to the right deals.

#### Do I need to reconnect my CRM integration?

If you already had HubSpot or Salesforce connected, you may need to reconnect to enable Deals fully.

#### Can I see who watched the demo?

Yes. Inside each deal, you can view buyer activity and engagement tied to that opportunity.

#### Can I push demo data back into my CRM?

Yes. Deals automatically push demo intelligence back into HubSpot and Salesforce.

#### Which CRMs are supported?

HubSpot and Salesforce (for now)


# Integrations & Data Flow

Connect Storylane to your CRM, sales tools, and analytics stack to send demos and track engagement.

{% hint style="info" %}
💡 Not all integrations behave the same - some **send demos**, while others **store and sync data**.
{% endhint %}

## 🧠 **How data flows in Storylane**

There are **three core paths** depending on what you want to happen:

1. [**Store & track data (CRM)**](#store-and-track-demo-data-crm-integrations) → where demo data lives
2. [**Send demos (Sales tools)**](#send-demos-via-sales-tools-plugins) → where demos are distributed
3. [**Route data (Custom integrations)**](#route-data-anywhere-zapier-webhooks-api) → where data is forwarded elsewhere

***

## ✅ **Store & Track Demo Data (CRM Integrations)**

👉 *Where your demo data lives + fields are created*

**Best for:** tracking engagement, attribution, and pipeline impact

#### Supported platforms

* [Hubspot](/integrations/integrations-and-data-flow/hubspot)
* [Marketo](/integrations/integrations-and-data-flow/marketo)
* [Pardot](/integrations/integrations-and-data-flow/pardot)
* [Salesforce](/integrations/integrations-and-data-flow/salesforce)

***

#### What happens here

When connected, Storylane will:

* Create/update **contacts/leads**
* Create **demo engagement properties**, such as:
  * Views
  * Time spent
  * Completion rate
  * CTA clicks
  * etc.
* Sync data automatically (no manual work)
* Enable reporting + attribution
* Tie demo engagement to deals/opportunities

{% hint style="warning" %}
This is the only place where data is stored + fields are created automatically
{% endhint %}

***

## 🔌 **Send Demos via Sales Tools (Plugins)**

👉 *Where demos are sent from - NOT where data is stored by default*

**Best for:** outbound, prospecting, and rep workflows

#### Supported platforms

* [Outreach](/integrations/integrations-and-data-flow/outreach)
* [Gong](/integrations/integrations-and-data-flow/gong)
* HubSpot *(will sync data if integrated)*
* Salesforce *(will sync data if integrated)*

***

#### What happens here

* Reps can send demos directly from these tools
* Demo links can be personalized
* Engagement happens… **but is NOT stored here**

***

{% hint style="warning" %}

### These are **distribution tools, not data systems**

* No automatic data sync back into these tools
* No fields are created
* No reporting lives here
  {% endhint %}

***

## ⚙️ **Route Data Anywhere (Zapier, Webhooks, API)**

👉 *How you send Storylane data to other tools*

**Best for:** connecting Storylane to tools that don’t have native integrations

#### Available options

* [Zapier](/integrations/integrations-and-data-flow/zapier)
* [Webhooks](/integrations/integrations-and-data-flow/webhooks)
* [Cross-frame Events](/integrations/integrations-and-data-flow/cross-frame-events)
* [External API](/integrations/integrations-and-data-flow/external-api)

***

What happens here

* You can send demo engagement data to:
  * Gong
  * Outreach
  * Data warehouses
  * Internal systems

***

Example

→ Send “Demo Viewed” → Gong activity timeline\
→ Send “Lead Identified” → CRM or Slack

***

{% hint style="warning" %}

#### This is your **bridge layer**

* Data does NOT sync automatically unless configured
* Field mapping is manual
* Reliability depends on setup
  {% endhint %}

View an example Zap between Storylane demo engagement and a Gong contact record ⬇

{% @storylane/embed subdomain="app" linkValue="wqfta5e1ddjg" url="<https://app.storylane.io/share/wqfta5e1ddjg>" %}

***

### 📊 **Analytics & Enrichment**

👉 *Where engagement is analyzed or enriched (not stored as CRM data)*

#### Data & Analytics

* [Google Tag Manager](/integrations/integrations-and-data-flow/google-tag-manager)
* [Google Analytics](/integrations/integrations-and-data-flow/google-analytics)
* [Segment](/integrations/integrations-and-data-flow/segment)

#### Enrichment

* [Clearbit](/integrations/integrations-and-data-flow/clearbit)
* [6Sense](/integrations/integrations-and-data-flow/6sense)

***

#### What happens here

* Track demo engagement alongside web/product analytics
* Enrich visitors with company + intent data

***

{% hint style="warning" %}

#### This is for **insights, not storage**

* No CRM fields created
* No contact records updated
  {% endhint %}

***

### 📦 **Embeds & Distribution**

👉 *Where demos are displayed*

#### Platforms

* [G2](/integrations/integrations-and-data-flow/g2)
* [SourceForge](/integrations/integrations-and-data-flow/sourceforge)
* [Miro, Gitbook, Notion, and other supported platforms](https://docs.storylane.io/sharing-demos/website-embed#supported-platforms)
* Seismic

***

### 🧠 **Quick Comparison**

| Capability        | CRM Integrations | Sales Tools | Custom (Zapier/API) |
| ----------------- | ---------------- | ----------- | ------------------- |
| Send demos        | ✅                | ✅           | ✅                   |
| Personalize links | ✅                | ⚠️          | ✅                   |
| Track engagement  | ✅                | ❌           | ⚠️                  |
| Store data        | ✅                | ❌           | ❌                   |
| Create CRM fields | ✅                | ❌           | ⚠️                  |
| Automatic sync    | ✅                | ❌           | ❌                   |

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# HubSpot

Storylane integrates seamlessly with HubSpot, enabling you to:

* Sync demo data with existing leads.
* Automatically create new leads if they don’t exist.
* Create and update accounts with demo data.
* Log demo session activity on the HubSpot timeline.
* Capture leads directly via HubSpot forms.

{% hint style="warning" %}
You must have **admin** level permissions to connect any integrations within Storylane
{% endhint %}

{% hint style="info" %}
You can also access the Storylane App directly from the HubSpot sidebar. [Read more.](/integrations/integrations-and-data-flow/hubspot/storylane-app-for-hubspot)
{% endhint %}

Follow these step-by-step instructions below to set up the integration:

***

### **Step 1: Add the Storylane Code to Your Website (Optional)**

This step enables lead attribution tracking. Add the following code snippet to the `<head>` tag of your website:

```javascript
(function(){"use strict";function e(t){const r=t.head;if(!r)return;const i=t.querySelector('script[src="https://js.storylane.io/js/v2/storylane.js"]'),n=t.querySelector('script[src="https://js.storylane.io/js/v1/storylane.js"]');if(i||n)return;const s=t.createElement("script");s.type="text/javascript",s.async=!0,s.src="https://js.storylane.io/js/v2/storylane.js",r.appendChild(s)}e(window.document)})();
```

> 💡 [Learn more about lead attribution here](/analytics-and-performance/lead-attribution).

***

### **Step 2: Connect HubSpot with Storylane**

1. Access the **HubSpot Integration** section in your Storylane dashboard under **Settings > Integrations**.
2. Click the **Connect** button.
3. Next, setup sidebar groups, record heder cards, and create a custom view. Give it a spin below! ↓

{% @storylane/embed subdomain="app" linkValue="94ugt7nyyhes" url="<https://app.storylane.io/share/94ugt7nyyhes>" %}

***

### **Step 3: Integration Settings**

Once your integration is connected, you can configure what information is sent from Storylane to HubSpot. You have two options:

* Contact-level data
* Company-level data

When processing records, the following logic applies:

<mark style="color:$warning;">**Contacts**</mark>

* Contacts are searched and matched by email address.
* If the email already exists, the existing contact record is updated.
* If the email does not exist, a new contact record is created.
* If a contact is already marked as a non-marketing contact in your CRM, this field will not be updated.
* The system will only assign the marketing contact status to contacts that it creates.

<mark style="color:$warning;">**Companies**</mark>

* Companies are searched and matched by domain.
* If the domain already exists, the existing company record is updated.
* If the domain does not exist, a new company record is created.

To adjust these settings, locate the Edit Integration icon next to the *Connected* status.

<div align="left"><figure><img src="/files/OeSG0RIyHO4YidF1ATvj" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 💡 **What Data Does Storylane Sync to HubSpot?**

#### **Custom Properties**

Storylane populates custom fields in HubSpot contacts under the "Storylane" property group. Here's a breakdown:

<table><thead><tr><th width="233.88629150390625">Property Name</th><th width="127.7117919921875">Applies To</th><th width="257.775146484375">Description</th><th width="114.95501708984375">Data Type</th></tr></thead><tbody><tr><td><strong>Storylane Sessions</strong></td><td>Demo + Hub</td><td>Total number of sessions (applies to both single demos and Hubs)</td><td>Integer</td></tr><tr><td><strong>Storylane Demo Name</strong></td><td>Demo</td><td>Name of the most recently viewed demo</td><td>String</td></tr><tr><td><strong>Storylane Demo Viewed At</strong></td><td>Demo</td><td>Timestamp of the most recent demo view</td><td>DateTime</td></tr><tr><td><strong>Storylane Demo Time (secs)</strong></td><td>Demo</td><td>Time spent viewing the demo (seconds)</td><td>Number</td></tr><tr><td><strong>Storylane Demo Complete (%)</strong></td><td>Demo</td><td>Percentage of demo steps completed</td><td>Number</td></tr><tr><td><strong>Storylane Demo Link</strong></td><td>Demo</td><td>Link to the demo</td><td>String</td></tr><tr><td><strong>Storylane CTA Clicked</strong></td><td>Demo + Hub</td><td>CTA URL clicked</td><td>String</td></tr><tr><td><strong>Storylane Demo Session Link</strong></td><td>Demo</td><td>Link to the specific demo audience session</td><td>String</td></tr><tr><td><strong>Storylane Buying Intent</strong></td><td><strong>Demo + Hub</strong></td><td>Engagement-based intent level (Low / Medium / High)</td><td>String</td></tr><tr><td><strong>Storylane Lead Source</strong></td><td><strong>Demo + Hub</strong></td><td>How the viewer was sourced (e.g. Nurtured, Inbound, Sales)</td><td>String</td></tr><tr><td><strong>Storylane Hub Name</strong></td><td>Hub</td><td>Name of the Hub that was viewed</td><td>String</td></tr><tr><td><strong>Storylane Hub Link</strong></td><td>Hub</td><td>Link to the Hub</td><td>String</td></tr><tr><td><strong>Storylane Hub Viewed At</strong></td><td>Hub</td><td>Timestamp of the most recent Hub view</td><td>DateTime</td></tr><tr><td><strong>Storylane Hub Viewed Content (%)</strong></td><td>Hub</td><td>Percentage of Hub content viewed</td><td>Number</td></tr><tr><td><strong>Storylane Hub Time (secs)</strong></td><td>Hub</td><td>Total time spent in the Hub (seconds)</td><td>Number</td></tr><tr><td>Storylane Link Sent By</td><td>Demo + Hub</td><td>Rep who shared link</td><td>String</td></tr><tr><td>Storylane RepX Conversation Topics</td><td>RepX</td><td>Topics discussed with AI agent</td><td>String</td></tr><tr><td>Storylane RepX Last Conversation At</td><td>RepX</td><td>Timestamp of last RepX chat</td><td>DateTime</td></tr><tr><td>Storylane RepX Total Messages</td><td>RepX</td><td>Count of RepX messages exchanged</td><td>Number</td></tr></tbody></table>

***

<figure><img src="/files/0Q9T1D2CPKXUrLRvzJSP" alt="" width="288"><figcaption></figcaption></figure>

#### **Custom Events**

Each demo session creates a custom timeline activity in HubSpot, and a summary of aggregate metrics from the users' session. Here's a reference below for a demo & buyer hub session:

<figure><img src="/files/dc0IMwncNa9GwL8HNGn3" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/YxBNGt4eDZGLhOMAzz38" alt="" width="563"><figcaption></figcaption></figure>

***

By following these steps, you can efficiently connect Storylane and HubSpot, ensuring seamless lead management and data insights for your demos.


# HubSpot Lead Forms

HubSpot lead form can be added as a step in any chapter of your demo. They can be inserted anywhere in your guided demo - *beginning, middle, or end*.&#x20;

HubSpot Lead forms provide ways to gather and pass user information such as name, email address, etc. to HubSpot when the viewers engage with your Storylane demo.

Simply, build your own [HubSpot custom form](https://knowledge.hubspot.com/forms/create-forms), and copy and [paste its embed code](https://docs.storylane.io/changelog/changes-for-march-2023/march-14-2023) through the inbuilt lead form guide.

<figure><img src="/files/M7hz5WpPUemWwXVcHqyY" alt=""><figcaption></figcaption></figure>

HubSpot lead forms are a great option if you need to customize your form or have additional fields to collect.&#x20;

{% @storylane/embed subdomain="app" linkValue="zzkj6d80xmds" url="<https://app.storylane.io/share/zzkj6d80xmds>" %}


# HubSpot Integration Features

There is quite a lot you can do within HubSpot using Storylane data (workflows, reporting, email campaigns, etc.) See more below! 👇

{% @storylane/embed subdomain="app" linkValue="m27lvdr8tnbk" url="<https://app.storylane.io/share/m27lvdr8tnbk>" %}

#### Activity Tracking

* Open a contact
* Navigate to Activity tab
* Include Storylane in “Filter Activity”

#### Email Campaign&#x20;

* Navigate to your demo
* Click Share > Email Campaign
* Copy the HubSpot link
* Add this link to any element in your HubSpot email
* **⭐️ We highly recommend exporting your demo as a GIF, adding to HubSpot email, and linking to the HubSpot email campaign demo link.**
* Review and send your email. Each recipient will receive a personalized link with their email in the URL, which will send analytics to HubSpot.

#### Workflows

* Create a new Workflow from Scratch
* Select “Contact-based”
* Set up your triggers. Search “Storylane” in Filter Categories to see what is available.
* Next, choose an Action. What happens when the trigger’s criteria are met? Email the contact owner. Send a Slack notification?
* Complete the rest of the workflow to your liking, and publish.

#### Forms&#x20;

* You can add a lead form within your demo by creating one in HubSpot and embedding it in a Lead Form element in Storylane. **Keep your embedded lead form short and sweet!**
* If you require more than a few fields for your form, we recommend linking the last step of your demo to an external lead form. Just add a CTA and direct it to the correct URL.

#### Reports&#x20;

* Create a new Single Object report
* Select "Contacts" as the object
* Add a Contact Property - search “demo” to see a list of Storylane properties (i.e “Storylane Demo Name”)
* Add a filter (i.e “Storylane Demo Complete (%))
* Select your chart type, and view the results!&#x20;

Get a clear view of your marketing and sales impact with Storylane demos in HubSpot. Dive into the demo below to begin. 👇

{% @storylane/embed subdomain="app" linkValue="p5hrjpexba4i" url="<https://app.storylane.io/share/p5hrjpexba4i>" %}

#### How to Install & Connect Storylane via HubSpot Marketplace?

Another way to connect Hubspot to Storylane is via Hubspot Marketplace, follow the steps below:

1. Go to the [**HubSpot Marketplace**.](https://app.hubspot.com/ecosystem/20574478/marketplace/apps)​
2. Search for "Storylane" and select it from the dropdown results.
3. Install the app.
4. ​[Log in to Storylane](https://app.storylane.io/login) and navigate to **Settings > Integrations**.
5. Click “**Connect**” on the HubSpot integration to complete the setup. Leads from published demos will sync to HubSpot Contacts, with analytics (custom fields and timeline activities) updating within 5 minutes.


# HubSpot Website Embeds

{% hint style="info" %}

#### It's simple to embed your demo into a HubSpot website or landing page. Check out the demo and steps  below to see how.

{% endhint %}

1. Add a Rich Text Module
2. In the module, click Insert > Embed
3. Paste your Storylane embed code into the field.
4. Review and publish!

{% @storylane/embed subdomain="app" linkValue="f9kcoewz810d" url="<https://app.storylane.io/share/f9kcoewz810d>" %}


# Storylane App for HubSpot

Effortlessly integrate Storylane into HubSpot and streamline your demo-sharing workflow with these simple steps.

### Prerequisites

1. **Install the App**\
   To get started, install [the **Storylane App for HubSpot** from the HubSpot App Marketplace](https://ecosystem.hubspot.com/marketplace/apps/storylane-385060).
2. **Integrate Storylane with HubSpot**\
   For the app to work seamlessly, you must [integrate Storylane with HubSpot](https://app.storylane.io/integrations) to enable API-level data sharing.

### **How it Works?** <a href="#how-it-works" id="how-it-works"></a>

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="app" linkValue="4zf5t1dx4bjl" url="<https://app.storylane.io/share/4zf5t1dx4bjl>" %}

### Step 1: Add the Storylane Card to HubSpot's Contact Sidebar

1. Navigate to Contact Edit Layout in your HubSpot account.
2. Locate and add the Storylane card to the contact sidebar.
3. Click Save and Exit to apply your changes.

<div align="left"><figure><img src="/files/kml7uwZJUAFIZwnAm8NE" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/1puikQ4YuNIBMXI7T0t4" alt="" width="563"><figcaption></figcaption></figure></div>

### Step 2: Access the Storylane Extension

1. Open a contact record in HubSpot.
2. Click the Storylane Demo button located in the sidebar.
3. A modal iframe will open. Log in using your Storylane credentials.

<div align="left"><figure><img src="/files/Kq6dldYzP91FcOmswUAU" alt="" width="563"><figcaption></figcaption></figure></div>

### Step 3: Copy and Share Tokenized Demo Links

1. Once logged in, you’ll see a list of available demos.
2. Click Copy Link next to the desired demo to copy the tokenized URL to your clipboard.
   1. If the contact email exists, a tokenized URL will be copied.
   2. If the contact email is missing, the default demo URL will be copied instead.

<div align="left"><figure><img src="/files/V46f9jHIc2e8vf6UqR9v" alt="" width="563"><figcaption></figcaption></figure></div>


# Matching HubSpot Tokens to Storylane Tokens

Dynamically populate contact details like email, first name, or company name into a Storylane demo URL by integrating with HubSpot tokens. These values are seamlessly pulled from your HubSpot CRM.

***

## **Example: Storylane URL with HubSpot Tokens**

Formatted URL:

{% code overflow="wrap" %}

```
?email={{contact.email}}&token[first_name]={{contact.firstname}}&token[company_name]={{contact.companyname}}
```

{% endcode %}

Populated URL:

{% code overflow="wrap" %}

```
?email=example@storylane.io&token[first_name]=Matt&token[company_name]=Storylane
```

{% endcode %}

***

## **Understanding Tokens**

**Example Breakdown:**

* **Orange:** HubSpot tokens (e.g., `{{contact.email}}`)
* **Pink:** Storylane tokens (e.g., `token[first_name]`)

> <mark style="background-color:orange;">?email={{contact.email}}</mark><mark style="background-color:red;">\&token\[first\_name]=</mark><mark style="background-color:orange;">{{contact.firstname}}</mark><mark style="background-color:red;">\&token\[company\_name]=</mark><mark style="background-color:orange;">{{contact.companyname}}</mark>

* The query string starts with `?email={{contact.email}}`.
* Each token is separated by `&`.
* Use the word **token** in the parameter name to map Storylane tokens to HubSpot tokens.

***

## Step-by-Step Instructions

### 1. Set Up Tokens in HubSpot

1. Log in to your HubSpot account.
2. Navigate to **Settings** > **Properties**.
3. Tokens should be setup by default, however identify or create the tokens you need, such as:
   * `{{contact.email}}`
   * `{{contact.firstname}}`
   * `{{contact.companyname}}`

### 2. Map Tokens in Storylane

1. Open your Storylane dashboard.
2. Go to the demo you want to personalize.
3. Add Storylane tokens where you see fit - example:

<figure><img src="/files/H9kauO8TdPY8YqZ5eDtQ" alt=""><figcaption></figcaption></figure>

4. In the URL builder, use the following format to map tokens:

{% code overflow="wrap" %}

```
?email={{contact.email}}&token[first_name]={{contact.firstname}}&token[company_name]={{contact.companyname}}
```

{% endcode %}

### 3. Test the URL

1. Before sharing, test the URL by replacing the HubSpot tokens with *sample values:*

<pre data-overflow="wrap"><code><strong>?email=test@example.com&#x26;token[first_name]=John&#x26;token[company_name]=ExampleCorp
</strong></code></pre>

2. Paste the URL into a browser to ensure it populates correctly.

### 4. Share the URL

Once tested, you can use the URL in your HubSpot workflows, email templates, or sales outreach.

## Use Case

The primary use case is for creating personalized sales leave-behinds. For example, you can generate a Storylane demo URL that dynamically fills in a contact’s details, making it more engaging and relevant.

By following these steps, you can effectively link HubSpot tokens to Storylane tokens and create personalized, impactful sales leave-behinds.


# How to Build Workflows with Demo Engagement Data

Turn demo engagement into automated follow-up — re-engage, nurture, and qualify leads based on how prospects actually interact with your demos.

Once Storylane is connected to HubSpot, every demo and Hub session syncs engagement data onto your contact records. Use these signals to trigger workflows that reach each prospect with the right message at the right moment.

***

**💡 The signals you can build on**

A few synced fields do most of the work as workflow triggers:

* **Storylane Buying Intent** — engagement-based level: **Low / Medium / High**. The fastest way to segment, no setup required.
* **Storylane Demo Complete (%)** — for finer thresholds than intent alone.
* **Storylane CTA Clicked** — a clicked CTA (e.g. "Book a call") is a strong hand-raise signal.

Time spent, session count, and lead source sync too — see the full list of synced fields.

***

**👥 Group contacts by engagement tier**

Map every contact to a tier, then build one workflow per tier.&#x20;

**Buying Intent** does this out of the box — layer in **Demo Complete (%)** for tighter control.

| Tier          | Signal                                     | Play                                  |
| ------------- | ------------------------------------------ | ------------------------------------- |
| 🔴 **Low**    | Intent = Low *(or < 40%)*                  | Short nurture — lead with value props |
| 🟡 **Medium** | Intent = Medium *(or 40–89%)*              | Send use cases + customer stories     |
| 🟢 **High**   | Intent = High *(or > 90%, or a CTA click)* | Immediate follow-up + notify sales    |
|               |                                            |                                       |

**⚡ Three workflows to start with**

Each workflow **enrolls** the right contacts, **suppresses** anyone who's moved to a higher tier, and runs one clear action.

* **Re-engagement (Low):** wait 2–3 days, then send a value-prop email. *Suppress if intent is High or a CTA was clicked.*
* **Nurture (Medium):** send use cases or case studies over a short cadence. *Suppress if intent is High.*
* **High intent / Completion:** send a next-steps email within minutes **and** alert the contact owner. *Suppress if follow-up was already sent or an opportunity is open.*

***

**🧹 Keep your messaging clean**

{% hint style="info" %}
**The golden rule:** when a contact's engagement increases, advance them to the highest tier they qualify for — and never send lower-tier messaging to a more engaged contact. Someone who viewed 20% last week and completed 100% today is a hot prospect, not a re-engagement target.
{% endhint %}

Suppression is what makes this work — it stops a contact from qualifying for two workflows at once and receiving conflicting emails. To avoid repeats, set a custom property (e.g. *Completion email sent = Yes*) as a workflow action and suppress on it.

***

**🛠️ Make it your own**

These are starting points — mix and match signals to fit your funnel. Alert sales the moment a target account hits High intent, branch by lead source, or trigger a step when a viewer returns for a second session.

{% hint style="info" %}
Buying Intent thresholds can be tuned to your use case — [reach out to our team](mailto:support@storylane.io) to customize what counts as Low, Medium, or High.
{% endhint %}


# Marketo

Storylane integrates seamlessly with Marketo, enabling you to:

* Sync demo data with existing leads.
* Automatically create new leads if they don’t exist.
* Log demo session activity on the Marketo timeline.
* Capture leads directly via Marketo forms.

{% hint style="warning" %}
You must have **admin** level permissions to connect any integrations within Storylane
{% endhint %}

Follow these step-by-step instructions to set up the integration:

***

## **Step 1: Add the Storylane Code to Your Website (Optional)** <a href="#step-1-add-the-storylane-code-to-your-website-optional" id="step-1-add-the-storylane-code-to-your-website-optional"></a>

This step enables lead attribution tracking. Add the following code snippet to the `<head>` tag of your website:

```javascript
(function(){"use strict";function e(t){const r=t.head;if(!r)return;const i=t.querySelector('script[src="https://js.storylane.io/js/v2/storylane.js"]'),n=t.querySelector('script[src="https://js.storylane.io/js/v1/storylane.js"]');if(i||n)return;const s=t.createElement("script");s.type="text/javascript",s.async=!0,s.src="https://js.storylane.io/js/v2/storylane.js",r.appendChild(s)}e(window.document)})();
```

> 💡 Learn more about lead attribution [here](https://docs.storylane.io/storylane-knowledge-base/tracking-and-analysing/lead-attribution).

***

## **Step 2: Connect Marketo with Storylane**

{% @storylane/embed subdomain="app" linkValue="4qiydc3vwvzz" url="<https://app.storylane.io/share/4qiydc3vwvzz>" %}

1. Access the **Marketo Integration** section in your Storylane dashboard under **Settings > Integrations**.
2. Click the **Connect** button.
3. **Prepare for Integration:**
   * Ensure you have **1 free Custom Activity** available (required).
   * Assign the correct API user during setup. The user must have the following permissions:
     * Read-Write Activity
     * Read-Write Activity Metadata
     * Read-Write Person
     * Read-Write Schema Custom Field
     * Read-Write Schema Standard Field
4. **Configure Marketo:**
   * Support will provide a secure URL for configuration.
   * Open the URL and click **Configure Marketo.**
   * Enter the required credentials:
     * Client ID
     * Client Secret
     * Endpoint URL
     * Identity URL

***

### **What Data Does Storylane Sync to Marketo?**

{% hint style="warning" %}
⚠️ *Important:* Do not manually create lead fields in Marketo. Storylane automatically creates the necessary fields with the correct API names when you connect your account. Manual creation may result in broken integrations.
{% endhint %}

#### **Custom Properties**

Storylane automatically syncs demo data to Marketo under custom fields. Here's the data included:

Here’s a reference showing how this data appears for your lead in Marketo.

<table><thead><tr><th width="233.88629150390625">Property Name</th><th width="127.7117919921875">Applies To</th><th width="257.775146484375">Description</th><th width="114.95501708984375">Data Type</th></tr></thead><tbody><tr><td><strong>Storylane Sessions</strong></td><td>Demo + Hub</td><td>Total number of sessions (applies to both single demos and Hubs)</td><td>Integer</td></tr><tr><td><strong>Storylane Demo Name</strong></td><td>Demo</td><td>Name of the most recently viewed demo</td><td>String</td></tr><tr><td><strong>Storylane Demo Viewed At</strong></td><td>Demo</td><td>Timestamp of the most recent demo view</td><td>DateTime</td></tr><tr><td><strong>Storylane Demo Time (secs)</strong></td><td>Demo</td><td>Time spent viewing the demo (seconds)</td><td>Number</td></tr><tr><td><strong>Storylane Demo Complete (%)</strong></td><td>Demo</td><td>Percentage of demo steps completed</td><td>Number</td></tr><tr><td><strong>Storylane Demo Link</strong></td><td>Demo</td><td>Link to the demo</td><td>String</td></tr><tr><td><strong>Storylane CTA Clicked</strong></td><td>Demo + Hub</td><td>CTA URL clicked</td><td>String</td></tr><tr><td><strong>Storylane Demo Session Link</strong></td><td>Demo</td><td>Link to the specific demo audience session</td><td>String</td></tr><tr><td><strong>Storylane Buying Intent</strong></td><td><strong>Demo + Hub</strong></td><td>Engagement-based intent level (Low / Medium / High)</td><td>String</td></tr><tr><td><strong>Storylane Lead Source</strong></td><td><strong>Demo + Hub</strong></td><td>How the viewer was sourced (e.g. Nurtured, Inbound, Sales)</td><td>String</td></tr><tr><td><strong>Storylane Hub Name</strong></td><td>Hub</td><td>Name of the Hub that was viewed</td><td>String</td></tr><tr><td><strong>Storylane Hub Link</strong></td><td>Hub</td><td>Link to the Hub</td><td>String</td></tr><tr><td><strong>Storylane Hub Viewed At</strong></td><td>Hub</td><td>Timestamp of the most recent Hub view</td><td>DateTime</td></tr><tr><td><strong>Storylane Hub Viewed Content (%)</strong></td><td>Hub</td><td>Percentage of Hub content viewed</td><td>Number</td></tr><tr><td><strong>Storylane Hub Time (secs)</strong></td><td>Hub</td><td>Total time spent in the Hub (seconds)</td><td>Number</td></tr><tr><td>Storylane Link Sent By</td><td>Demo + Hub</td><td>Rep who shared link</td><td>String</td></tr><tr><td>Storylane RepX Conversation Topics</td><td>RepX</td><td>Topics discussed with AI agent</td><td>String</td></tr><tr><td>Storylane RepX Last Conversation At</td><td>RepX</td><td>Timestamp of last RepX chat</td><td>DateTime</td></tr><tr><td>Storylane RepX Total Messages</td><td>RepX</td><td>Count of RepX messages exchanged</td><td>Number</td></tr></tbody></table>

<figure><img src="/files/wZtPyGW3SbOgJhuzG4eR" alt=""><figcaption></figcaption></figure>

***

#### **Custom Activities**

Each demo session creates a custom activity in Marketo. This includes detailed demo engagement data for the lead.

Here’s a reference showing how this activity looks in Marketo.

<figure><img src="/files/UHCL0UNjZETFwOLXrHdE" alt=""><figcaption></figcaption></figure>

***

By following these steps, you can integrate Storylane with Marketo to enhance lead tracking and demo engagement insights effortlessly.


# Marketo Lead Forms

Marketo lead forms can be effectively incorporated at any stage of your Storylane demo, offering flexibility in how and when you engage with your audience.

Simply, build your own [Marketo custom form](https://experienceleague.adobe.com/docs/marketo/using/product-docs/demand-generation/forms/creating-a-form/create-a-form.html), and copy and [paste its embed code](https://docs.storylane.io/changelog/changes-for-march-2023/march-14-2023) through the inbuilt lead form guide.

<div align="left"><figure><img src="/files/0ZxWRdrQePP9T9iNzTuP" alt="" width="375"><figcaption></figcaption></figure></div>

Compared to Storylane lead forms, Marketo lead forms are an ideal option if you need to customize your form or have additional fields to collect.

{% @storylane/embed subdomain="app" linkValue="tfdogwtz5b0z" url="<https://app.storylane.io/share/tfdogwtz5b0z>" %}


# Pardot

Storylane integrates seamlessly with Pardot, enabling you to:

* Sync demo data with existing leads.
* Automatically create new leads if they don’t already exist.
* Log demo session activity on the Pardot timeline.
* Capture leads directly via Pardot forms.

Follow these step-by-step instructions to set up the integration:

***

### **Step 1: Add the Storylane Code to Your Website (Optional)**

This step enables lead attribution tracking. Add the following code snippet to the `<head>` tag of your website:

```javascript
(function(){"use strict";function e(t){const r=t.head;if(!r)return;const i=t.querySelector('script[src="https://js.storylane.io/js/v2/storylane.js"]'),n=t.querySelector('script[src="https://js.storylane.io/js/v1/storylane.js"]');if(i||n)return;const s=t.createElement("script");s.type="text/javascript",s.async=!0,s.src="https://js.storylane.io/js/v2/storylane.js",r.appendChild(s)}e(window.document)})();
```

> 💡 [Learn more about lead attribution here.](https://docs.storylane.io/storylane-knowledge-base/tracking-and-analysing/lead-attribution)

***

### **Step 2: Connect Pardot with Storylane**

1. **Contact Support:** Reach out to your sales contact or Storylane support team to initiate the integration process.
2. **Set Up the Integration:**
   * When the Pardot integration modal opens, click **Connect.**
   * Select your relevant Pardot account.
   * Enter your **unit ID** in the provided field.
   * Finalize the setup by logging in to your Pardot account when prompted.

***

### **What Data Does Storylane Sync to Pardot?**

#### **Custom Properties**

Storylane automatically syncs demo data to Pardot under custom fields. Here's the data included:

<table><thead><tr><th width="233.88629150390625">Property Name</th><th width="127.7117919921875">Applies To</th><th width="257.775146484375">Description</th><th width="114.95501708984375">Data Type</th></tr></thead><tbody><tr><td><strong>Storylane Sessions</strong></td><td>Demo + Hub</td><td>Total number of sessions (applies to both single demos and Hubs)</td><td>Integer</td></tr><tr><td><strong>Storylane Demo Name</strong></td><td>Demo</td><td>Name of the most recently viewed demo</td><td>String</td></tr><tr><td><strong>Storylane Demo Viewed At</strong></td><td>Demo</td><td>Timestamp of the most recent demo view</td><td>DateTime</td></tr><tr><td><strong>Storylane Demo Time (secs)</strong></td><td>Demo</td><td>Time spent viewing the demo (seconds)</td><td>Number</td></tr><tr><td><strong>Storylane Demo Complete (%)</strong></td><td>Demo</td><td>Percentage of demo steps completed</td><td>Number</td></tr><tr><td><strong>Storylane Demo Link</strong></td><td>Demo</td><td>Link to the demo</td><td>String</td></tr><tr><td><strong>Storylane CTA Clicked</strong></td><td>Demo + Hub</td><td>CTA URL clicked</td><td>String</td></tr><tr><td><strong>Storylane Demo Session Link</strong></td><td>Demo</td><td>Link to the specific demo audience session</td><td>String</td></tr><tr><td><strong>Storylane Buying Intent</strong></td><td><strong>Demo + Hub</strong></td><td>Engagement-based intent level (Low / Medium / High)</td><td>String</td></tr><tr><td><strong>Storylane Lead Source</strong></td><td><strong>Demo + Hub</strong></td><td>How the viewer was sourced (e.g. Nurtured, Inbound, Sales)</td><td>String</td></tr><tr><td><strong>Storylane Hub Name</strong></td><td>Hub</td><td>Name of the Hub that was viewed</td><td>String</td></tr><tr><td><strong>Storylane Hub Link</strong></td><td>Hub</td><td>Link to the Hub</td><td>String</td></tr><tr><td><strong>Storylane Hub Viewed At</strong></td><td>Hub</td><td>Timestamp of the most recent Hub view</td><td>DateTime</td></tr><tr><td><strong>Storylane Hub Viewed Content (%)</strong></td><td>Hub</td><td>Percentage of Hub content viewed</td><td>Number</td></tr><tr><td><strong>Storylane Hub Time (secs)</strong></td><td>Hub</td><td>Total time spent in the Hub (seconds)</td><td>Number</td></tr><tr><td>Storylane Link Sent By</td><td>Demo + Hub</td><td>Rep who shared link</td><td>String</td></tr><tr><td>Storylane RepX Conversation Topics</td><td>RepX</td><td>Topics discussed with AI agent</td><td>String</td></tr><tr><td>Storylane RepX Last Conversation At</td><td>RepX</td><td>Timestamp of last RepX chat</td><td>DateTime</td></tr><tr><td>Storylane RepX Total Messages</td><td>RepX</td><td>Count of RepX messages exchanged</td><td>Number</td></tr></tbody></table>

***


# Pardot Form

Below you'll find the steps to embed a Pardot form:&#x20;

1. Add a new step and choose the "Lead Form" guide.&#x20;
2. Click on the "Embed Custom Form" button underneath the Storylane Lead Form.
3. Choose "Pardot" from the dropdown and copy-paste the code from Pardot.

<div align="left"><figure><img src="/files/o3RTTclp4bVemIbd8s90" alt="" width="375"><figcaption></figcaption></figure></div>

4. Above the code you pasted from Pardot, you'll need to add the following code:&#x20;

```
<script>  
window.addEventListener("message", function (event) { 
if (event.data && event.data.message === "PARDOT_FORM_SUCCESS") { 
     window.parent.postMessage({
	          message: 'storylane-lead-submit',
	          payload: {
	               lead: { email: event.data.email }
	          }
	          },'*');
   };
}); 
</script>
```

5. In Pardot, under the "Thank you Code" tab from the "Completion Actions" section, you'll need to add the following code:&#x20;

```
<script>
window.parent.postMessage(
{
 message: "PARDOT_FORM_SUCCESS",
 email: "{{Recipient.Email}}"
},
"*"
);
</script>
```

<figure><img src="/files/ktAchCc5dE3ylVG5oNPu" alt=""><figcaption></figcaption></figure>

You are now ready to test the Pardot form you embeded. Feel free to contact <support@storylane.io> if you have any questions or need help with embedding a custom Pardot form.&#x20;


# Salesforce

Create new leads and send demo analytics to SFDC

Storylane directly integrates with Saleforce (SFDC). With the integration, you can:

* Create new leads or contacts
* Update demo analytics for leads or contacts as custom objects

{% hint style="warning" %}

### **Capturing Leads**

There are few ways in which you can identify new leads. You can refer the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

{% hint style="info" %}
You can also access Storylane demos directly within Salesforce. [Read more.](/integrations/integrations-and-data-flow/salesforce/storylane-app-for-salesforce)
{% endhint %}

### How to Integrate

See below Storylane example on how to integrate with SFDC

{% @storylane/embed subdomain="renee" linkValue="w0hydldhat9s" url="<https://renee.storylane.io/demo/w0hydldhat9s>" %}

#### Setup Hub Properties

{% @storylane/embed subdomain="app" linkValue="g0gtnfqh9n1e" url="<https://app.storylane.io/share/g0gtnfqh9n1e>" %}

{% hint style="danger" %}
Verify the user connecting Salesforce <> Storylane has the required object permissions ↓&#x20;
{% endhint %}

{% @storylane/embed subdomain="app" linkValue="b6p4gssaom8d" url="<https://app.storylane.io/share/b6p4gssaom8d>" %}

### Integration Features

{% @storylane/embed subdomain="app" linkValue="ipmbznrojiz3" url="<https://app.storylane.io/share/ipmbznrojiz3>" %}

### Custom Objects

Upon successful integration, Storylane creates custom objects in Salesforce to capture engagement data for both **single demos and Hubs**.

* **`StorylaneDemoData__c`** (label: *Storylane Demo Data*) stores engagement details for viewed demos.
* **`StorylaneHubData__c`** (label: *Storylane Hub Data*) stores aggregated engagement data for viewed Hubs.

These records are associated with the relevant **Lead and/or Contact** records, allowing teams to view **demo- and Hub-level engagement, intent, and CTA interactions** directly within Salesforce.

### 🟦 Storylane Demo Data

**Object API Name:** `StorylaneDemoData__c`

<table><thead><tr><th width="167.1744384765625">Field Label</th><th width="191.07550048828125">Field API Name</th><th width="155.502685546875">Data Type</th><th width="231.28277587890625">Description</th></tr></thead><tbody><tr><td>Demo Name</td><td><code>Name</code></td><td>Text</td><td>Name of the demo viewed</td></tr><tr><td>Demo Last Viewed At</td><td><code>DemoLastViewedAt__c</code></td><td>DateTime</td><td>Timestamp of the most recent demo view</td></tr><tr><td>Demo Time (secs)</td><td><code>TimeSpent__c</code></td><td>Number</td><td>Time spent in the demo (seconds)</td></tr><tr><td>Demo Complete (%)</td><td><code>Completion__c</code></td><td>Percent</td><td>Percentage of demo steps completed</td></tr><tr><td>Demo Link</td><td><code>DemoLink__c</code></td><td>URL</td><td>Link to the demo</td></tr><tr><td>Storylane CTA Clicked</td><td><code>CtaClicked__c</code></td><td>URL</td><td>CTA URL clicked within the demo</td></tr><tr><td>Lead Intent</td><td><code>LeadIntent__c</code></td><td>Text</td><td>Engagement-based intent (Low / Medium / High)</td></tr><tr><td>Lead Source</td><td><code>LeadSource__c</code></td><td>Text</td><td>How the viewer was sourced</td></tr><tr><td>Related Lead</td><td><code>Lead__c</code></td><td>Lookup (Lead)</td><td>Associated Lead record</td></tr><tr><td>Related Contact</td><td><code>Contact__c</code></td><td>Lookup (Contact)</td><td>Associated Contact record</td></tr><tr><td>Created Date</td><td><code>CreatedDate</code></td><td>DateTime</td><td>Record creation timestamp</td></tr><tr><td>Last Modified Date</td><td><code>LastModifiedDate</code></td><td>DateTime</td><td>Last updated timestamp</td></tr></tbody></table>

### 🟪 Storylane Hub Data

**Object API Name:** `StorylaneHubData__c`

<table><thead><tr><th width="187.1007080078125">Field Label</th><th width="185.642333984375">Field API Name</th><th width="162.2474365234375">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>Hub Name</td><td><code>Name</code></td><td>Text</td><td>Name of the Hub viewed</td></tr><tr><td>Hub Last Viewed At</td><td><code>HubLastViewedAt__c</code></td><td>DateTime</td><td>Timestamp of the most recent Hub view</td></tr><tr><td>Hub Viewed Content (%)</td><td><code>HubViewedContent__c</code></td><td>Percent</td><td>Percentage of Hub content viewed</td></tr><tr><td>Hub Time (secs)</td><td><code>HubTimeSpent__c</code></td><td>Number</td><td>Total time spent in the Hub (seconds)</td></tr><tr><td>Hub Link</td><td><code>HubLink__c</code></td><td>URL</td><td>Link to the Hub</td></tr><tr><td>Storylane CTA Clicked</td><td><code>CtaClicked__c</code></td><td>URL</td><td>CTA URL clicked within the Hub</td></tr><tr><td>Lead Intent</td><td><code>LeadIntent__c</code></td><td>Text</td><td>Engagement-based intent (Low / Medium / High)</td></tr><tr><td>Lead Source</td><td><code>LeadSource__c</code></td><td>Text</td><td>How the viewer was sourced</td></tr><tr><td>Related Lead</td><td><code>Lead__c</code></td><td>Lookup (Lead)</td><td>Associated Lead record</td></tr><tr><td>Related Contact</td><td><code>Contact__c</code></td><td>Lookup (Contact)</td><td>Associated Contact record</td></tr><tr><td>Created Date</td><td><code>CreatedDate</code></td><td>DateTime</td><td>Record creation timestamp</td></tr><tr><td>Last Modified Date</td><td><code>LastModifiedDate</code></td><td>DateTime</td><td>Last updated timestamp</td></tr></tbody></table>

####

<figure><img src="/files/rnlxrnvvUCW1CcnEr4ES" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ujwQSdVlzU8DKkWVKlAD" alt=""><figcaption></figcaption></figure>


# Storylane App for Salesforce

Effortlessly access and share Storylane demos directly from Salesforce.

The Storylane App for Salesforce streamlines demo sharing by allowing users to log into Storylane, generate a demo URL, and automatically copy it to their clipboard, directly from Salesforce.

There are two options/views to access Storylane in Salesforce and share demos:

* [**Button View**](#option-1-button-view): Add a "Storylane Demo" quick action button to the Opportunity record page.
* [**Tab View**](#option-2-tab-view): Add the Storylane Lightning Web Component (LWC) as a separate tab on the Opportunity record page.

### Prerequisites

1. **Install the App**\
   To get started, install [the **Storylane App for Salesforce** from the Salesforce AppExchange](https://appexchange.salesforce.com/appxListingDetail?listingId=afc912b9-7143-410d-a2f5-8ca49c9b9ceb)<br>
2. **Integrate Storylane with Salesforce**\
   For the app to work seamlessly, you must [integrate Storylane with Salesforce](https://app.storylane.io/integrations) to enable API-level data sharing.

### **How it Works?**

Here is a quick interactive demo of how it works 👇

{% @storylane/embed subdomain="renee" url="<https://renee.storylane.io/demo/2vzyiqakolbh>" linkValue="2vzyiqakolbh" %}

### Coming soon: pre-built Salesforce dashboard

We are also rolling out a pre-loaded Salesforce dashboard through the AppExchange.

That way, your teams do not need to build any dashboards manually. The dashboard is designed to surface Storylane engagement and pipeline insights directly in Salesforce.

<figure><img src="/files/MTHuXTGDoQZU2bQAbaZS" alt=""><figcaption></figcaption></figure>

### **Option 1: Button View**

1. **Add the "Storylane Demo" Button**
   * A custom button ("Get a Demo") is added as a Quick Action on the Opportunity record page.
   * When clicked, the iframe loads the Storylane login page directly within Salesforce.

<div align="left"><figure><img src="/files/DuIzKFb6Tx1CGwpCxF39" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Log in to Storylane and Browse Demos**
   * Click the **“Get a Demo”** button on the Opportunity record page.
   * The **Storylane login page** will load in the iframe. Log in using your credentials.
   * After logging in, browse through the demos to select the right one.

<div align="left"><figure><img src="/files/UZZrhEO1siKls4E8aAbw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

<div align="left"><figure><img src="/files/KOhvoTKBNUngXn51FEvP" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Receive the Demo URL**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.

5. **Copy the URL to Your Clipboard**

* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

<div align="left"><figure><img src="/files/l4YtPZUMTN3k6Gz65fVe" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
The behavior of the "Copy Link" Button

* **No Opportunity Contact Roles**: The Storylane Demo Base URL is copied to the clipboard.
* **Opportunity Contact Role**: The Storylane Demo **Tokenized** URL is copied to the clipboard.
  {% endhint %}

### Option 2: Tab View

You can add the "Storylane Demo" LWC to the Opportunity record page in a separate tab.

1. **Navigate to Opportunity Record Page**

* Access the Opportunity record page
* Click the "Edit Page" button

<div align="left"><figure><img src="/files/POLh8Eg6QKwuX7UtVwPp" alt="" width="563"><figcaption></figcaption></figure></div>

2. **Add a New Tab for Storylane**

* Locate the tabs section
* Create a new tab dedicated to Storylane

<div align="left"><figure><img src="/files/QSLomGpPQL203TCb8vQw" alt="" width="563"><figcaption></figcaption></figure></div>

3. **Add the Storylane LWC to the Tab**

* Drag and drop the Storylane LWC component into the new tab

<div align="left"><figure><img src="/files/mvzx5aosRxkWXMxcy1wT" alt="" width="563"><figcaption></figcaption></figure></div>

4. **Activate and Save the Page**

* After completing these steps, you can access Storylane directly from the Opportunity record page tab.

<div align="left"><figure><img src="/files/9ywfxiW6p8Huzg5mllci" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/UJcOv1RmHcGF9BnwvQr9" alt="" width="563"><figcaption></figcaption></figure></div>

5. **Log in to Storylane and Browse Demos**

* Click the **“Get a Demo”** button on the Opportunity record page.
* The **Storylane login page** loads in the iframe. Log in using your credentials and browse demos.

6. **Generate and Copy Demo Links**

* Click the **“Copy Link”** button next to your chosen demo.
* The opportunity-specific data (e.g., **Opportunity ID and Name**) is automatically and securely sent to Storylane.

7. **Receive the Demo URL and Copy the URL to Your Clipboard**

* Storylane generates a **default demo URL** based on the transmitted Opportunity details.
* The URL is then sent back to Salesforce in real-time.
* Once the **default demo URL** is received, it is automatically copied to your clipboard.
* You can now seamlessly share the demo link with your prospects.

***

## **Storylane Permission Set: Resolving Apex Class Access Issues for Salesforce Users**

**Issue ->** Salesforce users with restricted permissions may encounter **Apex Class access issues** when using Storylane features.

**Solution ->** To resolve this, a **Salesforce Administrator** must assign the **Storylane PermissionSet** to the affected user.

**Steps to Assign the Storylane PermissionSet:**

1. **Log in** to Salesforce as an **Administrator**.
2. Navigate to **Setup > Users > Permission Sets**.
3. Locate **Storylane PermissionSet** in the list.
4. Click on the **permission set**, then select **Manage Assignments**.
5. Click **Add Assignments** and select the users who need access.
6. Click **Assign** to apply the required permissions.

***

:exclamation:***Coming soon:*****&#x20;a pre-built Salesforce dashboard**

Soon you'll be able to install our pre-built Storylane ROI dashboard through the Storylane app on the AppExchange.&#x20;

No custom report-building required - your team sets up a few permission sets, and engagement and pipeline insights surface directly in Salesforce.

Check out an example below :point\_down:

<figure><img src="/files/MTHuXTGDoQZU2bQAbaZS" alt=""><figcaption></figcaption></figure>

***

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# MCP

Storylane MCP connects Claude, ChatGPT, Cursor, and MCP-compatible AI clients to your demo library. Build, personalize, analyze, and publish demos without leaving your AI client.

* [Storylane MCP overview](#storylane-mcp-overview)
* [Setup and clients](#connect-your-ai-client)
* [Available tools](#available-tools)
* [AI workflows](#ai-workflows)
* [Ready-to-use prompts](#ready-to-use-prompts)
* [FAQ](#faq)

## Storylane MCP overview

Connect Claude, ChatGPT, Cursor, and other MCP-compatible AI clients to Storylane.

Use natural-language prompts to manage your demo library. Build, personalize, analyze, and publish demos without leaving your AI client.

{% hint style="info" %}
The MCP server URL: <https://identity.storylane.io/mcp>
{% endhint %}

What you can do:

* **Analyze engagement.** Query demo performance, leads, and account activity.
* **Create demos from media.** Convert screenshots or recordings into interactive demos.
* **Personalize at scale.** Create tailored demo variants and trackable links.
* **Manage your library.** Browse demos, workspaces, hubs, links, and voices.
* **Publish and distribute.** Update demos, publish them, and manage share links.

### Connect your AI client

Storylane MCP uses OAuth for supported clients. OAuth clients do not require a token.

{% tabs %}
{% tab title="Claude" %}

1. In Claude, open **Settings → Connectors**.
2. Select **Add custom connector**.
3. Paste the Storylane MCP server URL.
4. Sign in to Storylane and approve access.
5. In a conversation, select **+ → Connectors** and enable Storylane.

Teams and Enterprise admins may need to add the connector first.

{% hint style="info" %}
**For Personal Accounts:**\
"Add Custom Connector" is always available.

**For Company Accounts:**\
"Add Custom Connector" is only available for account admins.  A non-admin member can not add Custom Connector in Company Account.
{% endhint %}
{% endtab %}

{% tab title="ChatGPT" %}

1. For write actions, enable Developer Mode in **Workspace Settings → Permissions & Roles → Connected Data**.
2. Open **Settings → Apps & Connectors** and create a connector.
3. Set the name to `Storylane`.
4. Select OAuth authentication and add the Storylane MCP server URL.
5. Publish the connector, then authorize it from **Apps & Connectors**.

{% hint style="info" %}
**Free accounts:**

Custom Connector is not available.

**Personal (paid) accounts and company accounts:**

Custom Connector is available.
{% endhint %}

{% hint style="warning" %}
Write actions require Developer Mode. It is currently in beta for Business and Enterprise plans. Read-only tools work on all plans.
{% endhint %}
{% endtab %}
{% endtabs %}

### Available tools

Every tool is scoped to your workspace. Your AI client only accesses data you can access.

#### Analytics

* `get_demo_analytics` — Get views, unique visitors, session duration, CTA clicks, click-through rate, and completion rate for a demo.
* `get_accounts` — List companies that engaged with demos, including firmographic and engagement data.
* `get_leads` — Get leads captured through demo gating forms and their source demos.

#### Demo library

* `list_workspaces` — List workspaces available to the authenticated user.
* `switch_workspace` — Change the active workspace for the current session.
* `list_demos` — List demos in the active workspace. Supports filtering and search.
* `get_demo` — Get a demo's steps, hotspots, embed settings, and share links.
* `get_demo_status` — Get a demo's publish and processing status.

#### Demo creation and editing

* `convert_images_to_demo` — Create an interactive demo from uploaded images or screenshots.
* `convert_video_to_demo` — Create an interactive demo from a screen recording or video.
* `add_step` — Add a text, hotspot, or tooltip step to an existing demo.
* `personalise_demo` — Create an AI-personalized demo variant for a company, persona, or context.
* `update_demo_settings` — Update a demo's title, description, branding, gating, or embed settings.
* `publish_demo` — Publish a draft or updated demo.

#### Hubs

* `list_hubs` — List Demo Hubs in the active workspace.
* `get_hub` — Get a hub's demos, ordering, branding, and share URL.

#### Links and distribution

* `list_links` — List share links, tracking variables, creation dates, and view counts.
* `create_link` — Create a trackable demo link with custom variables.
* `update_link` — Update an existing link's variables, expiry, or access settings.

#### Voices

* `list_voices` — List available AI voices, languages, voice IDs, and preview URLs.

### AI workflows

#### Product marketing

**Create a launch demo from media**

1. Upload screenshots or a screen recording.
2. Create the demo with `convert_images_to_demo` or `convert_video_to_demo`.
3. Check completion with `get_demo_status`.
4. Set the title, description, branding, and gating with `update_demo_settings`.
5. Publish it with `publish_demo`.

Pair this workflow with Linear or Jira. Create demos from completed feature tickets.

**Audit your demo library**

1. List published demos with `list_demos`.
2. Retrieve analytics for each demo with `get_demo_analytics`.
3. Rank demos by engagement.
4. Flag low-performing demos for updates, personalization, or retirement.

Try this prompt:

> List all published demos. Show demos below 40% completion that had no views in 30 days. Rank them worst to best. Recommend an action for each.

#### Sales and account executives

**Prepare a personalized demo before a call**

1. Find relevant demos with `list_demos` and `get_demo`.
2. Create an account-specific variant with `personalise_demo`.
3. Publish it with `publish_demo`.
4. Generate a trackable link with `create_link`.

Combine this workflow with HubSpot or Salesforce. Log the generated link on the contact record.

**Prioritize follow-ups from engagement**

1. Get recent leads with `get_leads`.
2. Review account activity with `get_accounts`.
3. Rank accounts by engagement.
4. Draft follow-up actions for hot, nurturing, and inactive accounts.

#### Sales engineers

**Convert a screen recording into a demo**

1. Convert the recording with `convert_video_to_demo`.
2. Add missing steps with `add_step`.
3. Select narration options with `list_voices`.
4. Publish the demo and create a prospect link.

**Plan an enterprise deal hub**

1. Find persona-relevant demos with `list_demos` and `get_demo`.
2. Review existing hubs with `list_hubs` and `get_hub`.
3. Personalize selected demos with `personalise_demo`.
4. Create a recommended hub structure for the buying committee.

#### Customer success

**Refresh stale onboarding demos**

1. List onboarding and help demos with `list_demos`.
2. Find low-engagement demos with `get_demo_analytics`.
3. Prioritize demos to update, recreate, or retire.

**Identify customer expansion signals**

1. Query customer engagement with `get_accounts`.
2. Check demo-level activity with `get_demo_analytics`.
3. Flag customers exploring advanced features for follow-up.

#### RevOps and marketing operations

**Send a personalized demo when a deal reaches Demo stage**

1. Trigger the workflow from a CRM stage change.
2. Find a relevant demo with `list_demos`.
3. Personalize it using CRM data with `personalise_demo`.
4. Publish the demo and create a tracked link.
5. Write the link back to the CRM record.

Use HubSpot, Salesforce, Zapier, or webhook workflows as the trigger.

### Ready-to-use prompts

#### Compare demo performance

> Which Storylane demos had the highest engagement rate over the past 30 days? Show views, completion rate, and CTA clicks for each.

Uses `list_demos` and `get_demo_analytics`.

#### Find engaged accounts

> Show accounts that engaged with our demos in the last two weeks. Rank them by total time spent and list the demos they viewed.

Uses `get_accounts` and `get_demo_analytics`.

#### Personalize a demo for a prospect

> Find the best demo for a \[industry] company focused on \[use case]. Personalize it for \[Company Name]. Create a tracked link with their name and email.

Uses `list_demos`, `personalise_demo`, `publish_demo`, and `create_link`.

#### Create a demo from a recording

> Convert this screen recording into a Storylane demo. When it is ready, add a final step for \[feature name], then publish it.

Uses `convert_video_to_demo`, `get_demo_status`, `add_step`, and `publish_demo`.

#### Audit inactive demos

> List published demos. Flag those with no views in 30 days or completion below 30%. Recommend whether to update, personalize, or retire each one.

Uses `list_demos` and `get_demo_analytics`.

#### Review Demo Hubs

> Show every Demo Hub and its demos. Identify hubs missing a demo for the \[persona] persona. Suggest existing demos to add.

Uses `list_hubs`, `get_hub`, and `list_demos`.

#### Follow up with captured leads

> Who submitted a demo gating form this week? Group them by source demo. Draft a personalized follow-up for the top three leads.

Uses `get_leads` and `get_demo`.

### FAQ

#### 👉 Do I need technical skills?

No. After the connector is configured, use plain-language prompts.

#### 👉 Which AI clients are supported?

Claude, ChatGPT, are supported.

#### 👉 Can an agent access another workspace?

No. Operations use the active workspace. Use `switch_workspace` when you have access to multiple workspaces.

#### 👉 Is my content secure?

MCP access uses OAuth. Your AI client never receives your Storylane password.

You can revoke access from **Settings → Connectors**. Agents only access workspace data allowed by your permissions.

#### 👉 How do `personalise_demo` and link variables differ?

`personalise_demo` creates a new demo variant with AI-adapted content.

`create_link` adds dynamic viewer variables to a tracked URL. It does not modify the demo.

#### 👉 Can I automate MCP workflows?

Yes. Trigger workflows with CRM events, Zapier, or other MCP-connected tools.

#### 👉 Does MCP support Hubs?

You can list hubs and read their structure. Hub creation and editing are coming soon.

#### 👉 Which plan includes MCP?

MCP is available on Growth plans and above. Check **Settings → Integrations → MCP** for access.


# Slack

Storylane’s Slack integration allows you to receive real-time alerts when users engage with your demos or demo hubs. These alerts help your team follow up while interest is still fresh.

{% hint style="warning" %}

### **Set up alerts to start receiving Slack notifications**

⚠️ **Important:** Connecting Slack alone does not send notifications.\
Create an [**Alert**](https://docs.storylane.io/account/alerts) to get notified when users engage with your demos or hubs.
{% endhint %}

### How Leads Are Identified

Storylane recognizes two types of leads:

| Lead Type        | How It's Identified                    |
| ---------------- | -------------------------------------- |
| **Known Lead**   | When an **email address** is captured  |
| **Unknown Lead** | Based on **IP address/company** lookup |

{% hint style="info" %}

### **Identifying Leads**

There are few ways in which you can capture or identify leads. You can refer the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

### ⚙️ How it works

Slack is used as a **delivery channel for alerts**.

The flow:

1. **Connect Slack** to your Storylane workspace
   1. Navigate to Integrations tab in the left-side panel
   2. Locate the Slack integration and click Connect.
2. Once connected, click on ' **Set up Alerts'** to create your first alert
3. Create an alert and select **Slack** as the **destination**
4. Choose the **channel** where notifications should be sent, and tag a user (optional)
5. **Save** the alert
6. **Start receiving alerts** - once your alert criteria is met, you’ll receive an alert in your configured Slack channel.

Watch instructional interactive demo below 👇

{% @storylane/embed subdomain="app" linkValue="goirstps753h" url="<https://app.storylane.io/share/goirstps753h>" %}

### 🛎️ Sample Notifications

#### Known Lead

<figure><img src="/files/TJcLKI7WC3ufJbutfiHq" alt=""><figcaption></figcaption></figure>

#### Company (IP-Based) - Unknown Lead

<figure><img src="/files/mXUiXbi7QHWctMsnLQf0" alt=""><figcaption></figcaption></figure>

### 🔒 Privacy Reminder

We value privacy. To learn more about how lead data is handled, check out [Storylane's Privacy Policy](https://www.storylane.io/privacy-policy).


# FreshSales

Storylane directly integrates with FreshSales. With the integration, you can:

* Automatically create or update leads in FreshSales (including the ability to create records in custom modules)
* Update demo analytics for leads

{% hint style="warning" %}

### **Capturing Leads**

There are few ways in which you can identify new leads. You can refer the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

### How to Integrate

* To get started, reach out to Storylane support team to setup FreshSales Integration

{% @storylane/embed subdomain="app" linkValue="xloz9xeqw2di" url="<https://app.storylane.io/share/xloz9xeqw2di>" %}

### Storylane Custom Properties

Once the integration between FreshSales and Storylane is successful, below custom fields are created for each contact:

`Storylane Demo Name` - last viewed demo

* type: String&#x20;
* name: **sl\_last\_demo\_name**

`Storylane Demo Viewed At` - when the demo was viewed last

* type: DateTime&#x20;
* name: **sl\_last\_demo\_at**

`Storylane Demo Time (secs)` - time spent in seconds

* type: Integer&#x20;
* name: sl\_last\_demo\_time\_secs

`Storylane Demo Complete (%)` - percent of steps completed

* type: Percent&#x20;
* name: sl\_last\_demo\_completion\_percent

`Storylane Demo Link` - link to the demo

* type: Url&#x20;
* name: sl\_last\_demo\_link

`Storylane Demo CTA Clicked` - CTA url clicked by user

* type: Url&#x20;
* name: sl\_last\_demo\_cta

`Storylane Demo Checklist Completed` - checklist of features completed

* type: boolean&#x20;
* name: sl\_last\_demo\_checklist\_completed

`Storylane Demo Sessions` - total count of demo sessions by the lead&#x20;

* type: Integer
* name: sl\_demo\_session


# Dynamics 365

Storylane integrates with Dynamics 365 to create new leads and send demo analytics

Storylane directly integrates with Dynamics 365. With the integration, you can:

* Create new leads
* Update demo analytics for leads

{% hint style="warning" %}

### **Capturing Leads**

There are few ways in which you can identify new leads. You can refer the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

### How to Integrate

* To get started, reach out to Storylane support team to setup Dynamic 365 Integration

### Storylane Custom Properties

Once the integration between [Dynamic 365](https://learn.microsoft.com/en-us/dynamics365/sales/) and Storylane is successful, below custom fields are created for each lead record:

`Demo Name` - last viewed demo

* type: String&#x20;
* name: **sl\_last\_demo\_name**

`Demo Viewed At` - when the demo was viewed last

* type: DateTime&#x20;
* name: **sl\_last\_demo\_at**

`Demo Time (secs)` - time spent in seconds

* type: Integer&#x20;
* name: sl\_last\_demo\_time\_secs

`Demo Complete (%)` - percent of steps completed

* type: Percent&#x20;
* name: sl\_last\_demo\_completion\_percent

`Demo Link` - link to the demo

* type: Url&#x20;
* name: sl\_last\_demo\_link

`Demo CTA Clicked` - CTA url clicked by user

* type: Url&#x20;
* name: sl\_last\_demo\_cta

`Demo Checklist Completed` - checklist of features completed

* type: boolean&#x20;
* name: sl\_last\_demo\_checklist\_completed

`Demo Sessions` - total count of demo sessions by the lead&#x20;

* type: Integer
* name: sl\_demo\_session


# Zapier

Send leads to 5000+ apps through Zapier

Storylane directly integrates with Zapier, to send leads and analytics on "Demo Viewed" or "Lead Captured" triggers.&#x20;

{% hint style="info" %}

## 🎉 "Demo Viewed" and "Lead Captured" triggers are available

{% endhint %}

{% hint style="warning" %}

### **Identifying Leads**

There are a few ways in which you can capture or identify leads. You can refer to the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

### **How to Integrate**

* Click the "Settings" on the left-hand menu, and then click on the "Integration" tab.&#x20;
* Choose  Zapier integration and click on the "Connect" button.&#x20;
* You will be provided an **API-Key** to copy and use inside Zapier for connecting Storylane app

### Unknown Lead Data

For unknown leads, we can still send over our [Account Reveal](/integrations/integrations-and-data-flow/clearbit) data.

### Known Lead Data

```json
// Some code
email: bob@acme.com, 
first_name: Bob, 
last_name: Sam, 
last_demo: { 
   name: Mercury Demo 
   link: https://app.storylane.io/share/####### 
   viewed_at: 2023-09-13T21:51:00.734+00:00 
   completion: 100 
   time_spent: 29 
   checklist_completed: false 
   cta_opened: https://www.storylane.io/request-demo 
   analytics_url: https://app.storylane.io/analytics/activity/#####-####-###-###
   demo_sessions: 12
},
buyer_reveal: {
    company_name: "Acme Inc",
    company_domain: "bob@acmeinc.com",
    company_annual_revenue_range: "$10M-$20M",
    company_employee_range: "50-100"
 }
```

### **Sample Integration - Zapier and Hubspot**

{% @storylane/embed subdomain="app" linkValue="a7ez4npl661t" url="<https://app.storylane.io/share/a7ez4npl661t>" %}


# Gong

Embed interactive demo links directly in your Gong emails and templates

You can now **install the Storylane app** directly from the [**Gong Marketplace**.](https://collective.gong.io/integrations/storylane)\
If you run into any issues, reach out at *<support@storylane.io>*.

{% @storylane/embed subdomain="ajay" linkValue="jlsyda0fbyka" url="<https://ajay.storylane.io/share/jlsyda0fbyka>" %}

### 👉 Prerequisites

* You must be logged into Gong
* Your Gong account must **install the Storylane app** directly from the [**Gong Marketplace**](https://www.gong.io/collective/integrations/storylane)
* You should have a contact created under an account in Gong

### 👉 Integration Features

#### Seamless Workflow

* Access Storylane directly within Gong's email composer
* No platform switching required for demo embedding
* Pre-populated contact information streamlines personalization

#### Lead Management

* Automatic lead capture when prospects view demos
* CRM synchronization maintains clean data flow
* Engagement tracking tied to Gong contact records

### 👉 **The Setup**

### Adding Demos to Individual Emails

1. **Navigate to contacts** → Engage > Accounts
2. **Select target** → Choose account and contact to email
3. **Compose email** → Contact auto-populates in "To:" field
4. **Access Storylane** → Click Integrations icon > Storylane in composer
5. **Add demo** → Browse and embed demo link in email body

<div align="left"><figure><img src="/files/tQUZ6dWqJPsId80nkjRB" alt="" width="563"><figcaption></figcaption></figure></div>

### Adding Demos to Email Templates

1. **Open templates** → Engage > Templates
2. **Select template** → Choose template to modify
3. **Edit email step** → Select specific email in template sequence
4. **Access Storylane** → Click Integrations icon > Storylane in composer
5. **Add demo** → Browse and embed demo link in template


# Outreach

Embed interactive demo links directly in your Outreach emails with automatic lead tracking and engagement insights.

You can now **install the Storylane app** directly from the [**Outreach Marketplace**](https://marketplace.outreach.io/apps/storylane-v1?store=public).\
If you run into any issues, reach out at *<support@storylane.io>*.

### 👉 Key Benefits

* Embed demos without leaving Outreach platform
* Personalized demo experiences improve conversion rates
* Complete analytics integration for sales intelligence

<div align="left"><figure><img src="/files/gZWwt0adaIO2FaiyhjtC" alt="" width="563"><figcaption></figcaption></figure></div>

***

### **📥 How to Install**

1. Go to the Storylane App on [Outreach Marketplace](https://marketplace.outreach.io/apps/storylane-v1?store=public).
2. Click 'Request app' and follow the on-screen instructions.
3. You’re ready to start adding interactive demos to your Outreach emails and sequences.

<div align="left"><figure><img src="/files/KaTOlQ4dd1EJ2z7pPcxO" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 👉 Adding Demos to Individual Emails

1. **Select prospect** → Click email icon to open composer
2. **Access Storylane** → Click Storylane app in bottom toolbar of composer
3. **Add demo** → Browse and embed interactive demo link in email body

### 👉 Adding Demos to Email Sequences

1. **Select sequence** → Open email step you want to edit
2. **Access Storylane** → Click Storylane app in bottom toolbar of composer
3. **Add demo** → Browse and embed demo link in sequence email

<div align="left"><figure><img src="/files/AQkVThQlhfdDiCtKQtpI" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 👉 Smart Link Features

Automatic Link Generation

* **With recipient email**: Creates tokenized, personalized URL tied to prospect's email
* **Without recipient email**: Creates generic, shareable URL for anyone

#### Lead Tracking & Analytics

* **Auto Lead Creation**: Tokenized demos automatically create CRM leads when viewed
* **Real-time Insights**: Monitor demo engagement and completion rates without leaving Outreach
* **Engagement Tracking**: See which prospects are viewing your demos and track metrics


# Chili Piper

Embed live Chili Piper scheduling links directly into your interactive demos

### **👉 Prerequisites**

* You must be a Chilipiper user
* You should have Chili Piper scheduling links configured in your account
* Your Storylane workspace must have CTA functionality enabled

### **👉 Integration Features**

**Seamless Booking**

* Direct scheduling without leaving the demo experience
* Live Chili Piper calendar integration within Storylane interface
* Multiple CTA placement options for optimal conversion

**Streamlined Workflow**

* No platform switching required for prospect booking
* Scheduling opens directly within demo tour window
* Maintains demo context throughout booking process

#### **Brand CTA (Header Link)**

1. **Access settings** → Navigate to Workspace Settings
2. **Configure header** → Scroll to "Header Link on the Page" section
3. **Add scheduling** → Enter header text and Chili Piper scheduling URL
4. **Save changes** → Header link appears in top-right of published demos
5. **Test integration** → Clicking header opens Chili Piper scheduling page

#### **Convert CTA (Persistent Button)**

1. **Open demo editor** → Select Demo Settings from editor toolbar
2. **Setup CTA** → Enable "Setup a Convert CTA Button"
3. **Choose meeting link** → Select "Meeting Link" option from dropdown
4. **Add scheduling URL** → Paste Chili Piper scheduling link
5. **Publish demo** → CTA appears at bottom-right of demo tour
6. **Verify functionality** → CTA opens scheduling within demo window

<figure><img src="/files/wN36fKxcP1cEUD647BO7" alt=""><figcaption></figcaption></figure>

#### **Demo CTA (Guide Modal Buttons)**

1. **Select modal** → Choose Text Modal or Lead Form in demo
2. **Configure button** → Click button to access "Go To" settings
3. **Set meeting option** → Choose "Meeting Link" from dropdown options
4. **Enter scheduling URL** → Add Chili Piper scheduling link
5. **Save configuration** → Click checkmark to confirm settings
6. **Publish changes** → Modal CTA now links to scheduling interface

<div align="left"><figure><img src="/files/2mwpKgxh2txzPxSYV8Tg" alt="" width="563"><figcaption></figcaption></figure></div>


# Calendly

Embed live Calendly scheduling links directly into your interactive demos

### **👉 Prerequisites**

* You must be a Calendly user
* You should have Calendly scheduling links configured in your account
* Your Storylane workspace must have CTA functionality enabled

### **👉 Integration Features**

**Seamless Booking**

* Direct scheduling without leaving the demo experience
* Live Calendly calendar integration within Storylane interface
* Multiple CTA placement options for optimal conversion

**Streamlined Workflow**

* No platform switching required for prospect booking
* Scheduling opens directly within the demo tour window
* Maintains demo context throughout the booking process

### **👉 The Setup**

{% @storylane/embed subdomain="app" linkValue="kionsujdql0p" url="<https://app.storylane.io/share/kionsujdql0p>" %}

#### **Brand CTA (Header Link)**

1. **Access settings** → Navigate to Workspace Settings
2. **Configure header** → Scroll to "Header Link on the Page" section
3. **Add scheduling** → Enter header text and Calendly scheduling URL
4. **Save changes** → Header link appears in the top-right of published demos
5. **Test integration** → Clicking the header opens the Calendly scheduling page

#### **Convert CTA (Persistent Button)**

1. **Open demo editor** → Select Demo Settings from editor toolbar
2. **Setup CTA** → Enable "Setup a Convert CTA Button"
3. **Choose meeting link** → Select "Meeting Link" option from dropdown
4. **Add scheduling URL** → Paste Calendly scheduling link
5. **Publish demo** → CTA appears at bottom-right of demo tour
6. **Verify functionality** → CTA opens scheduling within demo window

<div align="left"><figure><img src="/files/v1WibUNEFqiZk1wT2u72" alt="" width="563"><figcaption></figcaption></figure></div>

#### **Demo CTA (Guide Modal Buttons)**

1. **Select modal** → Choose Text Modal or Lead Form in demo
2. **Configure button** → Click button to access "Go To" settings
3. **Set meeting option** → Choose "Meeting Link" from dropdown options
4. **Enter scheduling URL** → Add Calendly scheduling link
5. **Save configuration** → Click checkmark to confirm settings
6. **Publish changes** → Modal CTA now links to scheduling interface

<div align="left"><figure><img src="/files/NZQhVHsoE5CP3jZbFQm0" alt="" width="563"><figcaption></figcaption></figure></div>


# Google Tag Manager

Integrate Google Tag Manager (GTM) with your Storylane demos - you can track user interactions, pass event data to platforms like Google Analytics, and improve demo attribution.

## How to Integrate:

* Go to the [integrations page](https://app.storylane.io/integrations) in the Storylane Dashboard.
* Navigate to the Google Tag Manager integration, and click 'Connect'&#x20;
* Enter your Google Tag Manager Container ID in the field (see the screenshot below)

<div align="left"><figure><img src="/files/owcJtU126XHipDKmKpBF" alt="" width="563"><figcaption></figcaption></figure></div>

* Once finished, the status will change to 'Connected'

<div align="left"><figure><img src="/files/kqVQEm9H6mNiqmmLbEbm" alt="" width="375"><figcaption></figcaption></figure></div>

* If you want to make any change to the container ID, or uninstall the integration, just click on the settings icon.

<div align="left"><figure><img src="/files/UXaCWFCj5X7QN4QxJHRL" alt="" width="375"><figcaption></figcaption></figure></div>

### Below are the events you will receive in GTM

> **To verify the Integration .** We recommend you install [Google Tag Assistant](https://chrome.google.com/webstore/detail/tag-assistant-companion/jmekfmbnaedfebfnmakmokmlfpblbfdm) to verify the events coming from your page.

**Demo opened -** sent when the demo is opened&#x20;

```json
// Some code
dataLayer.push({
  event: "sl_demo_open",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 24
})
```

**Lead captured** - sent when a lead is captured or identified

```json
// Some code
dataLayer.push({
  event: "sl_lead_identify",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  email: "nalin@storylane.io",
  gtm.uniqueEventId: 28
})
```

**Demo Engaged** **(10, 25, 50, 75, 100)** - sent on demo engagement. These events are triggered when user either spends *10 seconds or finishes 10 percent of demo* (whichever comes first) . They are also sent similarly at 25, 50, 75 and 100 intervals

*We recommend using this metric to evaluate lead intent and scoring*&#x20;

```json
dataLayer.push({
  event: "sl_10_demo_engaged",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  seconds_spent: 5,
  percent_viewed: 10,
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 56
})

dataLayer.push({
  event: "sl_25_demo_engaged",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  seconds_spent: 13,
  percent_viewed: 25,
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 64
})

dataLayer.push({
  event: "sl_50_demo_engaged",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  seconds_spent: 50,
  percent_viewed: 40,
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 77
})

dataLayer.push({
  event: "sl_75_demo_engaged",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  seconds_spent: 66,
  percent_viewed: 75,
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 84
})

dataLayer.push({
  event: "sl_100_demo_engaged",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  seconds_spent: 80,
  percent_viewed: 100,
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 101
})

```

**Demo CTA clicked** - sent when a user clicks a CTA button and is directed to an external URL

```
// Some code
dataLayer.push({
  event: "sl_open_external_url",
  demo_id: "ie9jadfjhdku",
  demo_name: "Storylane Overview (homepage)",
  demo_url: "https://app.storylane.io/share/ie9jadfjhdku",
  step_id: "b904fd92-e84d-4041-8aea-64aec3eb0b55",
  step_index: 0,
  chapter_id: "73eb3b80-fce0-4ad3-9807-894b10a59fc7",
  chapter_name: "Add Guides to Navigate Buyers",
  ext_url: "https://www.storylane.io/request-demo?utm_source=website&utm_medium=solutions-page&utm_campaign=homepage",
  referrer: "https://www.google.com",
  host_url: "https://www.storylane.io",
  gtm.uniqueEventId: 112
})
```

***

## GTM Tag setup to track conversion

**Step 1:**  **Tag setup**

1. Go to **Tags > New**
2. Choose tag type:
   * GA4 Event
   * Custom HTML (for advanced needs)
3. Name your tag (e.g., `Demo Open Conversion`)
4. Set parameters (e.g., Event Name: `demo_open`)
5. Attach your trigger (created in Step 3)

### <sup>**Step 2: Create a Trigger**</sup>

| Setting         | Example                          |
| --------------- | -------------------------------- |
| Type            | Custom Event                     |
| Event Name      | `sl_demo_open`                   |
| Optional Filter | Page URL contains `storylane.io` |

***

### <sup>**Step 3: Add Data Layer Variables**</sup> <sup>*(Optional but powerful)*</sup>

Use this to track things like demo ID or name for more granular data.

| Variable Type       | Key         | Recommended Name  |
| ------------------- | ----------- | ----------------- |
| Data Layer Variable | `demo_id`   | `DLV - demo_id`   |
| Data Layer Variable | `demo_name` | `DLV - demo_name` |

***

View Interactive Demo Setup

{% @storylane/embed subdomain="app" linkValue="b1gzlx3wpkub" url="<https://app.storylane.io/share/b1gzlx3wpkub>" %}

{% hint style="info" %}
Still need help? Reach out to <support@storylane.io> & we will be happy to assist!
{% endhint %}


# Google Analytics

Integrate in a few clicks and send demo analytics to GA

You can send demo analytics as custom events to your GA Account with Google Analytics integration.&#x20;

### How to Integrate

* Go to the [integrations page](https://app.storylane.io/integrations) in the Storylane Dashboard.
* Navigate to the Google Analytics integration, and click 'Connect'&#x20;
* Enter your Google Analytics measurement ID in the field (see the screenshot below)

<div align="left"><figure><img src="/files/bi74caFyYS6VXAc8un0m" alt="" width="563"><figcaption></figcaption></figure></div>

* Once finished, the status will change to 'Connected'

<div align="left"><figure><img src="/files/kqVQEm9H6mNiqmmLbEbm" alt="" width="375"><figcaption></figcaption></figure></div>

* If you want to make any change to the GA measurement ID, or uninstall the integration, just click on the settings icon.

<div align="left"><figure><img src="/files/qFfhDhEAxW5ktaFXnf8b" alt="" width="563"><figcaption></figcaption></figure></div>

Demo:

{% @storylane/embed subdomain="app" linkValue="vkdcknxtsxcp" url="<https://app.storylane.io/share/vkdcknxtsxcp>" %}

### **Verify the Integration**

You can install [Google Tag Assistant](https://chrome.google.com/webstore/detail/tag-assistant-companion/jmekfmbnaedfebfnmakmokmlfpblbfdm) to test and verify the events coming from your page.

### Custom Events

Below are the custom events sent to GA from Storylane

**Demo opened -** sent when the demo is opened&#x20;

<pre class="language-json"><code class="lang-json"><strong>{ 
</strong>  "name": "sl_demo_open",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx"
  },
  "timestamp_micros": "1664291507089000"
}
</code></pre>

**Demo finished -** sent when the demo is finished

```json
{ 
  "name": "sl_demo_finished",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx"
  },
  "timestamp_micros": "1664291507089000"
}
```

**Step viewed** - sent when the step in the guide is viewed

```json
{
  "name": "sl_step_view",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1",
    "step_id": "xxxxx-61c3-44cb-8ad9-0c2c24cf18c0"
  },
  "timestamp_micros": "1664291511150000"
}
```

**Flow started** - sent when the flow is started <mark style="color:orange;">**(deprecated -**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">see</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**chapter\_start**</mark><mark style="color:orange;">)</mark>&#x20;

```json
{
  "name": "sl_flow_start",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1"
  },
  "timestamp_micros": "1664291510912999"
}
```

**Chapter started** - sent when the chapter is started

```json
{
  "name": "sl_chapter_start",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1"
  },
  "timestamp_micros": "1664291510912999"
}
```

**Flow ended** - sent when the flow ends <mark style="color:orange;">**(deprecated -**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">see</mark> <mark style="color:orange;"></mark><mark style="color:orange;">**chapter\_end**</mark><mark style="color:orange;">)</mark>&#x20;

<pre class="language-json"><code class="lang-json"><strong>{
</strong>  "name": "sl_flow_end",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1"
  },
  "timestamp_micros": "1664291553205000"
}
</code></pre>

**Chapter ended** - sent when the chapter ends

<pre class="language-json"><code class="lang-json"><strong>{
</strong>  "name": "sl_chapter_end",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1"
  },
  "timestamp_micros": "1664291553205000"
}
</code></pre>

**Page viewed** - sent when the page is viewed/changed

{% hint style="warning" %}
Tracked only on HTML demos
{% endhint %}

```json
{
  "name": "sl_page_view",
  "payload": {
    "demo_id": "fhjksf",
    "demo_url": "https://app.storylane.io/share/fhjksf",
    "demo_name": "Cool demo",
    "page_id": "slkfjlsjf-ksjf-fsdfsf4r34",
    "page_name": "Pricing page html"
  }
}
```

**Lead captured** - sent when a lead is captured or identified

```json
{
  "name": "sl_lead_identify",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "email": "peter@acme.io",
    "name": "Peter",
    "source": "internal_form",
    "lead_first_name": "Peter",
    "lead_last_name": "Josh"
  },
  "timestamp_micros": "1664291550241000"
}
```

**Primary CTA opened** - sent when user clicks the primary CTA

```json
{
  "name": "sl_primary_cta",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1",
    "step_id": "a67a0b5f-b2ac-49f1-80ea-3a2b22062562"
  },
  "timestamp_micros": "1664291554523000"
}
```

**Secondary CTA opened** - sent when user clicks the secondary CTA

```json
{
  "name": "sl_secondary_cta",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1",
    "step_id": "215458c6-732b-410d-9205-d1440e604478"
  },
  "timestamp_micros": "1664291554523000"
}
```

**Convert CTA opened** - sent when user clicks the convert CTA

```json
{
  "name": "sl_convert_cta",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "step_id": "215458c6-732b-410d-9205-d1440e604478",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1",
    "ext_url": "https://www.storylane.io/request-demo"
  },
  "timestamp_micros": "1664291554523000"
}
```

**External link opened** - sent when a user clicks a CTA button and is directed to an external URL

```json
{
  "name": "sl_open_external_url",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_name": "xxxxxxx",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "step_id": "53813cdb-cae4-4f1e-b5e9-8bb484f1ceb0",
    "step_index": "xx",
    "flow_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "flow_name": "Flow 1",
    "chapter_id": "xxxxx-e7ef-4687-a88e-91630da34d89",
    "chapter_name": "Chapter 1",
    "ext_url": "xxxxxxxxxxxxxxxx"
  },
  "timestamp_micros": "1664291560202000"
}
```

**Checklist item viewed** - sent when the user opens a checklist item

```json
{
  "name": "sl_checklist_item_view",
  "params": {
    "demo_id": "xxxxx-363b-4d39-9ecc-87c4b6212a42",
    "demo_url": "http://app.storylane.io/share/xxxxxxx",
    "demo_name": "xxxxxxx",
    "checklist_item_id": "b87f66e1-7467-4394-854f-a082e25a469a"
  },
  "timestamp_micros": "1664291560202000"
}
```


# Gmail

Send demos as GIFs or links directly from Gmail

#### Storylane Gmail Plugin <a href="#storylane-gmail-plugin" id="storylane-gmail-plugin"></a>

You can insert demos to your emails as GIFs or links directly from Gmail, making navigation easier and faster.

It's perfect for Sales Leave-Behinds. Now, the sales teams have an easier way to share demos with prospects and get notified who is engaging in demos, as we automatically track it.​

This plugin is already in your Gmail account, so you don't have to download anything. Go ahead and try it out in your email right away.

Here is an interactive demo to see how it works 👇

{% @storylane/embed subdomain="app" linkValue="72dfwwlfrtrn" url="<https://app.storylane.io/share/72dfwwlfrtrn>" %}


# Segment

Send demo analytics to Segment

With Segment integration, you can send demo analytics as events to your Segment Account

### How to Integrate

* First, you will need to get your HTTP API write key from Segment by following the instructions [here](https://segment.com/docs/connections/find-writekey/).
* Share the write key to support team so it can be enabled for your account
* Once Segment is enabled, you will start receiving custom events when user engages with demo&#x20;

See demo on how to add source and get write key

{% @storylane/embed subdomain="app" linkValue="9t5ayndz3gbq" url="<https://app.storylane.io/share/9t5ayndz3gbq>" %}

### Custom Events

**Demo opened -** sent when demo is opened&#x20;

```json
{
  "anonymous_id": UUID,
  "event": 'sl_demo_open',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL
  }
}
```

**Step viewed** - sent when flow step in guide is viewed

```json
{
  "anonymous_id": UUID,
  "event": 'sl_step_view',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL,
    "flow_id": UUID,
    "flow_name": String,
    "step_id": UUID
  }
}
```

**Flow started** - sent when flow is started&#x20;

```json
{
  "anonymous_id": UUID,
  "event": 'sl_flow_start',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL,
    "flow_id": UUID,
    "flow_name": String
  }
}
```

**Flow ended** - sent when flow ends&#x20;

```json
{
  "anonymous_id": UUID,
  "event": 'sl_flow_end',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL,
    "flow_id": UUID,
    "flow_name": String
  }
}
```

**Lead Identify** - sent when lead is captured or identified

```json
{
  "anonymous_id": UUID,
  "user_id": UUID,
  "event": 'sl_lead_identify',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL,
    "lead_id": UUID
  }
}
```

**CTA opened** - sent when CTA is clicked by user

```json
{
  "anonymous_id": UUID,
  "event": 'sl_cta_click',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL,
    "cta_url": URL
  }
}
```

**Checklist completed** - sent when all flows are opened by the user

```json
{
  "anonymous_id": UUID,
  "event": 'sl_checklist_complete',
  "properties": {
    "demo_id": UUID,
    "demo_name": String,
    "demo_url": URL
  }
}
```


# Intercom

Integrate with Intercom to send captured leads and events

By integrating Storylane (Sl) with Intercom, you can push the leads captured in the demo and their corresponding events to your Intercom.

Here are the steps to integrate with Intercom:

1. Reach out to support so we can enable the integration
2. Once enabled, select "Connect" in the integration dashboard
3. Select "Connect Intercom" and follow Intercom's instructions to authorize access
4. And you're all set!

<div align="left"><figure><img src="/files/x3pbhUtd7JMgdNzvcrpz" alt="" width="563"><figcaption></figcaption></figure></div>

#### What are the fields captured?

`Demo Name` - last viewed demo

* type: String&#x20;
* name: sl\_last\_demo\_name

`Demo Viewed At` - when the demo was viewed last

* type: DateTime&#x20;
* name: sl\_last\_demo\_at

`Demo Time (secs)` - time spent in seconds

* type: Integer&#x20;
* name: sl\_last\_demo\_time\_secs

`Demo Complete (%)` - percent of steps completed

* type: Percent&#x20;
* name: sl\_last\_demo\_completion\_percent

`Demo Link` - link to the demo

* type: Url&#x20;
* name: sl\_last\_demo\_link

`Demo Checklist Completed` - checklist of features completed

* type: boolean&#x20;
* name: sl\_last\_demo\_checklist\_completed

`Demo CTA Clicked` - CTA url clicked by user

* type: Url&#x20;
* name: sl\_last\_demo\_cta

`Demo Sessions` - total count of demo sessions by the lead&#x20;

* type: Integer
* name: sl\_demo\_session

Here’s the reference on how it looks like in Intercom when a lead is captured in Storylane&#x20;

&#x20;![](/files/RhTv0oPpX1QQAjwsB52C)

#### When is the lead captured?

Storylane tracks two events in the demo:

* sl-flow-started - This event is triggered and sent to Intercom when a lead starts the flow.
* sl-demo-engaged - This event is triggered and sent to Intercom when the lead stops engagement with the demo. This event will include stats like time spent on the demo, percentage completed, etc.

You can find these under the “Recent Events” section.

![](/files/wt08nBOeekBedLdGrSXA)

{% hint style="info" %}
*Please note: No information is sent for anonymous/unknown leads. If you’d like to push the leads to your Intercom, ensure you use the email param or a lead form.*
{% endhint %}


# Clearbit

Enrich demo viewers data on Storylane with personal/company info from Clearbit.

The Storylane and Clearbit integration empowers you to gather personal and company data about your demo viewers, offering you valuable insights to enhance your demos. Say goodbye to unknown leads and get ready to supercharge your demos!

*(Note: you don't need a Clearbit account. You just need to have an active Storylane account)*

### **How to Integrate (Introducing Account Reveal)**&#x20;

With the Account Reveal feature, you can enrich viewers' data with company info from Clearbit, automatically, without a Clearbit account.

Therefore, enriching your demo viewers' data with Account Reveal is incredibly simple:

1. Enable Account Reveal: Activate in [Settings](https://app.storylane.io/team/settings?tab=config) for your demos with a single click.
2. Access Insights: View enriched company data about your demo viewers directly in the [Analytics Dashboard](https://app.storylane.io/analytics/activity).

{% @storylane/embed subdomain="app" linkValue="dde8dt4xnhlb" url="<https://app.storylane.io/share/dde8dt4xnhlb>" %}

{% hint style="info" %}
Have questions or need help? No problem, we'd be happy to help. Simply reach out to us - <support@storylane.io>.
{% endhint %}


# 6Sense

Enrich demo viewers data on Storylane with personal/company info from 6Sense.

## **Sending Data to 6Sense**

To send data to 6Sense, follow the steps below.

#### **Implementation Steps**

1. Navigate to **Demo Settings**.
2. Click on **Custom Code**.
3. Select the **Web Frame** section.
4. Paste the following script inside the `<script>` tags:

```javascript
<script>
   var script = document.createElement('script');
   script.setAttribute('src', "6Sense WebTag Goes Here");
   script.setAttribute('id', "6senseWebTag");
   document.head.appendChild(script);
</script>
```

<figure><img src="/files/XxhpKxSHuq6a4RNuqhMF" alt=""><figcaption><p>Example in an HTML Demo</p></figcaption></figure>

<figure><img src="/files/dh5TeR80msUGB531blNd" alt=""><figcaption><p>Example in a Screenshot demo (already web frame by default)</p></figcaption></figure>

{% hint style="warning" %}
Important Notes:
{% endhint %}

* Ensure that you replace **"6Sense WebTag Goes Here"** with the actual WebTag URL provided by 6Sense.
* This script dynamically adds the 6Sense tracking tag to the demo, enabling data collection for analytics.<br>

If you need to apply this tracking globally across multiple demos, please reach out to support at ***<support@storylane.io>***


# SourceForge

Engage prospective buyers when they visit your SourceForge profile

You can now add your interactive demos to your SourceForge profile and invite your prospects as well as visitors to interact with your demos if you're a paid customer of both SourceForge and Storylane.

All you have to do is:

**Step 1:** Log in to your SourceForge dashboard and click on the “Interactive Demo” tab under "Plus Package" in the left-sided panel.

**Step 2:** From the list, find Storylane on the top, and click "Set Up".

<figure><img src="/files/sP5CDZqg9QnweMct9c0p" alt=""><figcaption></figcaption></figure>

**Step 3:** In the next screen (as seen below), enter the URL of the demo that you created on your Storylane dashboard and add the demo image you wish to set for the demo. Hit save.

<figure><img src="/files/LdGYn4DTkQT03mmscgmL" alt=""><figcaption></figcaption></figure>

**Buyer Insights**

The insights you'll receive when a prospect interacts with your demos on SourceForge are identical to what you get while embedding on your website/ sending it to buyers and will appear inside the Analytics section. This will include views, clicks, and form submissions.

**Note:** You don't have to create new copies of the demo to track your SourceForge engagement. You can simply create aliases (new links) of your demo and embed the alias onto SourceForge. Storylane analytics will then track engagement data from SourceForge separately for the alias link.


# Seismic

Create and share interactive demos directly within Seismic

### **Overview**

Storylane's Seismic app allows you to sync your demo links directly to your Seismic workspace, making them accessible to your sales team for distribution to prospects.

**What this enables:**

* **Seamless demo distribution**: Share interactive demos directly through Seismic to ensure consistent, up-to-date content across your sales team
* **Easy sales enablement**: Empower your sales team with interactive demo content that engages prospects and drives conversions
* **Automated sync**: Keep your demo links synchronized between Storylane and Seismic automatically
* **Organized content**: All Storylane links are organized in a dedicated `Storylane` folder in your Seismic workspace

<figure><img src="/files/nW02AylKHlXRnW3eXBcM" alt=""><figcaption></figcaption></figure>

### **Prerequisites**

**1. Active Storylane Account**\
Users must have an active Storylane workspace with published demos ready for sharing. Any Storylane plan that supports demo creation and sharing is compatible.

**2. Seismic User Account**\
A valid Seismic login with access to WorkSpace, Digital Sales Rooms, or other areas where Storylane demos will be used.

**3. Enabled Storylane Integration in Seismic**\
The Storylane app must be installed from the Seismic App Exchange and enabled by a Seismic administrator:

* Appropriate permissions depending on your organization
* Permission to add content to workspace
* Permission to create or manage Digital Sales Rooms
* Admin approval for third party integrations

<figure><img src="/files/lGwwiwMSwzIGPsr6Y0oZ" alt=""><figcaption></figcaption></figure>

### How This App Works

Storylane integrates with Seismic to centralize, organize, and deliver interactive product demos. Teams can browse their Storylane library inside Seismic, copy demo URLs and add them to their WorkSpace, and then use these URLs within Digital Sales Rooms.

* **Access Storylane demos inside Seismic**: From the Seismic sidebar, users can open the Storylane tab to view their full demo library. Published demos appear in a structured list with search, filters, and sharing options. Teams can copy links or launch demos without leaving Seismic, using Storylane in tandem with other content information from Seismic.
* **Add Storylane demos to WorkSpace**: Users can save Storylane demos into WorkSpace like any other Seismic asset. Saved demos can be shared, organized by deal or region, and tracked through Seismic's collaboration tools while still powered by Storylane interactivity.
* **Embed Storylane demos in Digital Sales Rooms**: When building a Digital Sales Room, Storylane demos appear as selectable assets. Sellers can embed guides, interactive demos directly into the DSR to give buyers a hands-on, self-paced product experience.

<figure><img src="/files/rVz1cR5yr3cz7Emtsvhz" alt=""><figcaption></figcaption></figure>

### Common Use Cases

* **Sales Team Enablement**: Enable your sales team to easily access and share interactive demos through their familiar Seismic interface
* **Consistent Content Distribution**: Ensure all team members have access to the latest demo versions without manual updates
* **Prospect-Specific Demos**: Share customized demos for specific prospects through Seismic's Digital Sales Rooms
* **Campaign Management**: Organize demo content alongside other sales materials in Seismic for comprehensive campaign management


# G2

Engage prospective buyers when they visit your G2 profile

You can now add your interactive demos to your G2 profile and invite your prospects as well as visitors to interact with your demos, if you're a paid customer of both G2 and Storylane.

All you have got to do is,

**Step 1:** Login to your G2 dashboard and click on the very first option of the left-sided panel "Product Profile".

**Step 2:** From the dropdown, click on "Interactive Demo". Here, you'll find an "Add Demo" CTA. Click on this.

**Step 3:** In the next screen (as seen below), enter the url of the demo that you created on your Storylane dashboard and the preview image you wish to set for the demo. Hit save.

{% hint style="warning" %}
If you're using a custom domain, replace it with `app.storylane.io` just before `/share` in the URL

**Example:**\
`https://demo.acme.com/share/btb3nk7ieo6t` → `https://app.storylane.io/share/btb3nk7ieo6t`
{% endhint %}

<figure><img src="/files/iFqfJFmXVOGFldXtujff" alt=""><figcaption></figcaption></figure>

**Buyer Insights**

The insights you'll receive when a prospect interacts with your demos on G2 are identical to what you get while embedding on your website/ sending it to buyers, and will appear inside the Analytics section. This will include views, clicks and form submissions.

**Note:** You don't have to create new copies of demo to track your G2 engagement. You can simply create aliases (new links) of your demo and embed the alias onto G2. Storylane analytics will then track engagement data from G2 separately for the alias link.


# Webhooks

Webhooks are available starting from the Starter plan.

You can send demo events to the Webhook URL.

{% hint style="warning" %}

### **Identifying Leads**

There are a few ways in which you can capture or identify leads. You can refer to the article on [Lead Tracking](/analytics-and-performance/capture-leads) to learn more
{% endhint %}

***

### **How to Integrate**

* Click the "Settings" on the left-hand menu, and then click on the "Integration" tab.&#x20;
* Choose Webhook integration and click on the "Connect" button.&#x20;

<div align="left"><figure><img src="/files/HLfiqkmiXYpJGGFxScle" alt="" width="563"><figcaption></figcaption></figure></div>

* Paste the webhook URL (This is the URL where you want to receive webhooks)
* Lastly, decide whether you want to send webhooks for all demo sessions (unknown and known), or only when the lead or account is known.

***

### How do I verify the webhook signature? <a href="#how-do-i-verify-the-webhook-signature" id="how-do-i-verify-the-webhook-signature"></a>

To ensure that webhook requests are coming from Storylane and have not been tampered with, we recommend verifying the signature included in the request headers.

Every webhook request includes an `x-storylane-signature` header. This signature is an HMAC-SHA256 hash of the raw request body, generated using your Webhook Verification Secret and then Base64 encoded.

#### 1. Retrieve your Verification Secret

You can find your Verification Secret in the Storylane dashboard under **Settings > Integrations > Webhook**. Keep this secret secure; do not share it or commit it to public repositories.

#### 2. Verification Logic

To verify the signature:

1. Retrieve the `x-storylane-signature` header from the request.
2. Get the raw body of the request (unparsed string).
3. Compute the HMAC-SHA256 hash of the raw body using your Verification Secret as the key.
4. Base64 encode the resulting hash.
5. Compare your generated string with the value in the `x-storylane-signature` header.

#### 3. Implementation Examples

**Node.js (Express)**

When using Express, ensure you use the raw body for the HMAC calculation.

```js
const crypto = require('crypto');

app.post('/webhook', (req, res) => {
  const signature = req.headers['x-storylane-signature'];
  const secret = process.env.STORYLANE_WEBHOOK_SECRET;

  // 'req.rawBody' should be the unparsed string of the request body
  const hmac = crypto.createHmac('sha256', secret);
  const digest = hmac.update(req.rawBody).digest('base64');

  if (signature === digest) {
    // Valid signature
    console.log('Webhook verified');
    res.status(200).send('Verified');
  } else {
    // Invalid signature
    res.status(401).send('Unauthorized');
  }
});
```

**Ruby**

```ruby
require 'openssl'
require 'base64'

def verify_signature(payload, secret, received_signature)
  hmac = OpenSSL::HMAC.digest(
    'sha256',
    secret.to_s,
    payload
  )

  expected_signature = Base64.strict_encode64(hmac)

  # Use secure comparison to prevent timing attacks
  Rack::Utils.secure_compare(expected_signature, received_signature)
end
```

**Python (Flask)**

```python
import hmac
import hashlib
import base64
from flask import request

@app.route('/webhook', methods=['POST'])
def handle_webhook():
    secret = "your_verification_secret"
    received_signature = request.headers.get('x-storylane-signature')

    # Get raw data
    payload = request.get_data()

    # Create hash
    digest = hmac.new(
        secret.encode('utf-8'),
        payload,
        hashlib.sha256
    ).digest()

    expected_signature = base64.b64encode(digest).decode()

    if hmac.compare_digest(expected_signature, received_signature):
        return "OK", 200
    else:
        return "Unauthorized", 401
```

***

### Webhook Example&#x20;

To help you understand what kind of data you can expect from our webhooks, here's a sample response payload for unknown and known demo sessions.

#### **Known demo sessions (known lead data)**

```json
{
  "id": "a61a8af4-8a33-4b4d-9861-d8542bcb4d36",
  "analytics_url": "https://app.storylane.io/audience/sessions/a61a8af4-8a33-4b4d-9861-d8542bcb4d36",
  "buyer_reveal": {
    "company_name": "Acme Inc",
    "company_domain": "example.com",
    "company_annual_revenue_range": "$1B-$10B",
    "company_employee_range": "1K-5K",
    "confidence_score": "low"
  },
  "checklist_completed": false,
  "completion": 100,
  "cta_opened": null,
  "host_url": "https://app.storylane.io/share/lcmplr8qd0rj",
  "intent_level": "high",
  "lead": {
    "id": "dcc7997a-c811-4778-a065-cc009ad6b46e",
    "client_source": "none",
    "client_tracking_id": null,
    "email": "webhooktest@test.com",
    "first_name": "",
    "last_name": "",
    "lead_source": "Nurtured"
  },
  "link": "https://app.storylane.io/share/lcmplr8qd0rj",
  "link_name": "Default",
  "location": {
    "city": "Pune",
    "country": "India",
    "state": "MH"
  },
  "name": "test for Pardot",
  "referers": [
    "https://app.storylane.io/share/lcmplr8qd0rj?email=webhooktest@test.com"
  ],
  "time_spent": 10,
  "utm_params": {},
  "viewed_at": "2026-05-20T03:27:29.246-07:00",
  "event": "demo_viewed"
}
```

#### &#x20;**Unknown demo sessions (unknown lead data)**

```json
{
  "id": "b88dce43-555e-454c-82e2-0b5c092a85c0",
  "analytics_url": "https://app.storylane.io/audience/sessions/b88dce43-555e-454c-82e2-0b5c092a85c0",
  "buyer_reveal": {
    "company_name": "Acme Inc",
    "company_domain": "example.com",
    "company_annual_revenue_range": "$1B-$10B",
    "company_employee_range": "1K-5K",
    "confidence_score": "low"
  },
  "checklist_completed": false,
  "completion": 100,
  "cta_opened": null,
  "host_url": "https://app.storylane.io/share/i9k15ivebdkv",
  "intent_level": "high",
  "lead": null,
  "link": "https://app.storylane.io/share/i9k15ivebdkv",
  "link_name": "Default",
  "location": {
    "city": "Pune",
    "country": "India",
    "state": "MH"
  },
  "name": "Test 2 for Marketo",
  "referers": [
    "https://app.storylane.io/share/i9k15ivebdkv",
    "https://app.storylane.io/projects"
  ],
  "time_spent": 3,
  "utm_params": {},
  "viewed_at": "2026-05-20T03:21:32.937-07:00",
  "event": "demo_viewed"
}
```


# Cross-Frame Events

Send demo analytic events cross origin

You can now send Storylane demo analytics cross-frame to the hosting website. If you are embedding Storylane demo on your webpage, then real-time analytics events can now be subscribed on your webpage.  Some use cases can be:

* Launching chat window based on user action in the demo
* Displaying demo-booking calendar based on user action
* Combine Storylane analytics with additional user info and send to your analytics stack

## **Implementation**

When Storylane demo is embedded on a webpage then each user interaction will trigger an event that will be sent through [`window.postMessage()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). Below is an example of an event payload sent from Storylane demo iframe

```json
//Storylane sends these postMessage events from iframe to the parent window
window.parent.postMessage(
{
  message: 'storylane-demo-event',
  payload: {
    event: 'step_view';
    demo: {
      id: string;
      url: string;
    };
    step: {
      id: string;
      index: number; // starts with 1  
    };
    flow: {
      id: string;
      name: string;
    };
   }
 },
'*'
)

```

You will subscribe to the above events like below on your webpage so it can be processed&#x20;

```json
window.addEventListener('message', (event) => {
  if (event.data.message === 'storylane-demo-event') {
    //do something here based on event type
    // 1. send event to GA, Amplitude, mixpanel etc
    // 2. open chat window
    // 3. open meeting calendar ..or anything else
  }
})
```

Below are different <mark style="color:blue;">`event.data.payload`</mark>for different analytic events sent from the Storylane Demo

```json
// sent when demo loads first time 
{
  event: 'demo_open';
  demo: {
    id: string;
    url: string;
    name: string;
  };
}

// sent when a guided step (hotspot, walkthrough, or modal) is displayed
{
  event: 'step_view';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  step: {
    id: string;
    index: number; // starts with 1  
  };
  flow: {
    id: string;
    name: string;
  };
}

// sent when demo is finished and user went through all steps/flows
{
  event: 'demo_finished';
  demo: {
    id: string;
    url: string;
    name: string;
  };
}

// sent when a lead is captured through form or URL params
{
  event: 'lead_identify';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  lead: {
    email: string;
    [key: string]: string; // e.g. first_name, last_name, company, etc...
  }
}

// sent when the user clicks on the CTA in button to the external URL
{
  event: 'open_external_url';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  step: {
    id: string;
    index: number; // starts with 1  
  };
  flow: {
    id: string;
    name: string;
  };
  target: {
    url: string;
    target: '_blank' | '_self';
  }
}

// sent when an item in the checklist is clicked
{
  event: 'checklist_item_view';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  checklist_item: {
    id: string;
  }
}

// sent when flow started by user
// You need to have multiple flows and a checklist configured for this
{
  event: 'flow_start';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  flow: {
    id: string;
    name: string;
  };
}

// sent when the last step in flow was viewed 
{
  event: 'flow_end';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  flow: {
    id: string;
    name: string;
  };
}

// sent on every page change
{
  event: 'page_view';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  page: {
    id: string;
    name: string;
  }
}

// sent when the user clicks a primary button in the guide
{
  event: 'primary_cta';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  step: {
    id: string;
    index: number; // starts with 1  
  };
  flow: {
    id: string;
    name: string;
  };
}

// sent when the user clicks a secondary button in the guide
{
  event: 'secondary_cta';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  step: {
    id: string;
    index: number; // starts with 1  
  };
  flow: {
    id: string;
    name: string;
  };
}

// sent when the user clicks a convert CTA button in the demo
{
  event: 'convert_cta';
  demo: {
    id: string;
    url: string;
    name: string;
  };
  step: {
    id: string;
    index: number; // starts with 1  
  };
  flow: {
    id: string;
    name: string;
  };
}


```

## **Example of sending events to GA**

{% embed url="<https://jsfiddle.net/storylane/Lwotsvdr/>" %}


# External API

Storylane now offers External API capabilities designed for advanced users, enabling seamless backend integration with our platform. These APIs provide enhanced functionality to help you streamline your demo management and improve security.

{% hint style="info" %}
The API is available to users on the Enterprise plan. If you're interested in testing the API or the Enterprise plan, please contact us at <support@storylane.io>.
{% endhint %}

#### Benefits of External API Integration

* **Access Published Demos:** List and track all published demos effortlessly.
* **Secure Demo Links:** Generate demo links with advanced security features like passcodes, expiration dates, and authentication codes.
* **Personalization:** Pass email parameters in demo links for tailored experiences.
* **Token Management:** Update links with secure access tokens.
* **Control Access:** View active links and disable them as required.

### Getting Started

To begin using the External API, you’ll need to request an API token from Storylane. Follow the steps below:

#### Step 1: Request an API Token and Workspace ID

1. Contact our support team at  <support@storylane.io> to request the following credentials:
   * **`workspace_id`** – Unique identifier for your workspace.
   * **`access_token`** – Your secure API access token.
2. Once your request is approved, you will receive both credentials securely.
3. Save these credentials securely, as they are required for authenticated API requests.

{% hint style="warning" %}
&#x20;We are not able to access `access_token` again if you lose it. We don’t store it on our side and have no access to it after we send it to you. Therefore, please store it securely.&#x20;
{% endhint %}

#### Step 2: Set Up and Authenticate Using Postman

* Access the **Storylane Public Postman Collection**: [Storylane Public Postman Collection](https://www.postman.com/team-storylane/storylane-public/collection/2zkg7jc/storylane-connect?action=share\&creator=17698894).
* In the Postman collection, locate and replace the following variables:
  * **`WORKSPACE_ID`** – Replace with the workspace ID provided by support.
  * **`ACCESS_TOKEN`**(The Bearer Auth Token) – Replace with **the API token** provided by support.

#### Step 3: Run and Verify the Data

Run the API endpoints in Postman and verify that you are successfully retrieving your company’s demo data.

<figure><img src="/files/WG8Z6g5ZzAWFi4E9HZOG" alt="" width="375"><figcaption></figcaption></figure>

Here is an interactive demo demonstrating how to set up using Postman 👇

{% @storylane/embed subdomain="app" linkValue="jkzyb2hwbamc" url="<https://app.storylane.io/share/jkzyb2hwbamc>" %}

### **API Responses**

**1. All Published Demos**\
Use the endpoint to list all published demos in your workspace. A sample response:

```json
{
    "demos": [
         {
            "id": "4553c46a-43c7-41fd-8101-57904egeskw7a",
            "convert_cta": {
                "text": "Talk to Sales",
                "url": "https://storylane-security-review.my.salesforce-setup.com",
                "enabled": false
            },
            "created_at": "2026-01-22T11:26:14.732-12:00",
            "edited_at": "2026-01-22T12:35:55.589-12:00",
            "folder": null,
            "kind": "image",
            "links_count": 1,
            "name": "DemoHub x Salesforce",
            "published_at": "2026-01-22T12:35:55.589-12:00",
            "status": "published",
            "team_id": "d48e4b56-61f4-402e-abf4-219c85dd00ba",
            "user": {
                "id": "5b094482-be80-4b25-bd5f-7458efda2f0a",
                "email": "renee@storylane.io",
                "first_name": "Renee",
                "last_name": "Scrybalo"
            }
        },
        {
            "id": "fd81ad9a-aa56-478a-84b9-e81e9cbe782fa",
            "convert_cta": {
                "text": "Book a Demo",
                "url": "",
                "enabled": false
            },
            "created_at": "2026-01-22T09:43:28.796-12:00",
            "edited_at": "2026-01-22T09:48:22.218-12:00",
            "folder": null,
            "kind": "html",
            "links_count": 1,
            "name": "HubSpot + Storylane | Jan 22 4:43 PM",
            "published_at": "2026-01-22T09:46:02.522-12:00",
            "status": "amended",
            "team_id": "d48e4b56-61f4-402e-abf4-219c85dd00ba",
            "user": {
                "id": "5b094482-be80-4b25-bd5f-7458efda2f0a",
                "email": "renee@storylane.io",
                "first_name": "Renee",
                "last_name": "Scrybalo"
            }
        },
        ...
    ]
}
```

***

**2. Get Details on a Single Demo**\
Use the endpoint to fetch detailed information about a specific demo. A sample response:

```json
{
    "demo": {
        "id": "4553c46a-43c7-41fd-8101-57904ed6dad9",
        "chapter_menu": null,
        "chapters": [
            {
                "id": "5386c880-d642-4a4e-8929-4c3ed370731e",
                "name": "Default",
                "steps": [
                    {
                        "id": "0decf650-6627-442e-864e-194b5452b45c",
                        "audio_url": "",
                        "content": "<h2 style=\"text-align: center\"><strong>Sync Buyer Hub Properties now in Salesforce!</strong></h2><p style=\"text-align: center\">Learn how to integrate our new Demo Hub data with your Salesforce leads for deeper insights and more effective prospect tracking</p>",
                        "cta": "begin!",
                        "kind": "popup",
                        "secondary": null,
                        "transcription": null
                    },
                    {
                        "id": "0dbde31a-fd5f-4bee-afac-71670f623c5e",
                        "audio_url": "",
                        "content": "",
                        "cta": null,
                        "kind": "hotspot",
                        "secondary": null,
                        "transcription": null
                    }
                ]
            }
        ],
        "convert_cta": {
            "text": "Talk to Sales",
            "url": "https://storylane-security-review.my.salesforce-setup.com",
            "enabled": false
        },
        "created_at": "2026-01-22T11:26:14.732-12:00",
        "edited_at": "2026-01-22T12:35:55.589-12:00",
        "folder": null,
        "kind": "image",
        "links_count": 1,
        "name": "DemoHub x Salesforce",
        "published_at": "2026-01-22T12:35:55.589-12:00",
        "status": "published",
        "team": {
            "id": "d48e4b56-61f4-402e-abf4-219c85dd00b5",
            "name": "Renee S Team (:"
        },
        "user": {
            "id": "5b094482-be80-4b25-bd5f-7458efda2f0f",
            "email": "renee@storylane.io",
            "first_name": "Renee",
            "last_name": "Scrybalo"
        }
    }
}
```

***

**3. List Demo Links**\
Returns a response containing all links associated with a specific demo. A sample:

```json
{
    "links": [
        {
            "id": "e92cab1c-ccb1-46da-92dc-0c796859d4e3",
            "created_at": "2026-01-22T12:35:43.061-12:00",
            "default_link": true,
            "email_confirmation_required": false,
            "email_required": false,
            "expires_at": null,
            "name": "Default",
            "passcode": null,
            "recipient_email": null,
            "tokens": [],
            "updated_at": "2026-01-22T12:35:43.061-12:00",
            "url": "https://renee.storylane.io/share/g0gtnfqh9n1e",
            "user": {
                "id": "5b094482-be80-4b25-bd5f-7458efda2f0f",
                "email": "renee@storylane.io",
                "first_name": "Renee",
                "last_name": "Scrybalo"
            },
            "whitelist_email_domains": []
        }
    ]
}
```

***

**4. Create a New Demo Link**\
A sample response for getting the details of newly created demo links:

```json
{
    "link": {
        "id": "b8e449e5-979f-442f-a75d-68ae8b446f5c",
        "created_at": "2026-01-23T04:19:05.392-12:00",
        "default_link": false,
        "email_confirmation_required": false,
        "email_required": false,
        "expires_at": null,
        "name": "Zuzi",
        "passcode": null,
        "recipient_email": null,
        "tokens": [],
        "updated_at": "2026-01-23T04:19:05.392-12:00",
        "url": "https://renee.storylane.io/share/cm6la2wsqtwp",
        "user": {
            "id": "5b094482-be80-4b25-bd5f-7458efda2f0f",
            "email": "renee@storylane.io",
            "first_name": "Renee",
            "last_name": "Scrybalo"
        },
        "whitelist_email_domains": []
    }
}
```

***

**5. Update an Existing Demo Link**\
Returns a response with updated details of an existing demo link:

```json
{
    "link": {
        "id": "b8e449e5-979f-442f-a75d-68ae8b446f5a",
        "created_at": "2026-01-23T04:19:05.392-12:00",
        "default_link": false,
        "email_confirmation_required": false,
        "email_required": false,
        "expires_at": null,
        "name": "Zuzi",
        "passcode": null,
        "recipient_email": null,
        "tokens": [],
        "updated_at": "2026-01-23T04:19:05.392-12:00",
        "url": "https://renee.storylane.io/share/cm6la2wsqtwp",
        "user": {
            "id": "5b094482-be80-4b25-bd5f-7458efda2f0a",
            "email": "renee@storylane.io",
            "first_name": "Renee",
            "last_name": "Scrybalo"
        },
        "whitelist_email_domains": []
    }
}
```

### Additional Notes

* Ensure API tokens are stored securely and not shared publicly.

For further assistance, please contact <support@storylane.io>.


# Alerts

Never miss a hot lead. Get notified instantly when prospects engage with your demos or demo hubs - right in Slack, email, or via webhook.

High-intent moments *don’t last long.* Alerts help teams:

* Respond to hot leads and target accounts within minutes
* Eliminate delayed marketing → sales hand-offs
* Prioritize outreach based on real demo engagement
* Increase conversion rates and shorten sales cycles

### 👉 **How Alerts work**

Create alerts based on specific engagement triggers like demo views, CTA clicks, lead intent scoring, form submissions, demo hub engagement, account-level activity, and more.

Alerts can be delivered via **Slack,** **email or webhooks** - and are fully customizable, so sales and marketing teams get the exact signals they need, exactly when they need them.

***

👉 **For Sales teams:**\
Alerts can be routed to specific reps, SDRs, inboxes, or Slack channels, ensuring sellers are notified in real time and can act immediately when a prospect engages.

👉 **For Marketing teams:**\
Alerts notify sales the moment high-intent leads interact with a demo or form, enabling fast, seamless hand-offs and stronger alignment between marketing and revenue teams.

Try Interactive Demo Yourself 👇

{% @storylane/embed subdomain="app" linkValue="rqzcwygfaztz" url="<https://app.storylane.io/share/rqzcwygfaztz>" %}

{% hint style="info" %}
Still have questions or need help? Feel free to contact us at ➜ <support@storylane.io>  🙂 Chat soon!
{% endhint %}


# User activity

Track how your team is using Storylane - and who’s driving results.

### **What is User Activity?**

User Activity shows performance metrics for each user in your workspace based on how their demos/hubs are used.

You can see:

* Who is sharing demos with prospects
* Who is generating the most views and engagement
* Which users are reaching accounts and driving leads

It helps answer questions like:

* Which reps are actively using demos in their workflow?
* Who is generating the most engagement from prospects?
* Which demos and links are performing best?

Here is an interactive demo to learn more 👇

{% @storylane/embed subdomain="app" linkValue="8swgfgon0bco" url="<https://app.storylane.io/share/8swgfgon0bco>" %}

***

### **Leaderboard**

At the top of the page, you’ll see a graph representing the leaderboard of top users based on the performance.

#### **What you can do:**

* Select a metric:
  * Total views
  * Accounts reached
  * Leads
  * Total view time
  * Share links
* Choose how many users to display:
  * Top 3
  * Top 5
  * Top 10

The chart updates automatically based on your selection.

***

### **Metrics Explained**

**Share Links -** Number of demo links a user has shared.

**Total Views -** Total number of demo and hub views generated from those links.

**Accounts Reached -** Number of unique companies that interacted with the demos.

**Leads -** Number of identified users captured through demo engagement.

**Total View Time -** Total time prospects spent engaging with demos.

***

### **User Table**

Below the leaderboard, you’ll see all users and their performance.

For each user, you can view:

* Name and email
* Share links
* Total views
* Accounts reached
* Total view time

The table is sorted based on the selected metric.

***

### **User Details**

Click on a user to open a detailed view.

Here you can see:

* All demo links shared by the user
* Performance per link
* Views, accounts, leads, and engagement per link

This helps you understand how each rep is using demos with prospects.

***

### **How to Use User Activity**

**Track sales usage -** See which reps are actively sharing demos and using them in their workflow.

**Identify top performers -** Find who is driving the most engagement from prospects.

**Support your team -** Spot reps who may need help adopting demos effectively.

{% hint style="info" %}
Still have questions or need help? Feel free to contact us at ➜ <support@storylane.io>  🙂 Chat soon!
{% endhint %}


# Managing Demos

Features to help you organize and reuse demos

You'll find the following features to be helpful after creating your demos:

* [Markers](#labels)
* [Rename screens](#rename-screens)
* [Translate & duplicate demos](#translate-and-duplicate-demo)
* [Copy screens from one demo to another](#copy-screens-from-one-demo-to-another)
* [Copy demos and chapters to another demo](#copy-demos-and-chapters-to-another-demo)
* [Filter screens by guides](#filter-screens-by-guides)
* [Share demos across teams](#share-demos-across-teams)
* [Move demos to another team](#move-a-demo-to-another-team)
* [Labels (ex folders)](#labels)

### 👉 Markers

With Markers, you can assign color-coded, customizable tags to your captured screens for easier grouping and filtering. Markers act like folders, staying attached to screens to simplify content organization and improve efficiency when creating guides. Perfect for keeping demos well-organized and focused!

<div align="left"><figure><img src="/files/KHImxrGKjLm3FPbOBMnQ" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Rename screens

Click on the 'Screens' tab to view the screens you've captured. Select the screen to rename -> three dots -> choose "Rename" -> change the name of the screen -> click the checkmark to save your changes.

### 👉 Translate & Duplicate Demo

Need your demo accessible in multiple languages, but don't have time to translate each step manually? We've got you! With Translate & Duplicate, you can duplicate your demo and translate its content into any language in just a few clicks.

<div align="left"><figure><img src="/files/7zxfhkgyJVRbuCe69BXy" alt="" width="289"><figcaption></figcaption></figure></div>

### 👉 Copy screens from one demo to another

Here is a quick interactive tour of how to copy screens from one demo to another 👇

{% @storylane/embed subdomain="app" linkValue="yrhl0zoxojdg" url="<https://app.storylane.io/share/yrhl0zoxojdg>" %}

{% hint style="info" %}
*Note: You can only copy screens from a Screenshot Demo to another Screenshot Demo, and from an HTML Demo to another HTML Demo*
{% endhint %}

### 👉 Copy demos and chapters to another demo

To copy a demo to another demo:

1. Open the destination demo
2. Select "New chapter"
3. Select "Or, copy from existing demo"
4. Choose the demo and chapter you'd like to copy
5. Hit "Copy" and you're all set!

Note that you can only copy demos between the same demo formats (Screenshot demos can only be copied to other screenshot demos, while HTML demos can only be copied to other HTML demos)

<div align="left"><figure><img src="/files/RYrVUpxodcDKJ819IYPK" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Filter screens by with/without guides

Filter by guides - easily locate the screens you use and remove the ones you don’t. Say goodbye to clutter!

<div align="left"><figure><img src="/files/6pdDOmhVMX9B0vq3IuYN" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Share demos across teams

{% @storylane/embed subdomain="app" linkValue="m3inkcxzl3rq" url="<https://app.storylane.io/share/m3inkcxzl3rq>" %}

### 👉 Move demos to another team&#x20;

{% @storylane/embed subdomain="app" linkValue="mn9pv9r0bemw" url="<https://app.storylane.io/share/mn9pv9r0bemw>" %}

### 👉 Labels

Demos are now organised with **Labels** instead of folders. You'll see **Team Demos** (all labelled demos) and **Unlabeled demos** listed at the top — making it easy to spot what's been categorised and what hasn't.

* Use the **Labels filter** to instantly narrow down demos by category
* Click **"Add label"** on any demo card to tag it from your existing labels — or create a new one right from the dropdown
* You can apply **multiple labels** to a single demo, so it shows up across all relevant categories

{% @storylane/embed subdomain="app" linkValue="olrvsaehcjoo" url="<https://app.storylane.io/demo/olrvsaehcjoo>" %}

***

### **👉 Duplicate & Personalize**

Turn any existing demo into a tailored experience — instantly. Clone a demo and let AI rewrite all the guide copy to match your audience, tone, or use case.

Hover over a demo, open the options menu, and select **Duplicate → Duplicate and personalize**. Name your new demo, then use the **Personalize with AI** field to describe the audience, tone, or messaging you want — the more specific, the better the output.

Hit confirm, and Storylane clones your demo and regenerates all guide copy in a few seconds. Your new demo appears in the list once it's ready.

{% @storylane/embed subdomain="app" linkValue="oonmlap6nhgj" url="<https://app.storylane.io/share/oonmlap6nhgj>" %}

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Managing Team

In this section, you'll learn how to efficiently manage your team and collaborate effectively on Storylane.io

* [Adding team members](#how-do-i-add-someone-to-my-team)
* [Team roles overview](#team-roles-in-storylane)
* [Role Permission Matrix](#role-permission-matrix)
* [Assigning a new team owner](#how-to-assign-a-new-owner-admin-to-the-team)
* [Reset passwords](#how-do-i-reset-the-my-password)
* [Changing your account's email](#how-do-i-change-the-email-address-of-my-account)
* [Changing the way you sign-in](#how-do-i-change-the-way-i-sign-in)
* [View billing invoice](#view-billing-invoice)

### 👉 How do I add someone to my team?

You can invite team members easily through the Storylane settings by following these steps: Within the Settings menu, under the "Team" section, you'll discover two methods for adding new team members:

**Invite by Email**: You have the flexibility to invite multiple people to join you. Type each member's email address and click send. Upon clicking "send", invitations will be dispatched to these individuals, inviting them to become part of your Storylane team.

<div align="left"><figure><img src="/files/0oO48HVCIEozrnnGN0SH" alt="" width="375"><figcaption></figcaption></figure></div>

**Invite by Link**: To streamline the process of inviting multiple individuals to join your Storylane team, you can duplicate an invite link. When anyone clicks on this link, they will be automatically included in your team. Feel free to share this link via Slack channels, company emails, or other communication channels.

<div align="left"><figure><img src="/files/lDqeaBrHtbFVA9Seo4MT" alt="" width="375"><figcaption></figcaption></figure></div>

### 👉 Team roles in Storylane

Storylane offers three team roles:

1. **Admin/Owner:** Full control
2. **Creator:** Create, edit, and publish demos and demo hubs
3. **Presenter:** Access and view demos and demo hubs, and create demo links
4. **Viewer (free seat):** A free, read-only seat for commenting on demos.

### 👉 Role Permission Matrix

<table data-full-width="false"><thead><tr><th width="307">Permission</th><th width="99.96875">Admin/Owner</th><th width="134.01953125">Creator</th><th width="136.453125">Presenter</th><th>Viewer</th></tr></thead><tbody><tr><td><strong>Full Control</strong></td><td>Yes</td><td>No</td><td>No</td><td>No</td></tr><tr><td><strong>Inviting Team Members</strong></td><td>Yes</td><td>View only</td><td>View only</td><td>View only</td></tr><tr><td><strong>Demo Creation</strong></td><td>Yes</td><td>Yes</td><td>View only</td><td>No</td></tr><tr><td><strong>Demo Editing</strong></td><td>Yes</td><td>Yes</td><td>View only</td><td>No</td></tr><tr><td><strong>Demo Viewing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr><tr><td><strong>Change Demo Settings</strong></td><td>Yes</td><td>Yes</td><td>View only</td><td>No</td></tr><tr><td><strong>Demo Publishing</strong></td><td>Yes</td><td>Yes</td><td>View only</td><td>No</td></tr><tr><td><strong>Demo Sharing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Create Demo Links</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Hub Creation</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Hub Editing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Hub Viewing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr><tr><td><strong>Editing Hubs created by Others</strong></td><td>Yes</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td><strong>Hub Publishing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Publishing Hubs created by Others</strong></td><td>Yes</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td><strong>Hub Sharing</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Create Hub Links</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Connect Integrations</strong></td><td>Yes</td><td>View only</td><td>View only</td><td>No</td></tr><tr><td><strong>Configure SSO</strong></td><td>Yes</td><td>View only</td><td>View only</td><td>No</td></tr><tr><td><strong>Configure Webhooks</strong></td><td>Yes</td><td>View only</td><td>View only</td><td>No</td></tr><tr><td><strong>Change Workspace Settings</strong><br><strong>(</strong><a href="https://app.storylane.io/team/settings"><strong>branding, config, domain...</strong></a><strong>)</strong></td><td>Yes</td><td>View only</td><td>View only</td><td>No</td></tr><tr><td><strong>View/Edit Billing Info</strong></td><td>Yes</td><td>No</td><td>No</td><td>No</td></tr><tr><td><strong>Export Analytics</strong></td><td>Yes</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td><strong>Commenting</strong></td><td>Yes </td><td>Yes</td><td>Yes </td><td>Yes</td></tr></tbody></table>

### When to use Creator and when to use Presenter roles?

👉 **Demo Creator role** is usually for **marketers**, who focus on building demos, without worrying that someone will tweak or delete the data. You have full access to the Storylane dashboard and the Editor.

👉 **Demo Presenter role** is used primarily by **sales teams**, who have view-only access, which includes the ability to create individual demo links for each prospect, and secure them, personalize, and track demo-specific engagement.

See how it works in the interactive demo below 👇

{% @storylane/embed subdomain="app" linkValue="nscgubcjtrsc" url="<https://app.storylane.io/share/nscgubcjtrsc>" %}

### When to use the free viewer role?

A free, read-only seat for team members who need commenting on demos and visibility into demos and hubs but shouldn't touch creation, editing, or sharing workflows.

Viewers are available from the Starter plan and above at no additional cost.

{% @storylane/embed subdomain="app" linkValue="tqkyn2ds4l7y" url="<https://app.storylane.io/share/tqkyn2ds4l7y>" %}

### 👉 How to add or remove a team member from multiple workspaces?

<div align="left"><figure><img src="/files/AuEVjGLNkz4gTO8TI8of" alt="" width="563"><figcaption></figcaption></figure></div>

1. Open Storylane > go to "Settings" > click on "Team".
2. Find the user you want to add/remove to other teams > Click on the 3-dots menu > Click 'Manage Teams' and assign or remove the user from the specific team(s).

### 👉 How to assign a new owner (admin) to the team?

<div align="left"><figure><img src="/files/gKmCenWWkIn5Ni8n6f3m" alt="" width="563"><figcaption></figcaption></figure></div>

1. Open Storylane > go to "Settings" > click on "Team".
2. Find the user you wish to assign as the new owner > Click on the 3-dots menu (usually found at the end of the user's row) > Click 'Edit Role' > Set the permission to 'Admin'.

### 👉 How do I reset my password?

To reset your password, head to Profile Settings, scroll down to change password, type in your current password, confirm your new password, and hit save.

<div align="left"><figure><img src="/files/MxicSlenIhETD9ZIqZk8" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 How do I change the email address of my account?

To change your account's email address or update your billing email, please contact us at <support@storylane.io>.&#x20;

### 👉 How do I change the way I sign-in?

If you're currently using SSO and want to explore other authentication options, please reach out to our support team for assistance with your specific situation.

### 👉 View billing invoice

Your email invoice will be the email you used when setting up your account. You can also view your invoice under your 'Profile' > 'Billing' > 'Manage billing' >  'View billing invoices'. \
Still not receiving the link via email? Please reach out to <support@storylane.io>

<figure><img src="/files/77ZBGpTPKQ1s3ynCiSuN" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Branding

Customize demos to match your company brand's look and feel.

You can customize and brand your demos to look and feel as if they were built in-house.

You have 5 branding options available:

* [Removing the Storylane watermark logo](#removing-the-storylane-watermark-logo)
* [Custom favicon for demo pages](#custom-favicon-for-demo-pages)
* [Custom logo in demo share page](#custom-logo-in-demo-share-page)
* [Header link on the page](#header-link-on-the-page)
* [Subdomain](#subdomain)

### 👉 Removing the Storylane watermark logo from the demo

The Storylane watermark logo appears in the bottom right corner of a published demo. Once you upgrade to a paid plan, you just need to click on it to remove it.

<div align="left"><figure><img src="/files/T6yzkeyn7yyGnz1V5Qzc" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Custom favicon for demo pages

By default, the favicon for demo pages is the Storylane logo. However, you have the option to upload your own favicon by navigating to the settings > workspace.

<div align="left"><figure><img src="/files/2vSQDDwJX1CObF9DiyXn" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Custom logo in demo share page

If you share a demo using a Storylane-hosted page, you have the flexibility to customize and replace the logo in the top left corner with a logo of your choosing. To do this, simply navigate to the settings > workspace section, where you can upload your logo and provide its URL.

<div align="left"><figure><img src="/files/XsZ5DapB4e1lGRyTagyp" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Header link on the page

Give prospects a custom link to book a demo or start free, directly on the interactive demo page, in the top right corner (Only for Screenshot Demo).

<div align="left"><figure><img src="/files/fxS2cAG3znFRBlNPhInp" alt="" width="563"><figcaption></figcaption></figure></div>

### 👉 Subdomain

Usually, demos are accessible at [https://app.storylane.io](https://app.storylane.io/). However, you have the option to personalize the URL by adding a subdomain, such as [https://yourcompany.storylane.io](https://yourcompany.storylane.io/). To achieve this, go to the settings > workspace > Domain section and click on 'Set up' under Storylane Subdomain.

<div align="left"><figure><img src="/files/CWSNGlgUPteRXu3Prvkd" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you need help or have any questions, feel free to contact us at <support@storylane.io>.
{% endhint %}


# Custom Theme

If you'd like to set up default colors for your demo, create themes for your account. This way, you can easily apply your chosen theme without having to adjust colors for every demo.

Storylane  Themes are particularly useful when you have multiple products or different brands because you can easily make demos fit each branding.

{% hint style="info" %}
Please reach out to support if you don't see this feature on your dashboard.
{% endhint %}

### Setting up a Theme

To set up a theme, follow these steps:

1. Go to 'Settings'
2. Click on 'Workspace' > 'Branding' > 'Configure' under Demo Themes.
3. Edit the existing theme or create a new theme.
4. Update the colors and settings for different guides (hotspots, tooltips, modals).
5. Preview the changes and update.

{% @storylane/embed subdomain="app" linkValue="cu3vofo3aazd" url="<https://app.storylane.io/share/cu3vofo3aazd>" %}


# Custom Domain

Share your demos in custom branded domain

All your demos can be served in custom-branded domains.&#x20;

Typically, demos are served like this:

`https://app.storylane.io/share/ha3eti5gqq2c`&#x20;

When you implement a custom domain configuration, a demo can be served like this:&#x20;

`https://demo.yourcompany.com/share/ha3eti5gqq2c`

### **How to setup a custom domain:**

Subdomain starts from the Starter plan and Custom Domain starts from the Premium plan.

To set up subdomain, go to settings > workspace > domain > click "set up" under "Storylane Subdomain"

Please make sure you have access to DNS settings or loop your IT team with it. Need help? Reach out to us at <support@storylane.io>

**Configuration Steps:**

1\. Setup a CNAME for your domain or subdomain and point it to [custom-domain.storylane.io](http://custom-domain.storylane.io/)

{% hint style="warning" %}
Note: make sure you set it up to exactly "[custom-domain.storylane.io](http://custom-domain.storylane.io/)" and do **not** replace the "custom-domain" with your own company name.
{% endhint %}

| **Record Name**                                  | **Type** | **Value**                                                        |
| ------------------------------------------------ | -------- | ---------------------------------------------------------------- |
| [demo.mycompany.com](http://demo.mycompany.com/) | CNAME    | [custom-domain.storylane.io](http://custom-domain.storylane.io/) |

2\. Once you complete setting up the CNAME configuration from above (1), contact Storylane support for enabling your custom domain

3\. Storylane will provision the SSL certificate for your custom domain and will notify you once the setup is complete. (typically 24 hours)

Once your setup is complete, you would be able to access your demos securely (https with TLS1.2) on your custom domains like: `https://demo.yourcompany.com/share/<story-id>`


# How to Switch Your Editor Theme

Storylane's editor supports three theme options — pick the one that works best for your environment.

{% @storylane/embed subdomain="app" linkValue="89cu2kiyziqa" url="<https://app.storylane.io/share/89cu2kiyziqa>" %}

**To change your theme:**

1. Open any demo in the editor
2. Click the **hamburger menu (☰)** in the top-left corner
3. Hover over **Theme**
4. Choose from **System**, **Dark**, or **Light**

**System** — matches your device's current appearance setting.\
**Dark** — dark background, easier on the eyes during long editing sessions.\
**Light** — classic light mode for a clean, bright workspace.


# How to create interactive demos that convert?

Learn how to design short, engaging, and story‑driven demos that boost engagement, increase CTA clicks, and capture more leads.

* [​​**Best Practices** – Tips for building high‑converting demos](#best-practices-tips-for-building-high-converting-demos)
* [​**Benchmarks** – Real‑world metrics from top‑performing demos](#part-2-performance-benchmarks)

## **Best Practices** – Tips for building high‑converting demos

Interactive demos aren’t just a “show and tell” of your product - they’re a **conversion engine** when built right. The best-performing demos guide your prospect through a **story**, engage them at every click, and end with a **compelling reason to take the next step**.

Below is the complete playbook we’ve used to help companies achieve **engagement** rates above 70%, **CTA** **conversion** rates over 40%, and **hours** of interaction every week.

### **1. Keep Your Demo Short**

* **Sweet Spot:** 8–12 steps.
* If you need more, **split into chapters** (e.g., “Setup,” “Key Features,” “Results”) so viewers can jump to what matters most.
* **Why it works:** Short demos respect attention spans, prevent fatigue, and keep momentum high.

***

### **2. Build a Story, Not a Tour**

* Frame your demo like you’re solving a real customer problem, not just clicking buttons.
* Give your demo a **title that speaks to the outcome**, not the feature (e.g., “Close Deals 3x Faster” instead of “CRM Overview”).
* Use a **before/after contrast**: start with the pain, show your product in action, and end with the transformation.
* Speak **to the persona** - a CFO sees different value than a Marketing Manager. *Pro tip:*&#x20;

{% hint style="info" %}
**💡Follow the StoryLane Framework:**

**Opening Hook → Problem Amplification → Solution Introduction → Transformation Journey → Success Outcome → Next Steps**
{% endhint %}

***

### **3. Start With an Eye-Catching Hook**

* First 5 seconds = keep or lose the viewer.
* Use a **friendly welcome video**, an **unexpected stat**, or a **quick-win tip** to spark curiosity.
* Visually highlight **what’s in it for them** before showing product screens.

💡 *Example:* Red Marker opens with “Common compliance mistakes that can be easily addressed with an automated first-line review!” - 88% engagement.

***

### **4. Capture the Lead Early**

* Add a lead form in the **first 2–4 steps** or pass the email via UTM.
* Keep it light: **Name + Email only**.
* Explain why: “Get a copy of this walkthrough” or “We’ll send your personalized report.”

💡 *Benchmark:* 10–20% capture rate early on is strong; above 20% is excellent.

***

### **5. Use CTAs Strategically**

* **Always-visible Convert CTA**: Book a call / Start free trial.
* **Secondary CTAs** mid-demo: Pricing, Case Study, or Feature Deep Dive.
* Match the CTA to the viewer’s intent:
  * **Big ask:** “Book a Demo” / “Start Now”
  * **Small ask:** “See Pricing” / “Download Guide”

***

### **6. Make It Look & Feel Like Your Brand**

* Use **brand colors** across buttons, hotspots, and pop-ups.
* Add your logo and fonts to create trust and consistency.
* Use **Themes** to apply brand style instantly across the entire demo.

***

### **7. Track & Iterate**

* Review analytics weekly:
  * Which steps lose the most viewers?
  * Which CTAs get clicked?
  * Where do people spend the most time?
* Test variants: headline, step order, CTA wording, form placement.

💡 *Example:* Froala placed their demo at the top of the homepage and saw a 73% engagement rate (>200,000 views!)

***

### **8. Add Depth Without Adding Length**

* Use **hotspots, tooltips, zoom** to focus attention.
* Offer **voiceovers or video avatars** for multiple learning styles.
* Mix **guided mode** (story-led) with **sandbox mode** (explore freely).

***

### **9. Reuse and Repurpose**

* Duplicate successful demos for different personas.
* Copy key screens to shorten build time.
* Create role-based demo variants without starting from scratch.

***

## **Part 2: Performance Benchmarks**

Use these numbers to measure success and identify where you need to optimize.

<table data-full-width="false"><thead><tr><th>Metric</th><th width="162.3125">First Few Months</th><th width="175.86328125">Great Performance</th></tr></thead><tbody><tr><td><strong>Engagement Rate</strong></td><td>40–50%</td><td>70%+</td></tr><tr><td><strong>CTA Conversion</strong></td><td>20–30%</td><td>50%+</td></tr><tr><td><strong>Lead Capture</strong></td><td>10–20%</td><td>20%+</td></tr><tr><td><strong>Total Weekly Hours</strong></td><td>20h</td><td>40h+</td></tr></tbody></table>

### **Checklist for Higher Metrics**

#### **1. Optimize Early User Experience**

* Place demo prominently (homepage hero, landing page).
* Focus on **key differentiators**, not every feature.
* Minimize friction - clear instructions, fast loading.

#### **2. Enhance Engagement**

* Hotspots + backdrops to guide attention.
* Add **track & zoom** for key details.
* Keep copy concise but benefit-driven.
* Layer in **voiceovers** or **video avatars** for richer experience.

#### **3. Maximize CTA Conversions**

* Match CTA to high-intent steps.
* Use both **primary** (big ask) and **secondary** (small ask) CTAs.
* Always-visible Convert CTA = more clicks.

#### **4. Improve Lead Capture**

* Ask early or mid-demo.
* Keep fields to 2 max.
* Incentivize with value (download, bonus content).

#### **5. Increase Time Spent**

* Blend guided + sandbox modes.
* Update regularly with fresh examples.
* Highlight **interactive elements** to encourage exploration.

***

💡 **Additional Resource:**\
In case you want to educate yourself further, check out [Storylane Playbooks](https://www.storylane.io/playbooks) for a structured, step-by-step build process with examples from top-performing customers.


# How to Add/Embed a Storylane Demo in a Zendesk Article

To embed a Storylane demo into your Zendesk article, follow these steps:

## **1. Enable iFrame Embeds in Zendesk**

Before embedding, ensure that Zendesk allows iFrame content:

1. Navigate to **Settings** > **Guide Settings** in your Zendesk dashboard.
2. Scroll down to the **Security** section.
3. Enable the **Display unsafe content** option to allow iFrames.

## **2. Obtain the Storylane Embed Code**

Retrieve the embed code for the Storylane demo you wish to include:

1. Log in to your Storylane account.
2. Navigate to the demo you want to embed.
3. Click on the **Share** > Embed > Inline
4. Copy the provided embed code.

## **3. Embed the Storylane Demo in Your Zendesk Article**

Now, insert the Storylane demo into your Zendesk article:

1. In Zendesk, go to **Guide** > **Manage Articles**.
2. Select the article where you want to embed the demo or create a new one.
3. In the article editor, click on the **Source Code** icon (`< >`).
4. Paste the Storylane inline embed code into the desired location within the HTML.
5. Click **Apply** to insert the code.
6. Save and publish your article.

By following these steps, you can enhance your Zendesk articles with interactive Storylane demos, providing a more engaging experience for your users.


# How do I send data to 6Sense?

## **Sending Data to 6Sense**

To send data to 6Sense, follow the steps below.

#### **Implementation Steps**

1. Navigate to **Demo Settings**.
2. Click on **Custom Code**.
3. Select the **Web Frame** section.
4. Paste the following script inside the `<script>` tags:

```
<script>
   var script = document.createElement('script');
   script.setAttribute('src', "6Sense WebTag Goes Here");
   script.setAttribute('id', "6senseWebTag");
   document.head.appendChild(script);
</script>
```

<figure><img src="/files/h5dRo7QrHE7NZcNDkLkk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/OMgqtSTWnKBeFm1I0IyW" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Important Notes!
{% endhint %}

* Ensure that you replace **"6Sense WebTag Goes Here"** with the actual WebTag URL provided by 6Sense.
* This script dynamically adds the 6Sense tracking tag to the demo, enabling data collection for analytics.
* If you need to apply this tracking globally across multiple demos, please reach out to support at ***<support@storylane.io>***


# How to record a video avatar?

Here is a set of do's and dont's and best practices on recording your video replica and getting your perfect video avatar.

### A Quick list of Do's and Dont's when recording your video avatar <a href="#radix-rp" id="radix-rp"></a>

{% tabs %}
{% tab title="Do's ✅" %}
✅ Set up your **HD camera** or recording software

✅ If using a smartphone, film in **landscape**

✅ Make sure your **face & upper body** are in **focus**

✅ Ensure the **recording space** is quiet and well-lit

✅ Speak **naturally**, we'll capture **tone & emotion**
{% endtab %}

{% tab title="Dont's ❌" %}
❌ Avoid clothes that blend into the background

❌ Avoid accessories that block your head & face like hats, earrings, or thick glasses.

❌ Don't turn your head away from the camera

❌ Avoid backgrounds that are busy or moving

❌ Don't move around too much or exaggerate movements, like waving your hands
{% endtab %}
{% endtabs %}

### Best Practices & Examples

### [​](https://docs.tavus.io/sections/replicas/best-practices-and-examples#set-up-environment)Set Up: Environment <a href="#set-up-environment" id="set-up-environment"></a>

#### 🌞 Lighting <a href="#lighting" id="lighting"></a>

Ensure your face is evenly lit with no shadows.

* **Example:** If a window casts shadows on your face, change your orientation or use a ring light to even it out.
* A large diffuse light will work best, providing consistent even, and neutral lighting for the entire face.
* This helps Phoenix to properly map your face, resulting in a better-looking video overall.

#### ​🔊 Noise <a href="#noise" id="noise"></a>

Your space should be silent or almost silent.

* Avoid noise from air conditioning, construction, traffic, refrigerators, and conversations.
* Choose rooms with minimal reverb to prevent sound amplification.
* Clean audio, free from background noises, will produce the best audio output for your replica.

#### ​🌆 Background <a href="#background" id="background"></a>

Keep your background clear.

* Remove moving objects.
* Ensure no other people are visible in the video.

### [​](https://docs.tavus.io/sections/replicas/best-practices-and-examples#set-up-equipment)Set Up: Equipment <a href="#set-up-equipment" id="set-up-equipment"></a>

#### ​📷 Camera & Placement <a href="#camera-and-placement" id="camera-and-placement"></a>

Use a high-quality camera with at least 2K pixels.

* **Examples:** DSLR, newer laptops, iPhones, Samsung Galaxy, or Google Pixel.
* **Frames per second:** Optimal FPS is 30, but 24-60 FPS is acceptable.
* **Distance**: Maintain a distance of 3ft-6ft (or 0.9m-1.8m) from the camera.
* **Level**: The camera should be at eye level.
* **Lens**: Ensure the camera lens is clean of smudges.

#### ​🎙️ Microphone <a href="#microphone" id="microphone"></a>

Start with your phone or computer’s microphone.

* A high-quality mic can mitigate background noise/echo.
* For external USB or XLR mics:
  * Place the mic 1ft (0.3m) from your mouth, not exceeding 2-3ft (0.5-0.9m).
  * Position the mic at least 1 inch below your chin to avoid blocking your mouth.
* Wireless earbuds, like Apple AirPods or Samsung Galaxy Buds, are not recommended due to poor mic quality.

#### ​👾 Software <a href="#software" id="software"></a>

Disable any software-based audio enhancements.

* Turn off compressors, equalizers, noise suppression, etc., as we perform our own sound processing post-recording.

### [​](https://docs.tavus.io/sections/replicas/best-practices-and-examples#set-up-yourself)Set Up: Yourself <a href="#set-up-yourself" id="set-up-yourself"></a>

#### ​👀 Gaze <a href="#gaze" id="gaze"></a>

Maintain eye level with the camera and act naturally.

#### ​🗣️ Speaking Vibe & Pace <a href="#speaking-vibe-and-pace" id="speaking-vibe-and-pace"></a>

Be yourself and relax.

* **Pace:** Take your time, don’t rush.
* **Pausing:** Close your lips during pauses (the script will remind you).
* **Tone:** Aim for an upbeat tone to keep content positive and engaging. Keep continuous eye contact with the camera. Be animated in your mouth, eyes, and cheeks.
* **Gestures:** Keep hand gestures to a minimum and avoid blocking your face.
* **Mistakes:** If you stumble, continue speaking. Perfection isn’t necessary.

#### ​🎅 Accessories & Beards <a href="#accessories-and-beards" id="accessories-and-beards"></a>

If possible, avoid beards, glasses, and accessories.

* Our model is still being refined to process these elements better.

This comprehensive guide ensures you capture the highest quality footage for your replica, leading to a more authentic and engaging digital representation.


# Is it possible to connect a LinkedIn tracking pixel to Storylane?

### **Steps to Add a LinkedIn Tracking Pixel to Storylane:**

1. **Get Your LinkedIn Insight Tag Code**:
   * Log in to your LinkedIn Campaign Manager account.
   * Go to **Account Assets** and select **Insight Tag**.
   * Copy the provided JavaScript code, which will look something like this:

```javascript
<script type="text/javascript">
_linkedin_partner_id = "YOUR_PARTNER_ID";
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
</script>
<script type="text/javascript">
(function(l) {
if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
window.lintrk.q=[]}
var s = document.getElementsByTagName("script")[0];
var b = document.createElement("script");
b.type = "text/javascript";b.async = true;
b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
s.parentNode.insertBefore(b, s);})(window.lintrk);
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=YOUR_PARTNER_ID&fmt=gif" />
</noscript>

```

2. **Add the Code to your Storylane Demo**:
   1. For an ***HTML*** Demo - Navigate to Demo Settings > Custom Code > Web Frame&#x20;
   2. For a ***Screenshot*** Demo - Navigate to Demo Settings > Custom Code

* S**creenshot Demo Example**:&#x20;

<figure><img src="/files/BMHxnEk67BXRzHcLq5gq" alt=""><figcaption></figcaption></figure>

* &#x20;**HTML Demo Example**:&#x20;

<figure><img src="/files/r6r4eQyBuJKyUMOa0HMB" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Important Storylane Terminology!

* **Demo Frame**: Defines the **scope of the demo itself**—what the end-user will interact with. It captures only the relevant part of the webpage that is included in the demo experience.
* **Web Frame**: Represents the broader **Storylane-related scope**, including elements used for internal functionality but **not visible or relevant to the customer demo**. For **SS demos**, the **default script is already inserted into the Web Frame**, ensuring the necessary setup is in place.
  {% endhint %}

3. **Verify Tag Activation**: After adding the Insight Tag, you can verify that it’s working by:

* Going back to your LinkedIn Campaign Manager and checking if the pixel is receiving data.

**Benefits of Using LinkedIn Tracking Pixel with Storylane**:

* **Retargeting**: You can retarget users who have interacted with your demos.
* **Conversion Tracking**: Measure the effectiveness of your LinkedIn campaigns in driving engagement with your Storylane demos.
* **Audience Insights**: Learn more about your demo viewers through LinkedIn’s data, which can help tailor future campaigns.


# How to edit the background of a screen with a pop-up?

If you wish to modify the content that appears in the background of a captured page, you'll need to:

**Step 1:** hide all the elements that are in front (i.e. pop-up)

<figure><img src="/files/07M7QgbgxyWPLEFPM2ii" alt=""><figcaption></figcaption></figure>

**Step 2:** edit the content that you'd like to change

**Step 3:** unhide the elements that were hidden

<figure><img src="/files/YgvxsVxQ8CGs3yq8wmTh" alt=""><figcaption></figcaption></figure>

[Here's](<https://www.loom.com/share/c05bd0801af146c489ea601ec3b1ac66 >) a video showing how to do the above steps.


# How to copy a chapter to a demo?

**Note: You can only copy a chapter to a demo if they are the same demo type (Screenshot to Screenshot, or HTML to HTML).**

To duplicate a chapter from one demo to another:

1. Open the demo where you want the chapter to be copied.&#x20;
2. Select the "chapter" button at the top of the steps.&#x20;
3. Click "+ New Chapter".&#x20;
4. In the pop-up window, choose "Or, copy from the existing demo" located at the bottom of the options.&#x20;
5. Enter the name of the demo where the chapter is located.&#x20;
6. Specify the chapter you want to copy.&#x20;
7. Click "copy".&#x20;
8. A new chapter will be created automatically in the destination demo with all the steps copied from the source demo.

{% @storylane/embed subdomain="app" linkValue="lhoailc3f8a3" url="<https://app.storylane.io/demo/lhoailc3f8a3>" %}

***

#### 💡 New: Add a chapter within an existing chapter

You can now add steps from another chapter directly **inside** an existing chapter — instead of it being created as a separate new chapter.

To do this:

1. Open the chapter you want to add steps to.
2. Click the **"+"** button within that chapter.
3. Choose **"Copy from existing demo"** and follow the same steps above.
4. The copied steps will be added **within the current chapter** — not as a new standalone chapter.

{% embed url="<https://demo.storylane.com/share/ww53j1kaam6m>" %}


# How to combine Desktop and Mobile captures?

To demonstrate both web and mobile views of your product, you can combine them into the same Product Tour and let your user choose which experience to learn about by selecting the corresponding chapter.​

1. Capture your desktop view as you would any Storylane demo.
2. Take screenshots on your mobile device and upload them to a separate chapter in the same demo.

{% @storylane/embed subdomain="mattruder" linkValue="oxs7g81ubw69" url="<https://mattruder.storylane.io/demo/oxs7g81ubw69>" %}

<br>


# Customizing and Tracking Demo URL Links

Storylane allows you to create personalized and trackable demo experiences using various parameters in your demo links. Below is a guide to the available options:

***

## 1. **Email Tracking**

If you'd like to track who is viewing the demo without requiring them to complete a form, you can append an email address to the demo link.

**Example:**

```
https://app.storylane.io/demo/tc1vupmgcxtd?email=maria@storylane.io
```

**Use Case:**

* Great for tracking specific users who access the demo via a direct link or email campaign.

***

## 2. **Personalization with Tokens**

To personalize your demo, you can use tokens. Add as many tokens as you need, and they will be automatically populated when sending an email campaign.

**Example:**

```
https://app.storylane.io/demo/tc1vupmgcxtd?token[first_name]=Maria&token[last_name]=Nicolae
```

**Use Case:**

* Perfect for creating tailored demo experiences by including the viewer's name or other relevant details.

**Learn More:** [Personalizing Demos with Tokens](/editing-demos/personalizing-demos)

***

## 3. **UTM Parameters for Lead Tracking**

Use UTM parameters to track the source of your leads. These parameters are visible in Storylane analytics and can also be sent to your CRM. Storylane captures UTM data from both the demo link and the page where the demo is embedded.

**Example:**

![](/files/fcUnxph0Lnhfe3PBU5u1)

```
https://app.storylane.io/demo/tc1vupmgcxtd?utm_source=googleads
```

**Use Case:**

* Ideal for understanding the effectiveness of marketing campaigns and lead sources.

***

## 4. **Redirect to a Specific Chapter**

Redirect viewers to a specific chapter within the demo by specifying the chapter number at the end of the link.

**Example:**

```
https://app.storylane.io/demo/tc1vupmgcxtd?chapter=2
```

**Use Case:**

* Useful when directing users to a particular part of the demo, such as a specific feature or workflow.

***

## 5. **Hide Guided Steps**

For a sandbox experience without guided steps, use the `hide_all=true` parameter.

**Example:**

```
https://app.storylane.io/demo/tc1vupmgcxtd?hide_all=true
```

**Use Case:**

* Best for users who want to explore the demo independently without guidance.

***

For more details or assistance, contact our support team at <support@storylane.io>.


# How to add pop-up message for non-clickable elements?

\
To display a pop-up message for non-clickable elements in an HTML demo, follow the steps below:

1. Open the demo for which you'd like to display the pop-up message.
2. Go to demo settings (gear icon at the top) > Config.
3. Enable 'Show hint when user clicks on an unlinked element' and enter the message that you'd like to display.
4. Once saved, you should be able to see the message when clicking on elements that do not have any links.

{% @storylane/embed subdomain="app" linkValue="hpqxmhxzzx4a" url="<https://app.storylane.io/demo/hpqxmhxzzx4a>" %}


# GDPR Compliance

Storylane is GDPR compliant and our DPA is available in the Storylane [Trust Center](https://trust.storylane.io/).

### 👉 **Can Storylane Demos Withhold Tracking Until Consent is Granted?**

To meet [GDPR requirements](https://gdpr.eu/what-is-gdpr/), Storylane offers options to manage tracking based on user consent. When a demo is embedded on a website that requires consent to track cookies, Storylane’s setup allows tracking to be paused until the user gives consent.

Storylane’s tracker uses cookies to understand user interactions within demos. While no personally identifiable information (PII) is collected, these cookies provide insights into user behavior, which is considered personal data under GDPR.

Websites that require cookie consent will display a user interface (UI) element prompting visitors to accept or decline cookies. This UI component can vary in complexity, offering users choices regarding analytics, marketing, or other tracking categories.

{% hint style="info" %}
Applies only to embedded demos. Direct demo links (Storylane URLs) are tracked normally. Note: If a viewer clicks to open the demo in full size from an embedded view, they are redirected to the Storylane share URL — tracking suppression does not carry over in that case. To avoid this, consider disabling the **Screen Size Warning** in Demo Setting&#x73;*.*
{% endhint %}

### 👉 **Storylane’s Approach to “Do Not Track”**

Storylane provides an option to disable tracking until a user consents to cookie use on the host website. By default, user activities such as clicks and navigation within Storylane demos are recorded to deliver analytics to our customers. However, we recognize that in certain cases, users might want to limit tracking until consent is explicitly granted.

**Steps to Enable Do Not Track**:

<figure><img src="/files/nTJgAmnd27IevXW53BdI" alt=""><figcaption></figcaption></figure>

1. In your Storylane account, navigate to the “Settings” page, then "Workspace", lastly "Config".
2. Toggle the **Disable Tracking on Demos** option to prevent tracking without explicit consent.
3. Once enabled, no user activity within Storylane embedded demos will be recorded until the user approves tracking.

This option is available on all Storylane plans.

### 👉 **Implementing User Consent for Tracking in Storylane Demos**

If your website requests users' consent for cookie usage, Storylane can honor this consent once it is granted. However, enabling this feature requires a small code snippet on your website to communicate the consent status to embedded Storylane demos.

#### **Sequence Diagram of How This Works:**

* The user interacts with the Site and sees a cookie consent banner.
* If the User approves, the Site sends consent approval to Storylane via a postMessage event.
* Storylane receives the message and begins tracking user interactions within the demo.

<figure><img src="/files/c2W4YNA6gpD5FNJShszh" alt=""><figcaption></figcaption></figure>

### 👉 **Code Snippet for Consent Communication**

To inform Storylane that consent has been provided, insert this JavaScript after the user consents:

```javascript
<script>
window.addEventListener('message', e => 
  e.data?.message === 'storylane-demo-event' && 
  e.source?.postMessage({message: 'storylane-cookie-consent'}, e.origin)
);
</script>
```

When this code executes, all interactions within Storylane demos are sent to the analytics server only if consent has been granted.

### 👉 **Data Security and Privacy Standards**

Storylane applies advanced security practices to protect all user data:

* Data Encryption: All data is encrypted during transmission and storage.
* Access Control: Access to personal data is limited to authorized personnel only.
* Regular Audits: Our systems undergo regular security audits to maintain GDPR compliance and data integrity.

### 👉 **Contact for GDPR Compliance and Support**

If you have questions about GDPR compliance or need help managing consent in Storylane demos, please contact us via <privacy@storylane.io>.


# SSO

Add Single-Sign-on for your account

Storylane supports all major SSO providers. With SSO enabled for your account, users will be able to authenticate to the app.storylane.io application

### How to enable SSO for your account

Under Settings > Workspace > SSO > Connect is where you will connect up your SSO Provider

If you do not see "Connect", please reach out to our support team (<support@storylane.io>) and we will verify SSO is available on your account

<figure><img src="/files/rDHVPCSbGT0ZiGN3Kkud" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/NihX8blTeBKtJnJM10my" alt=""><figcaption></figcaption></figure>

### SSO providers supported

Below is a list of providers supported through a partnership with WorkOS.  Click to learn more about the configuration steps.&#x20;

* [Okta SAML](https://workos.com/docs/integrations/okta-saml)
* [OneLogin SAML](https://workos.com/docs/integrations/onelogin-saml)
* [Auth0](https://workos.com/docs/integrations/auth0-saml)
* [Azure AD ](https://workos.com/docs/integrations/azure-ad-saml)[SAML](https://workos.com/docs/integrations/azure-ad-saml)
* [Google OAuth](https://workos.com/docs/integrations/g-suite-oauth)
* [Google SAML](https://workos.com/docs/integrations/google-saml)
* [Microsoft AD FS SAML](https://workos.com/docs/integrations/microsoft-ad-fs-saml)
* [ADP Open ID Connect](https://workos.com/docs/integrations/adp-oidc)
* [OpenID Connect](https://workos.com/docs/integrations/oidc)
* [CAS SAML](https://workos.com/docs/integrations/cas-saml)
* [ClassLink](https://workos.com/docs/integrations/classlink-saml)
* [Cloudflare](https://workos.com/docs/integrations/cloudflare-saml)
* [CyberArk SAML](https://workos.com/docs/integrations/cyberark-saml)
* [Duo](https://workos.com/docs/integrations/duo-saml)
* [SAML](https://workos.com/docs/integrations/generic-saml)
* [JumpCloud SAML](https://workos.com/docs/integrations/jumpcloud-saml)
* [Keycloak](https://workos.com/docs/integrations/keycloak-saml)
* [Microsoft OAuth](https://workos.com/docs/integrations/microsoft-oauth)
* [miniOrange](https://workos.com/docs/integrations/mini-orange-saml)
* [Oracle SAML](https://workos.com/docs/integrations/oracle-saml)
* [PingFederate SAML](https://workos.com/docs/integrations/ping-federate-saml)
* [PingOne SAML](https://workos.com/docs/integrations/ping-one-saml)
* [Salesforce](https://workos.com/docs/integrations/salesforce-saml)
* [Simple php SAML](https://workos.com/docs/integrations/simple-saml-php-saml)
* [VMWare](https://workos.com/docs/integrations/vmware-saml)

### User Provisioning (SCIM)

Storylane supports SCIM (System for Cross-domain Identity Management) for automated user provisioning. This means you can manage Storylane access directly from your identity provider — for example, adding a user to a group in Azure AD or Okta will automatically provision them in Storylane.

To enable SCIM for your account, please reach out to our support team at <support@storylane.io>.


# FAQs

Welcome to our Frequently Asked Questions (FAQ) page. Here, we've compiled a list of the most commonly asked questions and provided answers to help you quickly find the information you need.


# If I Cancel My Subscription, What Happens To My Demos?

In the event that you need to cancel your subscription, you will be downgraded to the Free plan. You will only be allowed 1 published demo and 1 user until you resume your subscription, and lose access to premium features.&#x20;

Storylane will not delete any of your demos unless you request a full account deletion. They will still be there if you decide to resume your subscription (and we hope you do!).




---

[Next Page](/llms-full.txt/1)

