From the Trenches: Managing signing groups

A signing group is used to send documents to a group of people, where any member of that group can open and act on the document fields addressed to the group, as signature and other fields are not specifically assigned to a person.

The number of signing groups you use is likely to increase as time passes. However, the more signing groups you have, the more difficult it is to manage them. As the list gets larger, it may become harder to locate a signing group unless you remember its name. In Docusign eSignature, you need to select Settings > Signing Groups and review all the signing groups from the long list, which takes more time and effort just to send a single envelope to a signing group.

As it directly leads to a bad user experience, I recommend you register and maintain only the signing groups that are frequently used and delete the rest of those that are created only for one-time usage. This approach not only removes the stress of finding the proper signing group, but also simplifies the process of creating the envelope. You can manage your signing groups in the two ways below.

eSignature UI

Many customers create support cases for the Developer Support team to raise the maximum number of signing groups, which is 50 by default. But once our engineers start inspecting the issue, it becomes clear that many unused signing groups still exist, which blocks the customer from creating a new signing group. Therefore, if you encounter the limit, consider checking whether you have signing groups that haven’t been used for a while and delete them. You can do it on Docusign eSignature > Settings > Signing Groups.

eSignature REST API

You can control the number of signing groups by following the API calls below. Simply, you can create the signing group, send the envelope to that group, and then delete it. With this workaround, you’ll hardly ever encounter the signing group limit, as the signing group will be deleted once you send the envelope to it. 

  1. Create the signing group
    POST https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/signing_groups
    
    {
      "groups": [
          {
              "groupName": "test signing group",
              "groupType": "sharedSigningGroup",
              "users": [
                  {
                      "userName": "member 1",
                      "email": "member1@example.com"
                  },
                  {
                      "userName": "member 2",
                      "email": "member2@example.com"
                  },
                  {
                      "userName": "member 3",
                      "email": "member3@example.com"
                  }
              ]
          }
      ]
    }
    
  2. Send the envelope
    POST https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/envelopes
    
    {
      "documents": [
          {
              "documentBase64": "",
              "documentId": "1",
              "fileExtension": "pdf",
              "name": "Test.pdf"
          }
      ],
      "emailSubject": "Please Sign this Envelope",
      "expireAfter": "1",
      "expireEnabled": "true",
      "recipients": {
          "signers": [
              {
                  "signingGroupId": "[SIGNING_GROUP_ID]",
                  "recipientId": "1",
                  "tabs": {
                      "signHereTabs": [
                          {
                              "optional": "false",
                              "pageNumber": "1",
                              "recipientId": "1",
                              "xPosition": "144",
                              "documentId": "1",
                              "yPosition": "144"
                          }
                      ]
                  }
              }
          ]
      },
      "status": "sent"
    }
    
  3. Delete the signing group

    If you don’t need this signing group again in the future, delete it with this API call. This way, you are less likely to hit the limit and can create more necessary signing groups that are expected to be used frequently in the future.

    DELETE https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/signing_groups
    
    {
      "groups": [
          {
              "signingGroupId": "[SIGNING_GROUP_ID]"
          }
      ]
    }
    

Things to consider before deleting the signing group

If you are considering deleting the signing group, note that the signing group should not be deleted when the recipient status of the signing group is created. If you delete the signing group at this status, the signing group will be dropped from the envelope. So it’s important to check that the recipient status of the signing group is not created before deleting it. There are two methods to check this:

  1. EnvelopeRecipients: list API

    You can use the EnvelopeRecipients: list API method to check the recipient status. If the envelope was already sent to this signing group, the value of the status property becomes sent, and you are okay to delete the signing group at this point. However, if you delete the signing group when the status is created, which means this recipient hasn’t received the envelope, and the signing group will be dropped from the envelope.

    Since this method likely violates the polling rule, I recommend using Docusign Connect.

  2. Docusign Connect

    Docusign Connect is a webhook service that enables you to receive updates when specific triggering events (such as recipient-sent and recipient-completed) occur in your eSignature workflows. With the recipient-sent event, you’ll be notified when the envelope is sent to the signing group so you can make subsequent changes, such as deleting the signing group.

The signing group data in the envelope will still be valid after you delete the signing group. For example, the envelope in the screenshot below was defined with the signing group, and this signing group (assigned to routing order 1) was deleted after the recipient status became sent. But as you can see, the signing group data still remained in the envelope.

Previously deleted signing group still valid in its envelope

You can also check whether the signing group data is still valid in your envelope by calling the EnvelopeRecipients: list method. For example, below is the response after the signing group was deleted from the envelope. As you can see, signing group users still exist in the recipient’s data. 

{
  "signers": [
      {
          "creationReason": "sender",
          "isBulkRecipient": "false",
          "requireUploadSignature": "false",
          "name": "created via API for test",
          "email": "",
          "signingGroupId": "961163",
          "signingGroupName": "created via API for test",
          "signingGroupUsers": [
              {
                  "userName": "member 1",
                  "userId": "[MEMBER1_USER_ID]",
                  "email": "[MEMBER1_EMAIL]",
                  "uri": "/users/[MEMBER1_USER_ID]"
              },
              {
                  "userName": "member 2",
                  "userId": "[MEMBER2_USER_ID]",
                  "email": "[MEMBER2_EMAIL]",
                  "uri": "/users/[MEMBER2_USER_ID]"
              },
              {
                  "userName": "member 3",
                  "userId": "[MEMBER3_USER_ID]",
                  "email": "[MEMBER3_EMAIL]",
                  "uri": "/users/[MEMBER3_USER_ID]"
              }
          ],
          "recipientId": "1",
          "recipientIdGuid": "[RECIPIENT_GUID]",
          "requireIdLookup": "false",
          "routingOrder": "1",
          "status": "sent",
          "completedCount": "0",
          "sentDateTime": "2024-04-30T06:23:40.2370000Z",
          "deliveryMethod": "email",
          "recipientType": "signer"
      },
...

For more information about signing groups, check our FAQ. If the above two ways are not viable for your use case, I recommend you visit our Contact Support Page and create a case with the Developer Support team. 

Additional resources

Byungjae Chung
Author
Byungjae Chung
Developer Support Engineer
Published