Skip to navigation

Create a package

View as Markdown

An Agreement Manager package is the bundle you upload to configure Agreement Manager programmatically. It consists of two components:

  • Manifest file: A JSON file that defines your Agreement Manager configuration. This file specifies the custom fields, custom agreement types, and extensions to standard agreement types that you want to create or update in Agreement Manager.
  • Training documents: Example agreements used to train the AI so it can accurately identify your custom agreement types. Training documents are required for any custom agreement type that has AI extraction enabled.

Manifest file

A manifest file defines the agreement and field customizations to apply to Agreement Manager in your account. The file must be placed at the following path in your workspace:

{workspaceName}/{projectName}/agreement-manager/configs/agreement-manager-manifest.json

The manifest supports three types of customizations. Each is described below. For complete property descriptions and examples, see the manifest reference.

Custom fields

Custom fields are new fields you create in Agreement Manager to capture data specific to your organization. They are defined in the fields array of the manifest file. For each custom field, you specify its data type and whether AI extraction is enabled. If AI extraction is enabled, you also provide an AI definition and example text to help the model learn how to extract the field value.

For details about the fields array structure and properties, see Define custom fields.

Custom agreement types

Custom agreement types are new agreement categories you create in Agreement Manager to classify agreements that are specific to your organization. They are defined in the customAgreementTypes array of the manifest file. For each custom agreement type, you specify the fields mapped to it and whether AI extraction is enabled. If AI extraction is enabled, you also provide an AI definition and training documents.

For details about the customAgreementTypes array structure and properties, see Define custom agreement types.

Extensions to standard agreement types

Standard agreement types are Agreement Manager’s built-in agreement categories. You can extend them by mapping additional standard fields or custom fields to them. Extensions to standard agreement types are defined in the standardAgreementTypes array of the manifest file. The key and display name values for each standard agreement type must match exactly what appears in your standard-catalog.json file, located in your workspace’s {workspace}/{project}/agreement-manager/configs/ directory.

For details about the standardAgreementTypes array structure and properties, see Extend standard agreement types.

Example manifest file

The following is a complete example manifest file. It includes a custom field with AI extraction enabled, a custom agreement type with training documents, a custom field without AI extraction, a custom dropdown field, and an extension to a standard agreement type.

{
"version": "1.0.0",
"defaultLocale": "en",
"namespace": "com.example.manufacturing@1.0.0",
"standardAgreementTypes": [
{
"key": "ConsultingDocumentData",
"displayName": "Consulting Agreement",
"fields": {
"additionalStandardFields": ["Title", "Execution Date", "Effective Date"],
"customFields": ["Project Code", "Project Type"]
}
}
],
"customAgreementTypes": [
{
"key": "C_SupplierAgreement",
"displayName": "Supplier Agreement",
"category": "BusinessServices",
"customExtractionEnabled": true,
"aiDefinition": "Agreement with supplier",
"fields": {
"additionalStandardFields": ["Renewal Date"],
"customFields": ["Part Number", "Annual Cost"]
},
"docs": ["supplier_1.pdf", "supplier_2.pdf", "supplier_3.pdf"]
}
],
"fields": [
{
"key": "C_PartNumber",
"displayName": "Part Number",
"category": "GeneralCategory",
"fieldType": "String",
"customExtractionEnabled": true,
"aiDefinition": "Manufacturing part number",
"examples": {
"en": [
{
"exampleText": "Part number is ABC-123",
"confirmedValue": "ABC-123"
},
{
"exampleText": "The component part number: XYZ-789",
"confirmedValue": "XYZ-789"
}
]
}
},
{
"key": "C_AnnualCost",
"displayName": "Annual Cost",
"category": "FinancialCategory",
"fieldType": "Number",
"customExtractionEnabled": true,
"aiDefinition": "Total annual cost of the agreement",
"examples": {
"en": [
{
"exampleText": "The annual cost shall be $50,000",
"confirmedValue": "50000"
}
]
}
},
{
"key": "C_ProjectCode",
"displayName": "Project Code",
"category": "GeneralCategory",
"fieldType": "String",
"customExtractionEnabled": false
},
{
"key": "C_ProjectType",
"displayName": "Project Type",
"category": "GeneralCategory",
"fieldType": "Dropdown",
"customExtractionEnabled": true,
"aiDefinition": "Internal project type",
"dropdownOptions": [
{
"name": "Work",
"description": "Work related project"
},
{
"name": "Personal",
"description": "Personal project just for fun"
}
],
"examples": {
"en": [
{
"exampleText": "Project type: Personal",
"confirmedValue": "Personal"
},
{
"exampleText": "Project type: Work",
"confirmedValue": "Work"
}
]
}
}
],
"metadata": {
"createdAt": "2025-01-06T00:00:00Z",
"updatedAt": "2025-01-06T00:00:00Z",
"version": "1.0.0",
"author": "Manufacturing Team",
"description": "Custom fields for manufacturing and supplier agreements",
"tags": ["manufacturing", "supplier", "consulting"],
"lastManifestHash": ""
}
}

Options for creating the manifest file

You have two options for creating your manifest file:

  • Create from scratch. Write a new agreement-manager-manifest.json file and place it in the {workspaceName}/{projectName}/agreement-manager/configs/ directory. Use the field keys and display names from your standard-catalog.json and custom-catalog.json files as references. See the manifest reference for a complete description of all manifest properties.
  • Import and modify an existing configuration. If your account already has custom fields or agreement types, use the catalog-to-manifest command to generate a manifest file pre-populated with your existing configuration. You can then modify this file and add new customizations. See Retrieve standard and custom catalogs for details on this command.

Manifest file restrictions

RestrictionDetails
Maximum custom fields300
Maximum custom agreement types200
Maximum items with AI extraction enabled50 total across custom fields and custom agreement types combined. No more than 15 of those 50 can be custom agreement types. Valid example distributions include:
  • 50 custom fields and 0 custom agreement types
  • 35 custom fields and 15 custom agreement types
  • 40 custom fields and 10 custom agreement types

Training documents

Training documents help the AI learn how to identify your custom agreement types.

Training documents are required for every custom agreement type that has customExtractionEnabled set to true in the manifest.

If customExtractionEnabled is true, the custom agreement type definition must also include a docs property that lists the training file names for this agreement type.

The upload command will return an error if either of the following is true:

  • A custom agreement type has AI extraction enabled but no training documents are referenced in the docs property.
  • A file referenced in the docs property is not found in the training documents directory.

You do not need to provide training documents for custom agreement types where customExtractionEnabled is set to false.

Training document requirements

To achieve the best results for your training documents, follow the requirements below.

RequirementDetails
File location{workspace}/{project}/agreement-manager/files/train/
QuantitySupply at least five and up to 10 documents per custom agreement type with AI extraction enabled.
Document characteristics
  • Files should represent realistic production agreements rather than edge cases.
  • Use agreements that are different from the test agreements you will use to validate accuracy later.

Sample agreements

Docusign provides sample agreements that you can use as training or test documents while you are learning how the Docusign CLI works. Because these agreements are generic, you should not use them to prepare Agreement Manager customizations for the production environment. When working toward a production deployment, use training and test documents that are representative of your organization’s or customer’s agreements.

Next steps

  • Review the manifest reference for a complete description of all manifest file properties.
  • Learn how to upload a package to Agreement Manager, including what to expect after a successful upload and how to resolve validation errors.
  • Learn how to test agreement customizations to validate AI extractions accuracy before deploying to production.