Signature Capture Component for Flows

Howdy! 😀

Today I am excited to share with you a new flow screen component that I built, called Signature Capture. As the name suggests, you can use this component in your flows screens to get your end users’ signatures and save them in the Salesforce as Files. You can also attach the signature file to a record simultaneously.

Where else can you use this?

You can also use this on home/app/record lightning pages by adding the corresponding interface to the lightning component.

For the ease of creating this component, I created an unmanaged package which you can directly install in your Sandboxes.


Let’s see it in Action!

I added this component to a flow screen and then created a quick action to call this flow.

I hope the Ohana finds it useful. Always open to feedback and suggestions! 😀

Thank you for being an awesome reader! Subscribe to this blog for receiving all the latest updates straight to your inbox. 🙂

40 thoughts on “Signature Capture Component for Flows

    • That’s a really good thought. Sorry, I should have added as an input option😅.
      In the meantime, if you open the Signature component ‘.cmp’ file in the developer console, you can add the height and width attributes to the canvas tag in the component code. Something like this:
      canvas aura:id=”canvas” height=”SPECIFY_Height” width=”SPECIFY_Width” style=”border:2px solid #ddd;background: white;”

      Remember height and width should be in numbers(pixels is the unit).


  1. Great component!
    How can i hide the file created message – this will be on a community site and so we dont want that.


  2. How do I use this in a Public community using the Guest User Profile? I have allowed the flow to run in the system without sharing context so the Guest User Profile can find their contact, but the component files to upload the file to the contact record. Here is the error I see when I run the screen flow:

    Error: SignatureCaptureCMPControllerException.saveSignatureToRecord Error: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary.: []

    Any help would be great!


    • You’d need to provide the necessary access to Guest User profile, in this case:
      – Access to the Apex controller being used in the Signature component.
      – Permission to create files(I can’t remember the exact permissions though).


  3. Hi I am getting following errors when I try to install this package via link

    Error Number: 1363516513-98141 (980901188)

    1. Method does not exist or incorrect signature: void startTest() from the type Test
    SignatureCaptureCMPControllerTest: Method does not exist or incorrect signature: void startTest() from the type Test

    2. Method does not exist or incorrect signature: void stopTest() from the type Test
    SignatureCaptureCMPControllerTest: Method does not exist or incorrect signature: void stopTest() from the type Test


    • I think one of the potential reason you’re getting this error is your org might have a class called “Test”. If that’s the case(which is bad), you’ll have to rename the class to something else.


  4. Hey I loved this component, but I can’t “save” the signature. I’m using it on a screen flow, but how can I see the “signature” once saved, or where is it saved??


    • I replaced with and managed to install into my sandbox but I have a new problem now that I hope you can help with.

      I have added your signature component to the end of my flow, activated it and created a new quick action on my Opportunity. It is all working with the exception that I had to add a mandatory field to Content Version such that when the user uploads photos earlier in the flow which is for an Inspection Report they are able to rename the photo title and add details about the Area e.g. Area 1, Kitchen but because of this I cannot Save and Upload your signature because it also gets saved as a File and requires input of this new custom mandatory field. I really don’t want to switch off the mandatory field because it is the only way the user is able to edit the file name and when they upload a number of photos they need to rename them. Can you think of any other workaround for them both to work?


      • Interesting…
        One way I can think of it is to pre-populate the field by using a before save flow but I’m not sure if you can create record triggered flow on ContentVersion object.


      • I removed the mandatory field on the Content Version and put it down to a trade-off for being able to add your signature capture was is great by the way.


  5. Hi,

    Would it be possible to add the signature to a word document like service agreement with customer and then create a PDF file? Thank you


  6. Hi–I love this component and it works great in my flow when running under my system admin credentials. I have put the flow on a public site, given site guest user access to apex classes and has permission to upload files. But am getting an error ‘List has no row assignment for Sobject’ Any help would be appreciated!


  7. Hi,

    Thank you for this component. We are using it in our org and it’s helpful. Sometimes users forget to click ‘upload and save’ for their signature and move to next step in the flow. This is resulting in some users not having a saved signature file. How can I fix this issue? Thank you!


  8. We are using this component in our screen flow and works well. Thank you. Is there a way for me to pre-populate or retain the saved signature when user navigates between screens. So for example, if my screen flow has 3 screens, with signature capture as the second screen, and if user clicks Previous on this screen (takes him to screen 1) and comes back to this (screen 2), how I do auto populate the captured signature?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.