Skip to main content
Conga Support

Salesforce: Creating Auto-generated Tables

What

Auto-generated tables allow users to quickly create tables in their documents that leverage sets of data from a CRM or other integrated system. You must be integrated with a CRM or other data source to leverage auto-generated tables in Conga Collaborate.

Why

Conga Collaborate administrators can use an auto-generated table to create dynamic tables that display a set of child records related to your document’s launching object. For example:

  • On a template that launches from a CRM Opportunity record, create a table that populates with data from the Opportunity Product line items.

  • On a template that launches from a CPQ Quote record, create a table that populates with data from the Quote line items.

  • On a template that launches from a CRM parent Account record, create a table that contains a list of child Account locations and address information.

In the above examples, the auto-generated tables use child object data.  Some administrators may be interested in creating tables that access data from grandchildren objects. For example, launching a document from the Opportunity record that needs to gather data from a related quote object (child) and the quote line items on that quote (grandchildren). In these cases, the tables must be built using advanced auto-generated content attributes, Product Pages, or Repeatable Pages.

How

Creating an Auto-Generated Table

In this example, we’ll create a pricing table in a template that uses data from OpportunityLineItems on an Opportunity record in Salesforce. The Opportunity is the document’s launching object, and the OpportunityLineItems object (child object) acts as the source of data for the table.

Step 1: Create your table

  1. Within a page, click Insert -> Insert Table from the editor toolbar.

  2. Create a table that has three rows and as many columns as you need.

  3. Right click on the table and click Table Properties.

  4. Within the Table Properties modal, change the class to Pricing Table. This changes your table from a regular, static table into an auto-generated table that will allow you to set a data source, insert variables, and generate rows dynamically based on the data entering the table.

  5. Click Ok.

  6. Make the top row a Header row so that the headers stay static and are not repeated with the rest of the table:

    1. Right click into the top row of your table and open the Row Properties.

    2. In Row Properties, change the Row type to Header.

    3. Click Ok.

  7. In order to include a summary total of all products, set the last row of your table as a Footer row so that the total does not repeat when your table is generated with actual data:

    1. Right click into the bottom row of your table and open the Row Properties.

    2. In Row Properties, change the Row type to Footer.

    3. Click Ok.

Step 2:  Give your table a data source

  1. Refresh the page and hover over the table you’ve created. A gear icon will now appear in the top-right corner of the table.

  2. Click the gear icon to open the Pricing Table settings.

  3. Select a Data Source for your table. The data sources available are dependent upon the child objects you have mapped from your launching object(s) in your CRM integration settings.  In this example, our data source is OpportunityLineItems, which was mapped through the document launching object, the Opportunity.

Step 3: (Optional) Sort and filter your table

Pricing Table settings also support sorting and filtering the data in your table. For example, you might create two tables, one filtered to only include products that have a recurring cost and one filtered to only include products that have a one-time cost.

To filter your table:
  1. Click on the gear icon on the upper right-hand side of the table to open the Pricing Table settings.

  2. Click Add Filter. This will open the logic builder.

  3. In the Variable dropdown, choose the variable you would like to filter by. The options available in the dropdown are dependent upon the child object variables you have mapped in your CRM integration settings page.
    Example: Product Family

  4. Choose your desired operator from the Operator drop-down.

  5. Enter the value to which you would like to compare your variable.
    Example: Services

  6. Choose a data type that matches the type of the value to which you are comparing.
    Default = String.

  7. Click Save.

You can click Show Advanced and write more advanced expressions, including using ANDs or ORs.  For more information, see Advanced Conditional Logic Statements.

 To sort your table:
  1. Click on the gear icon in the upper right-hand corner of the table to open the Pricing Table settings.

  2. Choose the value you want to sort by from the Sort By dropdown menu. The options available in the Sort By dropdown are dependent upon the child object variables you have mapped in your CRM integration settings page.

  3. Click Save.

Step 4: Fill in your table

Now that you have set the table class, data source, and header and footer row properties, you are ready to fill in your table with variables that will display in each repeated row:

  1. Type your column headers into the cells in the header row.

  2. In the middle Body row, type % into a cell to get the dropdown list of OpportunityLineItem variables to choose from. Select the variable you’d like to appear in that column. If you don’t see the variable you are looking for, it may not be mapped to Conga Collaborate.  When your table generates with real data, it will create one row for each record found in the data source, with each row containing the values for one unique record.

  3. Create a total in the footer row using aggregate functions.
    Aggregate function syntax: [FUNCTION_NAME(variable_name)]

    Aggregate functions only work in footer rows. In this example, we’ll use [SUM(TotalPrice)]:

  4. Set Cells to show data in your desired format:

    1. Right click on the cell.

    2. Click Cell Properties.

    3. Set the cell Class to show data in a certain format, such as Currency. Cells with a class of Currency will automatically format with USD currency, or will format as determined by the document’s language (found in document properties if enabled).

Step 5: Test your table

Now that you have created a pricing table in your template, launch a new document from your CRM environment using that template. Turn on the Preview toggle in your Table on Contents in order to see the auto-generated table populate with OpportunityLineItem data.


 

Advanced auto-generated content

Conga Collaborate is capable of auto-generating content from arrays of data in more complex ways than is possible solely from the Pricing Table editor. For example, you might want to dynamically group products and totals by product family.  This is doable but requires advanced auto-generated content attributes. For more information, refer to Auto-generated Content or contact support.