This use case describes how to create a master service contract between two companies and negotiate terms and conditions using CLM APIs. As a Contract Manager, you can create a contract and send the contract for review to various stakeholders. 

You need to perform the following tasks to send a contract for review:

  1. Create a contract
  2. Generate a contract document
  3. Send the contract document for review
  4. End the contract document review 

Prerequisites

You must have the following information:

  • Contract template Id of a template available in CLM.
  • Account Id of the contract creator.
  • Owner Id of the user.

Creating a contract

First, you must create a contract by providing the basic contract details.

MethodPOST
Endpoint/agreements
Request URLhttps://<URL_of_the_Instance>/api/clm/v1/agreements
{
    "Account": {
        "Id": "1283dcce-54e1-45dd-8c47-7bfc0be232c2",
        "Name": "CLM-AccountConga"
    },
    "Opportunity": {
        "Id": "2b8ae265-a683-4e0e-a505-cf152f0de512",
        "Name": "CLM-TestOpportunity"
    },
    "RecordType": {
        "Id": "b6b12da8-4211-4de3-ac56-7af844d2b613",
        "Name": "CLM-MSA"
    },
    "Owner": {
        "Id": "802e9a13-5e5b-4c96-92ab-820cf385b620",
        "Name": "System Admin"
    },
    "Status": "Request",
    "StatusCategory": "Request",
    "TermMonths": 12,
   "Name": "Test_Agr_Auto"
}
{
  "Success": true,
  "Data": {
    "Account": {
      "Id": "1283dcce-54e1-45dd-8c47-7bfc0be232c2",
      "Name": "CLM-AccountConga"
    },
    "Opportunity": {
      "Id": "2b8ae265-a683-4e0e-a505-cf152f0de512",
      "Name": "CLM-TestOpportunity"
    },
    "RecordType": {
      "Id": "b6b12da8-4211-4de3-ac56-7af844d2b613",
      "Name": "CLM-MSA"
    },
    "Owner": {
      "Id": "802e9a13-5e5b-4c96-92ab-820cf385b620",
      "Name": "System Admin"
    },
    "Status": "Request",
    "StatusCategory": "Request",
    "TermMonths": 12,
    "Name": "Test_Agr_Auto",
    "Id": "8525ec7a-cfbb-443e-ab82-2e9e3881feca",
    "CreatedBy": {
      "Id": "fd25d4d9-5c87-4b66-aece-bacc637de514",
      "Name": "Test User"
    },
    "CreatedDate": "2022-12-25T09:49:49",
    "ModifiedBy": {
      "Id": "fd25d4d9-5c87-4b66-aece-bacc637de514",
      "Name": "Test User"
    },
    "ModifiedDate": "2022-12-25T09:49:49.8641038",
    "ExternalId": null,
    "ActivatedBy": null,
    "ActivatedDate": null,
    "AgreementCategory": null,
    "AgreementNumber": "69234",
    "AmendmentEffectiveDate": null,
    "AutoRenewConsent": null,
    "AutoRenewTermMonths": null,
    "AutoRenewalTerms": null,
    "AutoRenewal": null,
    "ContractEndDate": null,
    "ContractNumber": 69234,
    "ContractStartDate": null,
    "Description": null,
    "InitiationType": null,
    "InternalRenewalNotificationDays": null,
    "InternalRenewalStartDate": null,
    "ParentAgreement": null,
    "Perpetual": null,
    "PrimaryContact": null,
    "RemainingContractedDays": null,
    "RenewalNoticeDate": null,
    "RenewalNoticeDays": null,
    "RetentionDate": null,
    "RetentionPolicyId": null,
    "Source": null,
    "SpecialTerms": null,
    "SubmitRequestMode": null,
    "TerminationComments": null,
    "TerminationDate": null,
    "TerminationNoticeDays": null,
    "TerminationNoticeIssueDate": null,
    "TotalContractValue": null,
    "ExecutedDate": null,
    "Currency": "USD",
    "TestCustomField_c": null,
    "TestCustomFieldOne_c": null
  },
  "Errors": null
}


Generating a contract document

After you have created a contract, you must generate a document with the contract details.

MethodPOST
Endpoint/generate
Request URL

https://<URL_of_the_Instance>/api/clm/v1/{agreementId}/generate

{
"TemplateId": "c0fa8559-d444-4278-823b-da1651242afa",
"IncludeWatermark": true,
"Action": "GENERATE",
"OutputFormat": "DOCX",
"WatermarkText": "DRAFT",
"OutputFileName": "MSA Agreement",
"ProtectionType": "NoProtection"
}
{
   "DocumentVersionId":null,
   "Status":true,
   "Message":"Document Generated Successfully",
   "DocumentId":"2b5e0836-7241-4be7-9123-b3379f5434e2",
   "DocumentParentId":"f4d419e8-4567-4ba0-96d8-2fa211d4b566",
   "Document":null,
   "DocumentType":"docx"
}

Sending the contract document for review

When you have the contract document ready, you can send it for review to your stakeholders and negotiate the terms and conditions.

MethodPOST
Endpoint/reviewcycles
Request URL

https://<URL_of_the_Instance>/api/clm/v1/reviewcycles

{
  "Name": "Review-Cycle-1",
  "ReviewCycleType": "Office365Review",
"AgreementId": "8525ec7a-cfbb-443e-ab82-2e9e3881feca",
  "PrimaryDocumentIds": [
    "2b5e0836-7241-4be7-9123-b3379f5434e2"
  ],
  "SupportingDocumentIds": [
    "2r5e0836-7241-4be7-9123-b3379f5434es"
  ],
  "AdditionalAttachments": [
    {
      "Name": "SampleFile.docx",
      "ContentType": {
        "MediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "Name": "SampleFile.docx"
      },
      "FileData": "VGhpcyBpcyBteSBzYW1wbGUgYXR0YWNoZWQgZmlsZS4gZnJvbSBjb25nYS4="
    }
  ],
  "EmailTemplateId": "6aa4cfc0-3188-4e2e-b75d-f2d45b1358bc",
  "EmailSubject": "test email Subject",
  "EmailBody": "Dear Reviewer,    \n\nYou have been requested by {{TemplateData.InitiatedBy}} to review the following documents via Office365 online or open the document in Microsoft Word on your desktop.\n\n{SharePointUrl}\n\nAfter you complete the review, please notify {{TemplateData.InitiatedBy}} via any communication channel such as email or chat. {{TemplateData.InitiatedBy}} will end the review cycle in the CLM application and the access to the document will be revoked.\n\nIf you have access to X-Author for Contracts, you can open the documents and check out the documents in X-Author for Contracts.\n\nNote that the attached supporting documents are just for reference. \n\nThanks,\nConga CLM",
  "To": [
    {
     "Name": "test internal user",
     "EmailId": "test@abc.com",
      "RecipientType": "Email",
      "RecipientId": "123",
      "ADMemberId": "ABC"
    },
    {
      "Name": "test external conga user",
     "EmailId": "abc@test.com",
      "RecipientType": "Email",
      "RecipientId": "13",
      "ADMemberId": "avc"
    }
  ]
}
{
  "Success": true,
  "Data": true,
  "Errors": null
}


Ending the contract document review 

After the contract document is finalized, you can end the review.

MethodPUT
Endpoint/end
Request URLhttps://<URL_of_the_Instance>//api/clm/v1/reviewcycles/end
{
  "ReviewCycleType": "Office365Review",
  "ReviewCycleId": "bd8a0b59-0c52-4fea-876e-5af4e96ed878",
  "AgreementId": "8525ec7a-cfbb-443e-ab82-2e9e3881feca"
}
{
  "Success": true,
  "Data": true,
  "Errors": null
}