# Create Agreement

> `UiPath.Adobe.AdobeSign.Activities.CreateAgreementActivity`

`UiPath.Adobe.AdobeSign.Activities.CreateAgreementActivity`

The **Create Agreement** activity uses the Adobe Sign [API](https://secure.na1.adobesign.com/public/docs/restapi/v6#!/agreements/createAgreement) to create a basic agreement and optionally send it for signature.

## How it works

The following steps are an example of how the activity works from design time (i.e., the activity dependencies and input/output properties) to run time.

1. Complete the [Setup](https://docs.uipath.com/activities/other/latest/legacy-integrations/adobesign-setup) steps.
2. Add the [Adobe Sign Scope](https://docs.uipath.com/activities/other/latest/legacy-integrations/adobesign-scope) activity to your project.
3. Add the **Create Agreement** activity inside the **Adobe Sign Scope** activity.
4. Create an enter values for the properties located in the body of the activity.
5. Create and enter an `ResponseStatus` variable for the **Output** property.

## In the Body of the Activity

* **Name** - The display name of the activity.
* **State** - The state in which the agreement should land. This field supports only `String` variables. The allowed values are the following:
  + AgreementCreationInfoState.DRAFT
  + AgreementCreationInfoState.AUTHORING
  + AgreementCreationInfoState.INPROCESS
* **Signature Type** - Specifies the type of signature you would like to request - written or e-signature. This field supports only `String` variables and the following values are allowed:
  + AgreementCreationInfoSignatureType.ESIGN
  + AgreementCreationInfoSignatureType.WRITTEN
* **Message** - An optional message to the participants.
* **ExternalID** - The external id for the agreement. This field supports only `String` variables.
* **Transient Document Files** - A list of files to upload and send. This field supports only `String[]` variables.
* **Library Document IDs** - The list of library documents to include. This field supports only `String[]` variables.
* **Transient Document IDs** - The list of transient documents to include. This field supports only `String[]` variables.
* **URL Files** - The list of URL files to include. This field supports only `String[]` variables.
* **Recipients** - A Datatable containing a list of recipients to add to the agreement. This field supports only `DataTable` variables.
* **Signers** - The list of email addresses who are are signers. This field supports only `String[]` variables.
* **Approvers** - The list of email addresses who are are approvers. This field supports only `String[]` variables.
* **Acceptors** - The list of email addresses who are are acceptors. This field supports only `String[]` variables.
* **CCs** - The list of email addresses who are to be cc recipients. This field supports only `String[]` variables.
* **Agreement ID** - The id of the newly created agreement. This field supports only `String` variables.

## Properties

### Common

* **DisplayName** - The display name of the activity.

### Misc

* **Private** - If this checkbox is selected, the values of variables and arguments are no longer logged at Verbose level.

### Output

* **ResponseStatus** - The status of the request (success/failure information). This field supports only `ResponseStatus` variables.
