It is possible to chain several existing SIGN Requests; these SIGN Requests can be generated in any way (Manually, via PDF Butler Pack, via Manual Signing V2, via Flow, or via APEX).
When multiple documents are added to a SIGN Request, all documents must be approved. With a chained SIGN Request, there are separate SIGN Requests for each document. So they can each be signed or rejected separately. You will have control at all times, and it must be invoked via APEX.
SignButlerClientApi.BuildChainedRequestFromSrIdsInfo info = new SignButlerClientApi.BuildChainedRequestFromSrIdsInfo();
info.chainedSignRequestName = 'Title'; // Chained SIGN Request Tile
info.srIds = new List<Id>{'a0GWV000005a8iX2AQ','a0GWV000005a5JI2AY','a0GWV000005a5Qc2AI'}; // List of existing SIGN Request
info.blockEmail = true;
SignButlerClientApi.buildChainedSrFromSrIds(info);
The relationship between the parent record (Account, Opportunity, or any other record…) and Sign Request will be handled per SIGN Request record; the chained SIGN Request record will just group the SIGN Requests and show a summary of the statuses, along with the Signing link for the whole chain.
If you want, you can add the following code line to block the email for the chained SIGN Request
info.blockEmail = false;
Our recommendation is to suppress the emails from the Sign Request Template used to generate the Sign Request individually and keep enabled the emails for the chained SIGN Request
This Apex code could be invoked from a flow or any other Apex class. For more information about our API, please check this article: SIGN BUTLER V2 – API Overview – PDF Butler.