Opportunity Rowburner Example
As a Rowburner example, let us use an Opportunity with three Opportunity Line Items (OLIs). Each OLI is a product that belongs to a different product family: apps, services, and training.
We want to display a row corresponding to each product on the Conga Template that we use with this Opportunity, but only if that product is present on the OLIs.
First, we write three Conga Queries, each with a filter for a different product family:
Apps Product Family Query
SELECT Id, Name, Quantity, UnitPrice, TotalPrice FROM OpportunityLineItem WHERE Id = ‘{pv0}’ AND Product_Family__c = ‘Apps’
Services Product Family Query
SELECT Id, Name, Quantity, UnitPrice, TotalPrice FROM OpportunityLineItem WHERE Id = ‘{pv0}’ AND Product_Family__c = ‘Services’
Training Product Family Query
SELECT Id, Name, Quantity, UnitPrice, TotalPrice FROM OpportunityLineItem WHERE Id = ‘{pv0}’ AND Product_Family__c = ‘Training’
When Opportunity has products in all three families, all row(s) are displayed. Each query returns OLIs based on the product family.
Example Template
However, if products are removed so that one of the queries returns no data (i.e., no products in a particular product family), rows are automatically removed:
Let us now extend our example to include sections of content rather than just table rows. Placing any content (text, merge fields, tables, images, pages, etc.) between your TS/TE tags will either display or hide the content.
For example, let us revisit our earlier template, this time with more content, and then remove the Services product from our Opportunity.
Example Template
Example Output
For Rowburner to work, a table row must have at least two columns.