Skip to main content
Conga Support

Create a Conductor List View Button (Lightning Experience)

  Conga cannot support customized code. Due to the complicated nature of supporting programmers and programming languages, the integration of Conga with Visualforce, Apex, and Javascript (or other programming languages) is not supported.

You can use ActionGrid to integrate Conductor with Salesforce Classic, Lightning and SF1. 

Alternative integration method

You can still integrate Conductor within Salesforce Lightning.

1. Create a Visualforce page with a set controller.

2. Create a new button of type Visualforce. Enable Display checkboxes (for Multi-Record Selection) and selecting Content as the Visualforce page. 

Button.png

 3. Add the newly created button to the list in Search Layouts.

Layout.png

From Step 1, your Visualforce page should look like this:

<apex:page standardController="Opportunity" extensions="OpportunityConductorController" recordSetVar="opportunities" action="{!prepareConductorUrl}">
    <apex:outputPanel id="script">
        <script type="text/javascript">
            window.open("{!conductorUrl}","_blank","width=640,height=480");
            window.history.back();
        </script>
    </apex:outputPanel>   
</apex:page>

And now the Apex class :

public class OpportunityConductorController {
    private final static String urlFieldName = 'Conductor__c';
    private String partnerServerUrl;
  private ApexPages.StandardSetController controller;
    private List<String> opportunityIds = new List<Id>();
    
    public String conductorUrl {get; private set;}
    
    public OpportunityConductorController(ApexPages.StandardSetController controller) {
        this.controller = controller;
        
        for (Opportunity opportunity : (List<Opportunity>)controller.getSelected()){ 
            opportunityIds.add(opportunity.Id);
        }
        
        partnerServerUrl = 'https://'+ApexPages.currentPage().getHeaders().get('Host')+'/services/Soap/u/26.0/'+UserInfo.getOrganizationId();
    }
    
    public PageReference prepareConductorUrl() {
        conductorUrl = 'https://conductor.congamerge.com' +
            '?MOID=' + String.join(new List<String>(opportunityIds),',') +
      '&SessionId=' + UserInfo.getSessionID() +
      '&ServerUrl=' + partnerServerUrl +
      '&UrlFieldName=' + urlFieldName;
        
        return null;
    }
 
}