Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Contract Action Settings

Contract Action Settings allow administrators to define and manage clone specifications that control how contracts and their related objects are cloned, amended, or renewed. Clone specifications override the system's default cloning behavior and ensure that only the intended fields and related records are copied during contract lifecycle actions.

You can configure clone specifications under CLM Admin > Contract Action Settings.

The clone specifications feature automates configuration-based object cloning. If a relevant clone specification is configured and available, it is invoked when a user clones, amends, or renews a contract. You can define clone specifications to override the system's default process for cloning, amending, and renewing a contract.

The system initially searches for any configuration available in the below order. If any configuration is available, cloning is processed based on the available configuration. Otherwise, it looks for the default cloning and copies the entire agreement object to a new one. The following table lists the configuration name format for a clone specification and related examples.

Note: Source and target object names, field names and context field names are case sensitive.

Configuration Name Format

Example

Description

clonespec::{sourceObject}::{targetObject}::{recordType}::{cloneType}

clonespec::agreement::agreement::msa::clone

This performs only the clone operation for the MSA record type.

clonespec::{sourceObject}::{targetObject}::{cloneType}

clonespec::agreement::agreement::amend

This performs only the amend operation.

clonespec::{sourceObject}::{targetObject}

clonespec::agreement::agreement

This performs clone, amend, and renewal operations.

Clone specification is omitted for the following system fields.

  • Id
  • CreatedBy
  • CreatedDate
  • ModifiedBy
  • ModifiedDate
  • ActivatedBy
  • ActivatedDate
  • AgreementNumber
  • Status
  • StatusCategory
Tip:
  • If you clone an agreement, the value of Status Category and Status fields of the source agreement is Unchanged.
  • If you amend or renew an agreement, the value of Status Category of the source agreement is In Effect.
  • If you amend or renew an agreement, the value of Status of the source agreement is Being Amended and Being Renewed respectively.

The system automatically populates the values for the following field types. The clone specifications configuration cannot control these fields.

  • Autonumber
  • Calculated fields
  • Rollup fields

The clone specification feature supports the following context fields.

Format

Example

CURRENT_DATE

Current date and time as 00:00:00

CURRENT_DATE_TIME

Current date and current time

CURRENT_MONTH

Current month number

CURRENT_MONTH_STARTDATE

Starting date of current month

CURRENT_MONTH_ENDDATE

End date of current month

CURRENT_YEAR

Current year number

CURRENT_ORG

ID of current context organization

CURRENT_USER

LookupObject of current context user

Clone types

The following are the three types of cloning:

  • AllFields
    • All fields from the source object are cloned except the fields specified in ExcludeFields.
    • Fields specified in the IncludeFields are cloned as per the specification. All other fields are cloned by matching the field name from the source and target object.
    • Any calculated fields, Rollup fields and Auto popup fields such as "id", "createdby", "createddate", "modifiedby", "modifieddate", "externalid" are omitted.
  • CustomFields
    • All custom fields from the source object are cloned except the fields specified in ExcludeFields.
    • Fields specified in the IncludeFields are cloned as per the specification irrespective of whether those fields are custom or not.
    • Any calculated fields, Rollup fields, and Auto popup fields such as "id", "createdby", "createddate", "modifiedby", "modifieddate", and "externalid" are omitted
    • Any fields from the source object other than the above fields are omitted.
  • IncludeFields
    • Only the fields specified in the IncludeFields list are cloned.
    • All other fields are omitted.
      Refer to the following table for some of the IncludeFields list.

      Format

      Example

      Description

      “{TargetFieldName}” : “$${SourceFieldName}”

      “Name” : “$$Name“

      Value of the field “Name” from the source object will be copied into the field “Name” of the target object.

      “{TargetFieldName}” : “$${SourceFieldName}”

      “Name“ : “$$Description“

      Value of the “Description” field from the source object is copied into the “Name” field of the target object.

      {TargetFieldName}” : “Static value”

      “Status” : “Request“

      Static value “Request“ is copied into the “Status” field of the target object.

      “{TargetFieldName}” : “$${SourceFieldName} + Static value”

      “Name“ : “$$Name + Clone“

      Static value “Clone“ is appended to the value of the “Name” field from the source object and then the result will be copied into the “Name” field of the target object.

      “{TargetFieldName}” : “Static value + $${SourceFieldName}”

      “Name“ : “Copy of - $$Name“

      Static value “Copy of“ will be prepended to the value of the field “Name” from the source object and then the result is copied into the “Name” field of the target object.

      “{TargetFieldName}” : “$$${ContextFieldName}”

      “ExecutedDate“ : “$$$CURRENT_DATE“

      Current date is copied into the ExecutedDate field of the target object.

      “{TargetFieldName}” : “$$${ContextFieldName} + {Number}"

      “ExecutedDate“ : “$$$CURRENT_DATE + 1“

      One day is added to the current date and the result is copied into the ExecutedDate field of the target object. This arithmetic operation works only if the context field type is either number or date.

      “{TargetFieldName}” : “$$${ContextFieldName} - {Number}”

      “ExecutedDate“ : “$$$CURRENT_DATE - 3“

      Three days are deducted from the current date and the result is copied into the ExecutedDate field of the target object. This arithmetic operation works only if the context field type is either number or date.

Clone Specification for System Object Configuration

The system object AgreementClause is completely handled by the internal system. If you use the system object AgreementClause in clone specification, then the cloning process considers CloneType as AllFields and omits the elements in IncludeFields and ExcludeFields.

Sample clone specification

{
	"SourceObject": "Agreement",
	"TargetObject": "Agreement",
	"CloneType": "AllFields",
        “IncludeFields“ : {
                "Name": "$$Name + -Clone"

        }
	"ChildObject": [
		{
			"SourceObject": "AgreementClause",
			"TargetObject": "AgreementClause",
			"FromField": "Agreement",
			"ToField": "Id"
		}
	]
}

You cannot use the following system objects in the clone specification.

  • DocumentMetadata
  • User
  • Role
  • ObjectPermission

Clone Specification for Parent-Child Relationships

When you clone an object, you must also clone all its related objects. The clone specification allows you to configure parent-child relationships.

Example 1: Sample clone specification: parent and child object relationship through a lookup field

{
	"SourceObject": "Agreement",
	"TargetObject": "Agreement",
	"CloneType": "AllFields",
	"IncludeFields": {
		"Name": "$$Name + -Clone",
		"AccountId": "$$AccountId",
		"Owner": "$$Owner",
		"RecordType": "$$RecordType"
	},
	"ChildObject": [
		{
			"SourceObject": "AgreementClause",
			"TargetObject": "AgreementClause",
			"FromField": "Agreement.Id",
			"ToField": "Id",
			"CloneType": "IncludeFields"
			"IncludeFields": {
				"Name": "$$Name + -Clone",
				"Action": "$$Action",
				"Category": "$$Category",
				"Agreement": "#PARENT#"
			}
		}
	]
}
Tip: #PARENT# stores the LookupObject of the parent object.

Example 2: Sample clone specification: parent and child object relationship through a reference field

{
	"SourceObject": "Agreement",
	"TargetObject": "Agreement",
	"CloneType": "AllFields",
	"IncludeFields": {
		"Name": "$$Name + -Clone",
		"AccountId": "$$AccountId",
		"Owner": "$$Owner",
		"RecordType": "$$RecordType"
	},
	"ChildObject": [
		{
			"SourceObject": "AgreementClause",
			"TargetObject": "AgreementClause",
			"FromField": "Agreement",
			"ToField": "Id",
			"CloneType": "IncludeFields"
			"IncludeFields": {
				"Name": "$$Name + -Clone",
				"Action": "$$Action",
				"Category": "$$Category",
				"Agreement": "#PARENTID#"
			}
		}
	]
}
Tip: “#PARENTID#” stores the ID of the parent object

The following table describes the child objects in a parent-child relationship.

Child Object

Description

SourceObject

Name of the source object for the child.

TargetObject

Name of the target object for the child.

FromField

Key column of the child object which represents the relationship with the parent.

ToField

Key column of the parent object which represents the relationship with the child.

Format1 : “{TargetFieldName}” : “#PARENT#”

The lookup reference of the parent object is stored in the field “Agreement” of the target object.

For example: “Agreement” : “#PARENT#“

Format2 : “{TargetFieldName}” : “#PARENTID#

The value of the field “Id” from the parent object is copied into the field “Agreement” of the target object.

For example: “AgreementId” : “#PARENTID#“