Guideflow - Help Center
  • 🐣GET STARTED
    • What is Guideflow?
    • What can I use Guideflow for?
    • Install Chrome extension
    • Install Desktop app
  • πŸ”΄CAPTURE A GUIDEFLOW
    • How-to capture a guideflow
    • Screen capture
    • HTML capture
    • Additional capture options
  • ✏️EDIT YOUR GUIDEFLOW
    • How-to edit your guideflow
    • Edit Design
    • Edit Theme
    • Edit Browser
    • Edit Call-to-Action (CTA)
    • Pan & Zoom
    • Add & edit steps
    • Add Popup
      • Add start popup
      • Add a popup
      • Add end popup
      • Add embed form popup
    • Checklist
      • Create a checklist
      • Edit checklist Theme
    • HTML editor
      • Edit your HTML capture
      • Advanced features
    • HTML Style editor
    • Guideflow settings
    • Preview your guideflow
    • Add blur
    • Custom resolution
    • Sandbox/Clickable demos
      • How to edit a Sandbox/Clickable demo
      • Presenter notes
    • Presenter notes
  • πŸ’»SHARING GUIDEFLOW
    • How-to share your guideflow
    • Share your public link
    • Create custom links
    • Embed your guideflow
      • Landing page builders
      • Website builders & CMS
      • Blogging Platforms
      • Project/Task management
      • Help desk / Knowledge base
      • Customer Support
        • Zendesk integration
        • Intercom integration
      • Product Adoption
      • Changelog
      • Productivity tools
      • Review platforms
        • G2 Integration
    • Share on social platforms
    • Share into email platforms
      • Email marketing platforms
        • ActiveCampaign
      • Sales outreach platforms
    • Invite someone to Guideflow
    • Export in GIF or video
    • Export in PDF
    • Security settings
      • Password protection
      • Domain protection
      • Link expiration
    • Offline demo
  • πŸ“ŠANALYTICS
    • General analytics
    • Session analytics
    • Export analytics
    • Filter analytics
    • AI Account Reveal
  • πŸ‘¨β€πŸ«COLLECT LEADS
    • Get leads data
  • 🧲Variables
    • What are variables
    • How-to pass variables
    • Where to use variables
    • Create & edit variables
    • Passing variables into emailing platforms
    • Examples
  • πŸ“‹DASHBOARD
    • Search & filter guideflows
    • Move a guideflow into folders
    • Create, edit, and move folders
    • Manage folders rights
    • Create, edit, and manage subfolders
  • πŸ”ŒINTEGRATIONS
    • Manage your integrations
    • Request a new integration
    • Resthook integration
    • Cross-frame events
    • CRM integrations
      • Salesforce integration
      • Hubspot integration
      • Pipedrive integration
    • Analytics integrations
      • Google Analytics integration
      • Mixpanel integration
      • Segment integration
      • OneTrust integration
    • Slack integration
    • Zapier integration
    • Remote Navigator
    • Highspot integration
    • Marketo integration
    • Figma integration
  • 🎨Branding
    • Custom theme
    • Remove watermark
    • Customize your public page
    • Custom domain
  • πŸ”‘Workspace
    • Edit workspace information
    • Invite & manage team members
    • Manage billing
    • Access invoices
    • Manage API keys
    • Create & change workspace
  • 🌐ACCOUNT
    • Edit account information
    • Manage notification preferences
  • ☁️SSO
    • Enable SSO
  • πŸ€–AI
    • AI Voiceover
    • AI Translate
Powered by GitBook
On this page
  • What is Remote Navigator?
  • How does Remote Navigator function?
  • Example
  1. INTEGRATIONS

Remote Navigator

PreviousZapier integrationNextHighspot integration

Last updated 1 year ago

Implementing Remote Navigator in Guideflow requires technical knowledge and may necessitate the involvement of a developer from your team.

Guideflows are modular, interactive guides that autonomously operate when embedded into your platform. Users typically progress through a Guideflow by engaging with interactive elements or "hotspots." However, suppose you wish to provide an alternate navigation method for your Guideflows, bypassing the need for direct interaction with these hotspots.

What is Remote Navigator?

Remote Navigator empowers users to control the Guideflow directly from your website. This feature removes the necessity for users to interact with hotspots to navigate through the Guideflow. With Remote Navigator, you can create a customized navigation interface for your Guideflows.

An example showcasing the functionality:

How does Remote Navigator function?

To facilitate the creation of a customizable navigation UI by your website, we opted not to integrate the navigation UI within the Guideflow itself. Our strategy involves transmitting information about the Guideflow to the host website, enabling the construction of a navigation interface.

A straightforward method to achieve this involves utilizing the β€œwindow.postMessage()” API, which is widely supported across major web browsers.

The window.postMessage() method allows for safe cross-origin communication between objects, such as between a page and its spawned pop-up or an embedded iframe.

The communication process involves two primary interactions:

  • Guideflow to Host: transmits Guideflow metadata upon initialization and during navigation events within the Guideflow (e.g., transitioning between steps).

  • Host to Guideflow: allows the host to send commands to the Guideflow to navigate to a specific step upon user interaction with the custom navigation interface.

At the start, the Guideflow sends a postMessage to the host containing:

window.parent.postMessage({
event: 'state-update',
guideflow: {
id: '123',
name: 'My Engaging Guideflow',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
steps: [{
id: '456',
name: 'Step 1 name',
description: '<reserved for future use>',
order: 1,
isActive: true
},
{
id: '789',
name: 'Step 2 name',
description: '<reserved for future use>',
order: 2,
isActive: false
}],
},
}, '*')

This message includes essential metadata about the Guideflow and its steps, enabling the host to create a customized navigation interface.

Should the Guideflow's state change (e.g., a user progresses through steps), an updated postMessage is sent, similar to the initial payload, with adjustments to the isActive status reflecting the current active step.

Host websites must establish a listener for these messages. Here's how to set up a listener:

// Add postMessage listener on the Host
function processIncomingMsg(evt) {
// Verify the event originates from Guideflow and is user-generated
if (evt.origin !== 'https://app.guideflow.com' || !evt.isTrusted) {
return;
}
if (evt.data.event === 'state-update') {
setGuideflow(evt.data.guideflow);
}
};

window.addEventListener('message', processIncomingMsg);

Ensure you validate the evt.origin to confirm the message's source as Guideflow and verify the event is user-generated (evt.isTrusted). Guideflow may send additional events in the future, so it's crucial to listen for the specific 'state-update' event.

To interact with the Guideflow through your custom UI, send a postMessage to the desired Guideflow. For instance, to navigate to a specific step, you can use:

// Navigate to a step in the Guideflow
const iframe = document.getElementById(guideflowId);
iframe?.contentWindow?.postMessage({
event: 'go-to-step',
stepId: <step id>, // The step ID to navigate to
}, β€˜*’);

This directs your postMessage to the iframe containing the Guideflow, instructing it to navigate to the specified step. The Guideflow responds by navigating to the chosen step and sends a state-update postMessage back to the host.

To navigate to the next/previous step you can use:

const iframe = document.getElementById(guideflowId);

// Navigate to the next step
iframe?.contentWindow?.postMessage({
event: 'go-next'
}, β€˜*’);

// Navigate to the previous step
iframe?.contentWindow?.postMessage({
event: 'go-prev'
}, β€˜*’);

Example

An example showcasing the functionality:

πŸ”Œ
https://gssjx2.csb.app/
Window
https://gssjx2.csb.app/