Skip to main content
Conga Support

Overview of CLM Suite Architecture

The Conga Contracts Lifecycle Management Suite is a service-oriented architectural framework that allows Conga applications and services to communicate and integrate seamlessly with each other. A common set of services are available for applications to use across the suite, world-wide, with the highest levels of security.

Suite functionality for Conga Contracts for Salesforce and Conga Contracts

Current implementation of the Suite include two Conga products; Conga Contracts for Salesforce and Conga Contracts. 

The suite functionality currently has two key pieces:  External File Repository and Data Synchronization

  • The Conga file repository allows files to be stored in the Conga Cloud and accessed by both the Suite and repository independently or in tandem with each other. The external repository can be used independently of data synchronization for Salesforce.

  • Data synchronization (data sync in Salesforce) allows for data records to be synced between Salesforce and Conga Contracts. Mapping data is configurable and the Contract Request feature is built into the framework. Data sync cannot be used independently of the Conga file repository.

The suite uses an authorization service to connect systems together, with a user-specific connection. The authorization service works in both production and sandbox environments. In Salesforce Orgs, named API users are used during the OAuth flow. The connection initialed in Conga Contracts for Salesforce is authenticated and redeemed in Conga Contracts.

External File repository

Conga Contracts for Salesforce files like contracts are required without attachments. All user interaction mirrors Salesforce such as downloading files, uploading files, and all other access through the ContentDocument and ContentVersion objects. Again, the files can be stored in the Conga Cloud or off Suite and accessed by both systems. 

New files being uploaded to the external repository are automatically synced when a file is uploaded to Salesforce and a flag is set on the Content Version Object (IsCongaFile__c) and the External Repo flag is set. Automatic synchronization is also possible when:

  • A flag is set by Conga Composer.

  • A file is uploaded to Conga Contracts for Salesforce and the field is manually updated.

  • A file is uploaded to Conga Contracts for Salesforce and the field is set through a trigger.

Conga Contracts functionality mirrors Contracts for Salesforce but files are stored and external repository if authorization services are configured. All Conga Contracts files linked to Contract Profile documents are stored in the external repository when authorized. For a file to be accessible from both systems, the document needs to be connected to a data record that is synced.

Data Synchronization

Data sync allows records to be used across platforms. Syncing data cannot be done independently form the external repository. Data synchronization is triggered when you create or update mapped fields in Conga Contracts or Contracts for Salesforce. The following values can be synced:

  • Objects (Account to Company, Contract to Contract, Custom Object to Contracts)
  • Fields (Name to Name, Status to Status)

  • Values (Pending to Draft)

  • Records (Acme to Acme Inc.)

What criteria needs to be met to send data? If you want to prevent updates, there is an Opt Out (exclusion) functionality. The Opt Out logic creates a gate to prevent constant updates. For example: Contract Value > $1,000,000 and Status is Approved, IF:

  • False = Data Pushes | Synced

  • True =  Does not synced

What logic drives the creation of the Contract Request? Similar to exclusion logic, there is a boolean field that flags whether the synchronization needs approval. The field is implemented on the Contract Profile in Conga Contracts only. For example, IF:

  • No Approval = Creates Contract Profile

  • Needs Approval = Creates Contract Request and in stored in the Conga Contracts queue. Accounts and Companies Approvals do not exist.


  • Was this article helpful?