2

We are currently using the old CPQ Docusign plugin that was created by Steelbrick. Last year Docusign released a new plugin. Problem is they didn't make it behave the same way as the old plugin and we can't get it to do what we want. I need to switch away from the old plugin because it doesn't support SSO with Docusign.

I'm at the point of trying to build my own plugin, but the documentation is nonexistent. The only thing I've found is the Apex interface (which doesn't even list one of the interfaces I've found in the org). I know I want to create a class which implements SBQQ.ElectronicSignaturePlugin3. The issue is I'm not quite sure what each of the methods are used for and what I should be doing in each. Here's the base method that I've been using to try and check debug logs and see how many of the Quote Document fields are populated.

global class CPQDocusignPlugin implements SBQQ.ElectronicSignaturePlugin3 {
    global void send(List<SBQQ__QuoteDocument__c> docs) {
        System.debug(JSON.serializePretty(docs));
    }

    global void updateStatus(List<SBQQ__QuoteDocument__c> docs) {
        System.debug(JSON.serializePretty(docs));
    }

    global void revoke(List<SBQQ__QuoteDocument__c> docs) {
        System.debug(JSON.serializePretty(docs));
    }

    global String sendWithRedirect(List<SBQQ__QuoteDocument__c> docs) {
        System.debug(JSON.serializePretty(docs));
        return 'some url?';
    }

    global String getSendButtonLabel() {
        return 'Docusign Test';
    }

    global Boolean isSendButtonEnabled() {
        return true;
    }
}

Any insights into what buttons or things in CPQ trigger each method?

The getSendButtonLabel, isSendButtonEnabled, and sendWithRedirect methods are used on the Generate Documents page. That's all I've come up with so far.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.