Skip to main content

Two Great Composer Parameters That Work Great Together

We use Conga Composer to generate documents out of Salesforce; for those unfamiliar, I describe it as a really smart form-fill using Salesforce as a data source. Our primary use for Composer is quote generation, and the myriad parameters allow us to generate fairly custom quotes for a whole slew of cases (direct or via the channel; new or renewal; show discounts or not, etc., etc.).

Conditionally Disable Composer

One set of parameters that I've really come to like work in tandem: DC - Disable Conga Execution, and DCL - Disable Conga Execution Label. The idea is that if DC=1, so Composer is disabled, then the value of DCL is displayed to the user. As an example, suppose we have &DC=1&DCL=Opportunity+Is+Closed. When the user attempts to launch Composer, it won't run, but instead will display 'Opportunity Is Closed'. On the other hand, if DC=0 then Composer runs as normal.

So how do we use this?

As I said, we use Composer mostly for quotes. And there are a number of reasons why the quote may not be ready for the customer to see. Potential issues include a renewal without contract dates, an opportunity without a designated business sponsor, etc.

I could create a formula for the DC parameter value and disable Composer if the formula evaluates to 1. Instead, I have a custom formula field on the quote object. My field, Quote_Gen_Issues__c, returns a text value. And the formula looks something like this:

if(error_condition1,"Here's what's wrong and how to correct it. ","") & 
if(error_condition2,"Here's another problem and the resolution. ","") &

It's critical, as we'll soon see, that the 'else' clause of each 'if' test is an empty string. I also put an extra space after each warning sentence, so that it reads alright if there are multiple issues. Now when Composer IS disabled (DC=1), the user gets a clear indication as to why and what action to take. Note that I can just keep adding conditions as new restrictions are applied; just another & and an if function.

Now I just have to determine the value of the DC parameter. Actually, it's trivial; all I have to do is check whether Quote_Gen_Issues__c is blank! If it's blank, then none of my error conditions exist, so I want to let Composer run and I do that with a value of 0. If my label is NOT blank, then there's an error, so the DC parameter value has to be 1.

Let's step through the steps of adding these parameters. I already have a Conga Solution whose master object is a quote. From that Conga Solution record, click on Customize with Parameters. Search for Disable. Click on DCL, then Select Parameter. Scroll up, clear the value in the Parameter Value textbox, then click on Merge Field Helper and select the custom field: Quote.Quote_Gen_Issues__c. Click 'Add Parameter to Solution Record.'

Next, the DC parameter. Again, click on Customize with Parameters and search for Disable. This time choose DC, then Select Parameter. Scroll up and clear the existing parameter value. In the Merge Field Helper, select that same custom field, Quote.Quote_Gen_Issues__c. But we have to tweak that, applying the ISBLANK test, and returning either 0 (blank) or 1 (otherwise). Edit the parameter value to read:
{!IF(ISBLANK(Quote.Quote_Gen_Issues__c),"0","1")}. Click 'Add Parameter to Solution Record', which now has both the DC and DCL parameters.

Using this ISBLANK test, I can add easily add restrictions. I only have to update the Quote_Gen_Issues__c formula; the DC parameter value automatically tracks the changes.

An Ounce of Prevention

Since I have this Quote Gen Issues formula field, I can take one more step with it... I'll change the label (leaving the API name alone) to Before You Can Quote. And I put this field in a prominent position on my Quote page layout. Now my reps can see these issues before they even run Composer. It's the exact error message they'll see if the do try running Composer, but now they get advance notice.

Conga Composer documentation: 
https://support.getconga.com/Conga_Composer/Customizing_Composer_with_Parameters/Composer_Parameter_Guide/DCLhttps://support.getconga.com/Conga_Composer/Customizing_Composer_with_Parameters/Composer_Parameter_Guide/DC

Comments

Popular posts from this blog

Salesforce Pipeline Reporting - part 1 of 3

In a dozen (plus) years working with Salesforce, I've never been entirely happy with the built in reporting of my opportunity pipeline. I can export details, or a printed (formatted) view, but I lose the interactivity. I can use a dashboard, which is better now in Lightning in that I can see a lot more fields in a table component. But flexible views require filtered dashboards, and just maintaining the filter values (if they go down to a rep level) can be onerous. Plus applying (or removing) a filter tests my (very limited) patience. So I've typically exported the report details into Excel, and there created a workbook that includes (1) summary info, (2) scrollable deal lists with hyperlinks back to the opportunity records in Salesforce and (3) filters that let me instantly switch views, say among teams, reps, opportunity types, or fiscal periods. My process around this involved LOTS of VBA and LOTS of formulas. Lately, I've (finally) gotten turned on to slicers in Exc

Salesforce reporting: XL-Connector and VBA

In an earlier post , I mentioned a tool I'm using to import Salesforce data - via SOQL or existing reports - into Excel. This post is more about using that tool, XL-Connector from Xappex . Here, I'll walk through the (simple) process of importing and refreshing a report, and I'll provide a simple VBA macro to automate the refresh. In a future post, I'll expand on that macro to show a friendly view of my opportunity pipeline and a single-page view of how each of my sales reps are doing against a series of KPIs. Importing a report is simple enough. From the XL-Connector tab, select Log In and enter your credentials. I'm using the old id and password (as opposed to SSO), so I provide that along with my 'token'.  (Don't remember your token? Log in to Salesforce via your browser, click on your photo, select Settings, then 'reset my security token'.) Once you're logged in the lock turns green. Back in Excel, on the XL-Connector tab, select

Using Excel with Salesforce: One tool, two tips

Obviously, Salesforce has strong built-in reporting tools. And I'm a big fan of the dashboards, especially filtered dashboards and dynamic dashboards. WAY better than the old approach of creating a unique set of reports and a corresponding dashboard for every conceivable view. Still, I often want to pull my Salesforce data into Excel. This might be for further manipulation / processing, aggregating data that doesn't live in Salesforce, or distribution to non-Salesforce users (hey, those licenses are expensive!). Reporting Tool - XL-Connector: I'm using a new (to me) tool when I have to repeatedly pull Salesforce data into Excel: XL-Connector  (fka Enabler 4 Excel) from Xappex. There's a lot you can do with XL-Connector. My primary use is just to extract data from Salesforce, and this can be done in two ways: reports or SOQL queries. The great part is that once you've captured data into an Excel file, refreshing the data is trivial. I've stored my credential