Install & Configure LeadGenVideo

Pre-Installation Steps

Install and configure the NativeVideo package, details here.


Installation Steps

Install the LeadGenVideo package.

Post-Installation Steps

Once the package has been installed, please follow these manual steps:

  1. In the Setup panel, navigate to the “Sites” page and click on the “NativeVideo Public Site” label. Then click on the “Public Access Settings” button and then on the “Assigned Users” button. Click on the “Site Guest User, NativeVideo Public Site” user and:
    1. add the following permission set:
      1. NativeVideo Public Site User Permissions LeadGenVideo
    2. edit the profile of the site guest user enabling Read access to the Contact object
  2. Update the email address and the name of the Guest User associated to the NativeVideo Public site, e.g. "video.for.you@your-domain.com"
  3. Create a new "Video Junction Sharing Rule". In the Admin Panel, go to the "Sharing Settings" page and click the "New" button of the "Video Junction Sharing Rules" section:
    1. Label: "LeadGenVideo Shared with Guest User"
    2. Rule Name: Automatically populated to "LeadGenVideo_Shared_with_Guest_User"
    3. Description: "Share the LeadGenVideo junctions with the Guest Users, so that the receiver can playback the video"
    4. Rule Type: Select "Guest user access, based on criteria"
    5. Criteria:
      1. Field: "Email Object API Name"
      2. Operator: "Not equal to"
      3. Value: "" (type in empty quotation marks)
    6. Share with "NativeVideo Public Site Site Guest User"
    7. Then Save
  4. In the “Object Manager” in the Setup panel, select the “Lead” object and open the page layout you want to update. Finally, include the "Send Video Email" Lightning Action and save. This Action will trigger the recording & sending of new video email messages.
  5. Again from the Lead object, open the Lead Details Page with the Lightning App Builder and add the "VideoProspectBrowsing" Lightning Component where you prefer. This component will allow your user to watch previous messages and monitor the analytics.
  6. Repeat point 3 and 4 in regard to the Contact object, enabling video messaging to Contacts as well
  7. For both Contact and Leads, it’s possible to activate the “Mass Video Messaging” service.

    • From the Setup panel, select the Contact object

    • Select “Search Layouts for Salesforce Classic”

    • Edit on “List View”

    • Add “Send Video Multi Email” option to the “Selected Buttons” and Save

    • Repeat for the Lead object

  8. Create a Tag Sequence named "LeadGenVideoDefault"
  9. Add the following permission set to all users entitled to use LeadGenVideo:
    • NativeVideo Permissions
    • NativeVideo Permissions LeadGenVideo


Optional Configurations

The following are optional configurations that you might want to consider:

  1. Banners: you can add an email banner at the top of your messages and a website banner to the portal page where the full video is displayed. Switch to Salesforce Classic, click on the "plus" icon in the header and and look for the "Document" item. From the Document tab, upload two new Documents in Salesforce (it doesn’t matter in which folder, just make sure they are Documents), with the following details:
    1. Email Banner: 
      1. “Document Unique Name” set to “NativeVideo_VideoLead_Email_Banner”
      2. “Externally Available Image” checked true
      3. Suggested image size: 130px high, 694px wide
    2. Landing page Banner:
      1. “Document Unique Name” set to “NativeVideo_VideoLead_Banner”
      2. “Externally Available Image” checked true
      3. Suggested image size: 150px high, 1376px wide
  2. Email Templates: Speed up the message creation leveraging email templates. Create “Custom” email classic templates, with a "Template Unique Name" that starts with the "NV_LGV" prefix, so that they can be automatically displayed by the "Send a Video Email" component. Use "LGV_SIGNATURE" to dynamically get your signature in the body of your video messages
  3. Whitelist domains: If you prefer to open the Call-to-Action URL in the same window of the video, add the domains as a new record in the "Video Domains Whitelist" Custom Metadata Type. If for instance you want to point to URLs that start with "https://www.nativevideo.co/.......", then add a new record with label "nativevideo.co"
  4. Mobile tagging: Configure the "LeadGenVideoDefault" tag sequence


Salesforce Classic Portability

Follow these steps to enable LeadGenVideo also for your Classic users. The steps below are describing how to add video messaging to Leads and Contacts.

Lead Object

  1. Create a VisualForce page called “AVideoLeadRecording” with the following code:

    <apex:page showHeader="false" sidebar="false" >
        <apex:slds />
        <apex:includeLightning />
        <style type="text/css">
            .nativevideoVideoEmailRecording .headerDialog { margin-left: 0px !important; }
            .myModalContainer { padding: 0px !important; }
            .slds-rich-text-editor__textarea.slds-grid.ql-container { height: 75%; }
    		.ql-editor.slds-rich-text-area__content.slds-text-color_weak.slds-grow { height: 75%; }
        </style>
        <div style="margin-left:20px;" id="videoSendEmailCnt"></div>
            <script type="text/javascript">
                var runningId = '{!$CurrentPage.parameters.Id}';
                $Lightning.use("nativevideo_pvd:VideoProspectRecordingApp", function() {
                    $Lightning.createComponent("nativevideo_pvd:VideoProspectRecording", { 
                        "leadId" : runningId
                    }, "videoSendEmailCnt", function(cmp) {});
                });
            </script>
    </apex:page>
    
  2. Create a VisualForce page called “AVideoLeadBrowsing” with the following code:

    <apex:page showHeader="false" sidebar="false" standardController="Lead">
        <apex:slds />
        <apex:includeLightning />
        <style type="text/css">
        /* height set to 490px */   
        </style>
        <div id="videoBrowseEmailCnt"></div>
            <script type="text/javascript">
                var runningId = '{!$CurrentPage.parameters.Id}';
                $Lightning.use("nativevideo_pvd:VideoProspectBrowsingApp", function() {
                    $Lightning.createComponent("nativevideo_pvd:VideoProspectBrowsing", { 
                        "leadId" : runningId
                    }, "videoBrowseEmailCnt", function(cmp) {});
                });
            </script>
    </apex:page>
    
    1. Create a new Button
      1. Label: Send Video Email
      2. Type: Detail Page Button
      3. Behavior: Execute Javascript, OnClick Javascript
      4. Copy the following code:

        function PopupCenter(url, title, w, h) { 
        	var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; 
        	var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; 
        	var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; 
        	var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; 
        	var left = ((width / 2) - (w / 2)) + dualScreenLeft; 
        	var top = ((height / 2) - (h / 2)) + dualScreenTop; 
        	var newWindow = window.open(url, title, 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,scrollbars=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); 
        
        	if (window.focus) { 
        		newWindow.focus(); 
        	} 
        } 
        PopupCenter('/apex/AVideoLeadRecording?id={!Lead.Id}', 'Send Video Email {!Lead.Id}', 1160, 750);
        
  3. Add the new button to the page layout

  4. Add a new “Video” section and drag it the “AVideoLeadBrowsing” VisualForce page, with a suggested height set to 530

Contact Object

  1. Create a VisualForce page called “AVideoContactRecording” with the following code:

    <apex:page showHeader="false" sidebar="false" >
        <apex:slds />
        <apex:includeLightning />
        <style type="text/css">
            .nativevideoVideoEmailRecording .headerDialog { margin-left: 0px !important; }
            .myModalContainer { padding: 0px !important; }
            .slds-rich-text-editor__textarea.slds-grid.ql-container { height: 75%; }
    		.ql-editor.slds-rich-text-area__content.slds-text-color_weak.slds-grow { height: 75%; }
        </style>
        <div style="margin-left:20px;" id="videoSendEmailCnt"></div>
            <script type="text/javascript">
                var runningId = '{!$CurrentPage.parameters.Id}';
                $Lightning.use("nativevideo_pvd:VideoContactRecordingApp", function() {
                    $Lightning.createComponent("nativevideo_pvd:VideoContactRecording", { 
                        "contactId" : runningId
                    }, "videoSendEmailCnt", function(cmp) {});
                });
            </script>
    </apex:page>
    
  2. Create a VisualForce page called “AVideoContactBrowsing” with the following code:

    <apex:page showHeader="false" sidebar="false" standardController="Contact">
        <apex:slds />
        <apex:includeLightning />
        <style type="text/css">
        /* height set to 490px */   
        </style>
        <div id="videoBrowseEmailCnt"></div>
            <script type="text/javascript">
                var runningId = '{!$CurrentPage.parameters.Id}';
                $Lightning.use("nativevideo_pvd:VideoContactBrowsingApp", function() {
                    $Lightning.createComponent("nativevideo_pvd:VideoContactBrowsing", { 
                        "contactId" : runningId
                    }, "videoBrowseEmailCnt", function(cmp) {});
                });
            </script>
    </apex:page>
    
    1. Create a new Button
      1. Label: Send Video Email
      2. Type: Detail Page Button
      3. Behavior: Execute Javascript, OnClick Javascript
      4. Copy the following code:

        function PopupCenter(url, title, w, h) { 
        	var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; 
        	var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; 
        	var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; 
        	var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; 
        	var left = ((width / 2) - (w / 2)) + dualScreenLeft; 
        	var top = ((height / 2) - (h / 2)) + dualScreenTop; 
        	var newWindow = window.open(url, title, 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,scrollbars=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); 
        
        	if (window.focus) { 
        		newWindow.focus(); 
        	} 
        } 
        PopupCenter('/apex/AVideoContactRecording?id={!Contact.Id}', 'Send Video Email {!Contact.Id}', 1160, 750);
        
  3. Add the new button to the page layout

  4. Add a new “Video” section and drag it the “AVideoContactBrowsing” VisualForce page, with a suggested height set to 530

Video Vault

In order to bridge the VideoVault functionality in Salesforce Classic, a new Lightning App is required. From the Developer Console, go to File > New > Lightning App with the name "AVideoVaultApp". In the body of the Lightning App please paste the following code:

<aura:application extends="ltng:outApp" implements="ltng:allowGuestAccess" access="global">
	<aura:dependency resource="nativevideo:VideoVaultStudio"/>
</aura:application>