Blog
Home/

From the Trenches: Managing signing groups

Byungjae Chung
Byungjae ChungDeveloper Support Engineer
    • eSignature UI
    • eSignature REST API
        • Additional resources

        Table of contents

        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.

        • 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"
                        }
                    ]
                }
            ]
          }

        • 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"
          }

        • 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:

        • 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.

        • 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.

        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
        Byungjae ChungDeveloper Support Engineer

        Byungjae Chung has been a Developer Support Engineer for Docusign since 2022. He specializes in helping developers resolve issues they encounter when developing applications using Docusign APIs. You can reach Byungjae on LinkedIn.

        More posts from this author

        Related posts

        • Developer Spotlight

          Developer Spotlight is Coming to Docusign Community!

          Matthew Lusher
          Matthew Lusher
        • Breaking the Language Barrier: Why Large Language Models Need Open Text Formats

          Dan Selman
          Dan Selman
        • Understanding Levenshtein Distance: Applications to AI-Generated Text

          Vincent Pan
          Vincent Pan

        Developer Spotlight is Coming to Docusign Community!

        Matthew Lusher
        Matthew Lusher

        Understanding Levenshtein Distance: Applications to AI-Generated Text

        Vincent Pan
        Vincent Pan

        Discover what's new with Docusign IAM or start with eSignature for free

        Explore Docusign IAMTry eSignature for Free
        Person smiling while presenting