We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

Lisa Dannewitz
ServiceNow Employee
 

Overview

The Send for Signature button is a key action in the Contract Management Pro (CM Pro) workflow. It initiates the signature process for a contract request, triggering downstream electronic signature or wet signature flows and ultimately leading to contract record (CNTR) creation. Because this button drives a critical business process, CM Pro controls its visibility carefully using out-of-the-box (OOTB) conditions — and provides customization paths for organizations that need to adapt those conditions to their own workflows.

This article explains how the button works, what determines its visibility in both the Contract Workspace (fulfiller) and the Employee Center (requester), and how administrators can customize that visibility in each location.


How Button Visibility Works Out of the Box

The Send for Signature button is surfaced as a declarative action in the platform. Its visibility is governed by a combination of contract request field values. The specific conditions differ depending on the document type (Own Paper vs. Third Party Paper), and the button is also scoped by persona — meaning different users see it under different circumstances.

 

Own Paper Scenario

The button is displayed when all of the following conditions on the contract request record are true:

  • State is Work in progress
  • Signature type is Electronic signature or Wet signature
  • Type of paper is Own paper
  • Changes Requested field value is anything other than< Requested

In terms of persona, the button is visible to both requesters and fulfillers:

  • Requester: opened_by, requested_for
  • Fulfiller: assigned_to, assignment_group.manager, additional_collaborator

 

Third Party Paper Scenario

The button is displayed when all of the following conditions on the contract request record are true:

  • State is Work in progress
  • Signature Type is Wet signature (Electronic signature uses Prepare for Signature button)
  • Type of paper is Third party paper

For Third Party Paper, the button is visible only to fulfiller. Requesters do not see the button in this scenario.

  • Fulfiller: assigned_to, assignment_group.manager, and additional_collaborator

 

A Note on the Contract Status Field

It is important to understand that the OOTB visibility logic relies entirely on the State field, not the Contract Status field. Contract Status is used for display purposes only (to communicate the current status to users) and does not drive any button visibility logic. This means that if your organization has customized the Contract Status field with additional values, the Send for Signature button will continue to behave based on State alone — unless you explicitly add Contract Status conditions to the declarative action, as described in the customization section below. See the documentation for more information on states and statuses.


Validation Checks When the Button Is Clicked

Visibility and clickability are two separate considerations. Even when the Send for Signature button is visible, CM Pro runs a set of validation checks when the user actually clicks it. If any of the following conditions are present on the contract request, the system will stop the signature initiation and display a validation error:

  • There are rejected approvals on the latest revision of the contract request
  • Multiple signatories share identical email addresses
  • Multiple signatories have the same signing order (Note: duplicate signing order can only be introduced through backend scripting, as the UI enforces uniqueness)
  • No signatories have been added to the contract request

These validations run before any signature workflow is kicked off, so admins should be aware that resolving these errors is a prerequisite to completing the Send for Signature flow.


Customizing Button Visibility

There are two locations where the Send for Signature button appears, and each requires a different customization approach. Admins who need to control visibility in both places should read both sections below.

 

Before implementing script-level customizations, it is worth considering whether the OOTB State field can meet your business requirement. CM Pro includes an Awaiting Review state on the contract request. When a contract request is in the Awaiting Review state, the Send for Signature button is not displayed by default — because the OOTB condition requires State = Work in Progress.

 

If your workflow includes a review step before signatures can be initiated, the recommended approach is to:

  1. Move the contract request to Awaiting Review state when it enters the review stage (for example, by creating a review task tied to that state transition)
  2. Return the contract request to Work in Progress once the review is complete, which will restore button visibility automatically.

This approach is simpler and more upgrade-resilient than script customizations because it works within the existing OOTB logic without requiring modifications to the declarative action or Script Includes. It also naturally handles edge cases like signature cancellations or expirations, since the OOTB reversion to Work in Progress will make the button visible again without additional custom logic.

 

Script-level customization (as described below) might be the appropriate path only when the Awaiting Review state does not map cleanly to your business process, or when your workflow requires a more granular condition that the State field alone cannot express.

 

Location 1: Contract Workspace (Fulfiller View)

In the Contract Workspace, the Send for Signature button is implemented as a declarative action.

 

Navigation path:

All > Now Experience Framework > Declarative Actions > Form Actions

 

From the list, open the Send for signature declarative action on the Contract Request [sn_cm_core_contract_request] table. You can add or modify conditions on this action to control when the button is shown.

 

For example, if your organization uses a custom Contract Status value to represent a stage where signatures should not yet be initiated, you can add a condition on the contract_status field to that effect. The declarative action evaluates all conditions together, so the button will only display when every condition in the list is satisfied.

 

Important: If you add a condition that prevents the button from displaying when the contract request is in a particular Contract Status, you must also ensure there is a mechanism — either a workflow, a Flow Designer flow, or a manual action available to fulfillers — to move the record to a Contract Status where the button becomes visible again. If no such path exists, the signature flow and CNTR creation will be permanently blocked for records that enter that status. You must also account for what happens if a signature is cancelled, the e-signature packet expires, or an e-signature is deemed invalid. OOTB, CM Pro reverts the contract request back to Work in Progress state in these cases. If you have customized Contract Status, you are responsible for handling the Contract Status value that the record should carry after such reversions, and ensuring the record can reach a state where Send for Signature can be re-initiated.

Location 2: Employee Center (Requester View)

The Employee Center surfaces the Send for Signature button through a different code path than the Contract Workspace. In the portal, button visibility is controlled by the method:

LegalContractCoreActionHelper.canSendForSignature()

 

Because the two locations use separate entry points, a change to the declarative action in the Contract Workspace will not automatically hide the button in Employee Center, and vice versa. To customize visibility in both places, you must address both locations explicitly.


 
Version history
Last update:
5 hours ago
Updated by:
Contributors