Skip to main content
Conga Support

ActionGrid List View Conga Composer Merge

ActionGrid and Conga have a seamless integration when using a Composer or Conductor Merge, but we recently were tasked with selecting multiple records to hand off to a Composer solution for a professionally formatted print screen solution. Using ActionGrid’s ability to create custom actions and Composer’s ability to handle multiple records in a single merge process, we are able to achieve our goal and here’s how:

We want to start with a query for which we can pass multiple selected record ids. Here is an example where I am selecting opportunity records to be passed directly into the end of the query

Select id, name, stagename, amount from opportunity where id IN ({pv0})

Then we will want to save this as a Conga Query record and take note of the unique salesforce record id as it will be referenced in our solution in a moment. Next, we will want to go to the plus sign in salesforce for all tabs, then select ActionGrid Setup:

Then we will want to select our desired object on the left, then click the Account Features button on the right, and finally the + New Custom Action button:

In the new Custom Action, we will paste in the new javascript syntax below:

var templateId = a04o000000oexht;
var queryId = 'a03o000000PYrW4';
var label = 'Conga CM List View';

crmc.addCustomAction({
"itemID": "CongaQuery",
fieldName: '',
"isAvailable": function (context) {
// This function is called before the action item is displayed and returns a boolean if the item should be displayed
// By default determine availability based on Feature Security for this action
return this.featureSecurity.getSetting(context.objectDescribe.name, this.itemID) !== false;
},
"getLabel": function (context) {
// This function returns the display label of the action item and is called before the item is shown
return label;
},
"createSubmenuItems": function (context) {
// If this function returns additional action item objects, they will appear as submenu items
return [];
},
"click": function (context) {
if (context.selectedRows.length > 0) {
var ids = '';
Object.each(context.selectedRows, function(item) {
if (ids.length > 0) ids += "'|'";
ids += item.Id;
});
var url = "https://composer.congamerge.com" +
"?sessionId=" + sforce.connection.sessionId +
"&ServerUrl=" + context.actionGrid.settings.Partner_Server_URL_290 +
"&Id=" + sforce.connection.getUserInfo().userId +
"&templateId=" + templateId +
"&QueryId="+ queryId +"?pv0='" + ids +"'";
window.open(url, 'Conga', 'width=700,height=450,menubar=0');
}
else {
kendoPopup.popup('Please select records',
'Select at least one record to send to Conga.');
return;
}
},
});

In the Syntax above, I’ve highlighted the first three terms we will begin to update. Let’s first update the query id with the Conga query record that will be taking in the records into a single dataset. Then feel free to change the third line to a label that resonates with your organization. We will update the template id after we draft a template from a launched template builder. To generate the template builder, please click your new custom action from a desired ActionGrid List.

This will pull open your Conga Composer window. It will note that the template id has not been found, which is because we haven’t created it yet. We will update our custom action with the appropriate id after we’ve created a template. From the tools and settings dropdown, navigate to the Template builder and begin to build your template from the querydata data set:

Here is a sample of my drafted template:

After formatting your template, please save it as a conga template record and copy the unique salesforce record id. We will take this record id and go back into ActionGrid Setup to update your template id. Select the object again on the left, then click Account Features, then click Edit your custom action from the list and replace the existing template id with your new Conga template id:

Then test out your solution by selecting multiple records in your list view and clicking your custom action. Here is a sample output from my merge:

Please Contact Support if you have any questions. Thanks.

  • Was this article helpful?