Quantcast
Channel: Conga » Blog
Viewing all articles
Browse latest Browse all 95

Etiquette of a Conga Composer Button URL

$
0
0

Today's post on button (or link) URL etiquette is by the lovely Shelley Hoolihan, a senior business analyst who has worked with Conga since 2009. She was introduced to Salesforce in 2005, and it was "love at first sight."  When not helping Conga customers, she enjoys spending time in the great outdoors of Colorado - skiing, hiking, and camping - with her husband and their two dogs. She also has a healthy addiction to chocolate chip cookies. You can find her on Twitter @congashell. Grab your favorite party cocktail and some hors d'oeuvres and enjoy Shelley's six best practice tips for building button URLs.

I’m so excited for my first Conga blog post! I’ve been nerdily dreaming of a Conga blog since I first started with the company in 2009, and I’m so excited to see it come to fruition.  Today I’ll share with you some ways to make your Conga Composer button or link URL as efficient as possible.  I call it “button URL etiquette” because, while I’m no Emily Post, I certainly enjoy a nice, tidy, and polite button as much as the next Salesforce admin. I recommend following six best practices when it comes to creating your button URLs:

  1. Always greet your guests with a smile. 
  2. Use a seating chart to group your guests by common interests.
  3. It's not necessary to invite everyone you know to the party.
  4. Name tags are helpful for you and your guests. 
  5. A floor plan creates a good party flow.
  6. You can never have too much ice.

Fortunately an RSVP is not required, so let’s get started.

Adding customization and complexity to your button URL typically means adding Composer parameters. This can result in a lengthy URL that often feels a bit hodgepodge.  Below is an example of such a URL:

https://www.appextremes.com/apps/Conga/Composer.aspx
?sessionId={!API.Session_ID}
&serverURL={!API.Partner_Server_URL_80}
&id={!Opportunity.Id}
&CongaEmailTemplateGroup=Opportunity
&MFTS1=Version_Number__c 
&MFTSValue1=!Opportunity.Next_Version_Number__c}
&DS7=0
&ReportId=00OG000000436hL,
00OG00000043po0,
00OG0000004dgiT,
00OG0000004dku9?pv0={!URLENCODE(Opportunity.Account )}
&ExcelAutoFitRows=1
&LG4=1
&AWD=1
&SelectTemplates=1
&FP0=1
&CETid=a0WG0000006MuRR
&MFTSid0={!Opportunity.AccountId}
&MFTS0=SLA__c
&MFTSValue0=Platinum
&EmailToId={!Opportunity.Email_Contact__c}
&TemplateId=a01A0000002bTvh
&QueryId=a02G0000004yArD,
a02G0000004yDOp,
a02G0000004xSpU
&EmailTemplateId=00XA00000019LXf
&EmailFromId={!Opportunity.Org_wide_Email_Address__c}
&LG1=Price+Quote+Sent
&LG2=1
&LG3=2
&DV0={!IF( ISPICKVAL(Opportunity.StageName, "Negotiation/Review"), "DRAFT", "")}
 

As you can see, this URL is in utter disarray, but with my etiquette tips, we can quickly clean it up. 

1. Always greet your guests with a smile.  

A smile never hurts while button building, but what will really make you happy is keeping your base URL at the top of your button/link URL.  The base URL is the first four lines of the above example URL, re-illustrated below:

https://www.appextremes.com/apps/Conga/Composer.aspx
?sessionid={!API.Session_ID}
&serverURL={!API.Partner_Server_URL_80}
&id={!Opportunity.Id}
 

By keeping the base URL at the top of the URL, it allows you to easily identify your master object (specified with the &id parameter) and ensure that the necessary session ID and server URL are present. Plus, it’s especially helpful to the Conga support team when they troubleshoot your URL.

2. Use a seating chart to group your guests by common interests.

While a seating chart at an event ensures that guests who know each other or you imagine would get along well are seated together, grouping like parameters together ensures that you can easily find certain parameters you’ve included.  It also helps the URL to make sense when you (or the Conga support team) are reading it from top to bottom.  Below, I’ve restructured my initial example URL to group like parameters together.

https://www.appextremes.com/apps/Conga/PointMerge.aspx
?sessionId={!API.Session_ID}
&serverUrl={!API.Partner_Server_URL_80}
&id={!Opportunity.Id}
&ReportId=00OG000000436hL,
00OG00000043po0,
00OG0000004dgiT,
00OG0000004dku9?pv0={!URLENCODE( Opportunity.Account )}
&QueryId=a02G0000004yArD,
a02G0000004yDOp,
a02G0000004xSpU
&DV0={!IF( ISPICKVAL(Opportunity.StageName, "Negotiation/Review"), "DRAFT", "")}
&TemplateId=a01A0000002bTvh
&SelectTemplates=1
&CongaEmailTemplateGroup=Opportunity
&CongaEmailTemplateID=a0WG0000006MuRR
&EmailTemplateId=00XA00000019LXf
&EmailToId={!Opportunity.Email_Contact__c}
&EmailFromId={!Opportunity.Org_wide_Email_Address__c}
&LG1=Price+Quote+Sent
&LG2=1
&LG3=2
&LG4=1
&MFTSid0={!Opportunity.AccountId}
&MFTS0=SLA__c
&MFTSValue0=Platinum
&MFTS1=Version_Number__c
&MFTSValue1={!Opportunity.Next_Version_Number__c}
&DS7=0
&ExcelAutoFitRows=1
&AWD=1
&FP0=1
 
Now, similar parameters are in the same sections so that it’s easy to find, for example, all of the activity logging parameters (look for the &LG and &MFTS section).  I highly recommend keeping report and/or query IDs at the top of your URL, just below the Base URL as these are often components that we need to quickly find and test.  Personally, I like to structure my URL in a way that tells a sort of logical story with a beginning, middle, and end.  I think of it as what we need first (Base URL and reports/queries to gather data), then what we’re going to do with that data (template and email specifications), and how it’s all going to be put together (activity logging, master field to set, output, background mode, etc.).
 

3. It’s not necessary to invite everyone you know to the party.

Just like too many guests can ruin a good party, you want to limit your parameters to only those that you need.  Let’s use the email section of my above  URL as an example:

&CongaEmailTemplateGroup=Opportunity
&CongaEmailTemplateID=a0WG0000006MuRR
&EmailTemplateId=00XA00000019LXf
&EmailToId={!Opportunity.Email_Contact__c}
&EmailFromId={!Opportunity.Org_wide_Email_Address__c}
 

I’ve specified both Conga Email Template parameters (&CongaEmailTemplateGroup, &CongaEmailTemplateID) and a Salesforce email parameter (&EmailTemplateId).  It’s likely that I’d only be using Conga Email Templates or Salesforce email templates for my button so having both sets of parameters is a bit superfluous.

If you keep your button URL parameters to only what’s necessary, it will make your button easier to maintain, troubleshoot, and change in the future.

4. Name tags are helpful for you and your guests.

This point of etiquette is all about using report/query aliases.  In my above sample URL none of my reports or queries have aliases, which means each dataset from a report will use the default report dataset name of ReportData, ReportData1, ReportData2, etc. (QueryData, QueryData1, etc. for queries).  This is really poor form, folks, for a few reasons:

  • If the order of your report IDs in the button URL is ever changed, the associated dataset names will also change (e.g. what was ReportData could now be ReportData2).
    • This, in turn, wreaks havoc on your templates because any references to those datasets now needs to be updated.
  • The default dataset names (e.g. ReportData, QueryData2) are not descriptive so it’s hard to tell which report/query is pulling what data.

I’ve added aliases to the reports and queries from my sample URL and it’s now much easier to read, know which dataset is pulling what data, and nothing bad will happen if the order of the IDs is changed:

&ReportId=[ProdFam]00OG000000436hL,
[Contracts]00OG00000043po0,[ContactRoles]00OG0000004dgiT,
[Acct]00OG0000004dku9?pv0={!URLENCODE( Opportunity.Account )}
&QueryId=[Sequence]a02G0000004yArD,
[TotalQty]a02G0000004yDOp,
[Attachment]a02G0000004xSpU

 

5. A floor p​lan creates good party flow.

Just like you want a little bit of space between the bar and the dance floor at your party, you can put line breaks between your parameter sections to make them even easier to read.  This is entirely optional and a personal preference, but if you have a lot of parameters in one button URL, line breaks will make it much easier to read and sort through.  Just remember, don’t use any spaces (only line breaks a.k.a. “carriage returns” for us typewriter lovers).  You can see below how the line breaks between sections make it a bit easier to read the URL:

https://www.appextremes.com/apps/Conga/PointMerge.aspx
?sessionId={!API.Session_ID}
&serverUrl={!API.Partner_Server_URL_80}
&id={!Opportunity.Id}
 
&ReportId=[ProdFam]00OG000000436hL,
[Contracts]00OG00000043po0,
[ContactRoles]00OG0000004dgiT,
[Acct]00OG0000004dku9?pv0={!URLENCODE( Opportunity.Account )}
 
&QueryId=[Sequence]a02G0000004yArD,
[TotalQty]a02G0000004yDOp,
[Attachment]a02G0000004xSpU
 
&DV0={!IF( ISPICKVAL(Opportunity.StageName, "Negotiation/Review"), "DRAFT", "")}
 
&TemplateId=a01A0000002bTvh
&SelectTemplates=1
 
&CongaEmailTemplateGroup=Opportunity
&CongaEmailTemplateID=a0WG0000006MuRR
&EmailToId={!Opportunity.Email_Contact__c}
&EmailFromId={!Opportunity.Org_wide_Email_Address__c}
 
&LG1=Price+Quote+Sent
&LG2=1
&LG3=2
&LG4=1
&MFTSid0={!Opportunity.AccountId}
&MFTS0=SLA__c
&MFTSValue0=Platinum
&MFTS1=Version_Number__c
&MFTSValue1={!Opportunity.Next_Version_Number__c}
 
&DS7=0
&ExcelAutoFitRows=1
&AWD=1
&FP0=1
 

6. You can never have too much ice.

This isn’t really a button URL tip, it’s just a good rule of thumb when entertaining.  There’s nothing worse than having to run to the grocery store for more ice right when your party is in full swing.

Do you have any button URL etiquette notes that I’ve forgotten?  Please leave them in the comments; I’d love to hear your ideas. 


Viewing all articles
Browse latest Browse all 95

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>