Generate SharinPix Shareable Album Links Automatically
This article demonstrates generating and sharing an album's public URL with specific images using a Salesforce Flow. The generated URL is accessible across any platform or device and enables end users to modify the album (upload, delete, add tags, etc.) depending on the SharinPix Permission given.
In the following sections, you will learn how to generate an album's public URL with:
Tips:
The album URL can also be generated manually using a Lightning button. For more information on the Lightning component, please refer to this article: SharinPix Share
Prerequisites
For this feature, you should
- Ensure that the SharinPix Permission Sets, named SharinPix Share Permission and SharinPix Lightning Components, have been assigned to all users intending to use the configurations described in this article to generate SharinPix Shareable album links.
- Ensure that your SharinPix Package version is either v1.312 or above. If your SharinPix package has an older version, refer to the following article below to update the same: How to update SharinPix package from the AppExchange?
Getting Started
The Apex class, ShareAutomation, is used to generate the album's public URL. It provides several fields that can be used to parametrize the sharing. The table below provides more details for each field:
Field Name |
Description |
Is Field Value Mandatory? |
---|---|---|
Record ID |
The current record ID. |
Yes |
Custom Permission Id or Name |
The custom Permission Id or Name created for the abilities on the shared album. If no value is provided for this field, the shared album will be on a view-only mode. | No |
List of Image Ids |
The list of image public IDs of images to be included in the Shared album. If no value is provided for this field, all images available on the record's album will be included in the shared album. | No |
Generate an album's public URL with all images from an album
In the following sections, we will use the Account object to generate a Shareable URL of an album component with all the images, using the SharinPix Apex class, ShareAutomation, in a Salesforce Flow (Admin-Oriented). The generated URL will then be inserted in a field on the Account record for this demo.
Creation of Salesforce Flow
This section demonstrates how to create a Flow that invokes the Apex class ShareAutomation to generate the share.
To do so, follow the steps below:
- Go to Setup. In the Quick Find Box, type Flow
- Click on the button New Flow located on the top right corner
- Select Start From Scratch and then Record-Triggered Flow as the Flow type
- Once on the Flow builder, click on the Edit link located in the Start element, then
- For the, Trigger the Flow When, section, select A record is updated
- Choose Account as the object
- Add a Condition Requirements as All Conditions Are Met (AND)
- Next, choose Status as the field, Equals as the operator, and Investigation In Progress as the value
- For the When to Run the Flow for Updated Records section, select Only when a record is updated to meet the condition requirements.
- Enable the checkbox Include a Run Asynchronously path to access an external system after the original transaction for the triggering record is successfully committed. Note: The flow should be run on an asynchronous path as the method does perform callouts.
- Then, go to the Manager tab and click on the New Resource button to create a variable as follows:
- For the variable, select Variable as the Resource Type
- Enter recordId as the API Name
- Select Text as the Data Type
- For the Availability Outside the Flow section, select Available for input
- Click Done to save
Next add an Action element.
- On the Action modal, use the search bar to find the sharinpix__ShareAutomation Apex class.
- Click on sharinpix__ShareAutomation.
- On the Action modal for sharinpix__ShareAutomation, populate the fields as indicated below:
- Label: Generate an album public url with all images from the album
- Description: Enter a description (optional)
-
Record ID: {!recordId}
- Note: This is a mandatory field and refers to the current Account ID.
-
Custom Permission Id or Name: PermissionName (Create a SharinPix Permission with the permissions/abilities needed for the users using this public album)
- Note: This permission will be provided to the public album. If upload, edit or delete permissions are present, the viewers of the shared URL will be able to make changes to your images that will reflect on your Salesforce.
- List of Image Ids: We do not provide any image ids if we want to obtain all images from an album.
Lastly, Add an Update Records element onto the canvas. For this element, enter the following details:
- Enter Update Account field with the URL Generated as the label
- In the Set Field Values for the Account Record section, enter Shared_All_Album_Images_URL__c as the Field, and choose Text from Generate_an_album_public_url_with_all_Images (Example: {!Generate_an_album_public_url_with_Specified_Images}).
Generate an album's public URL with specific images from an album
In the following sections, we will use the Account object to generate a Shareable URL of an album component with images tagged as 'Broken' whenever the status of an Account record is changed to the value 'Investigation In Progress', using the SharinPix Apex class, ShareAutomation, in a Salesforce Flow (Admin-Oriented). The generated URL will then be inserted in a field on the Account record for this demo.
This public album can be shared using the link generated for the client. For example, for the client to get an idea of what you are investigating, they could see the images with the broken object.
This section demonstrates how to create a Flow that invokes the Apex class ShareAutomation to generate the share.
To do so, follow the steps below:
- Go to Setup. In the Quick Find Box, type Flow
- Click on the button New Flow located on the top right corner
- Select Start From Scratch and then Record-Triggered Flow as the Flow type
- Once on the Flow builder, click on the Edit link located in the Start element, then
- For the, Trigger the Flow When, section, select A record is updated
- Choose Account as the object
- Add a Condition Requirements as All Conditions Are Met (AND)
- Next, choose Status as the field, Equals as the operator, and Investigation In Progress as the value
- For the When to Run the Flow for Updated Records section, select Only when a record is updated to meet the condition requirements.
- Enable the checkbox Include a Run Asynchronously path to access an external system after the original transaction for the triggering record is successfully committed. Note: The flow should be run on an asynchronous path as the method does perform callouts.
- Then, go to the Manager tab and click on the New Resource button to create a variable as follows:
- For the variable, select Variable as the Resource Type
- Enter recordId as the API Name
- Select Text as the Data Type
- For the Availability Outside the Flow section, select Available for input
- Click Done to save
- Create New Resource button to create a variable as follows:
- For the variable, select Variable as the Resource Type
- Enter ImageIdsList as the API Name
- Select Text as the Data Type
- Enable the checkbox Allow multiple values (Collection)
- For the Availability Outside the Flow section, select Available for input
- Click Done to save
- Next, add a Get Record element onto the canvas. For this element, enter the following details:
- Enter Get SharinPix Images as the label
- In the Get Records of This Object section, choose the SharinPix Image object.
- In the Filter SharinPix Image Records section:
- Enter sharinpix__AlbumID__c as the Field, Equals as the operator and for the value, choose the resource created above recordId.
- Enter sharinpix__Tags__c as the Field, Contains as the operator and for the value, enter the value Broken.
- For the How Many Records to Store section, select All records
- Click on Done to save
- Next, add a Loop element onto the canvas. For this element, enter the following details:
- Enter Loop through each SharinPix Image as the label
- In the Select Collection Variable section, choose the Get SharinPix Image records created earlier.
Next add an Assignment element inside the loop element, to assign the each SharinPix Image Ids to the ImageIdsList variable, as we will need a list of images Ids as a parameter for the ShareAutomation action, to generate the public URL for an album with those images. For this element, enter the following details:
- Enter Assign SharinPix Image Public Ids as the label
- In the Select Variable Values section, enter ImageIdsList as the Variable, Add as the operator and for the value, choose Current Item from Loop and then Image Public Id (Example: {!Loop_through_each_SharinPix_Image.sharinpix__ImagePublicId__c} ).
Next add an Action element.
- On the Action modal, use the search bar to find the sharinpix__ShareAutomation Apex class.
- Click on sharinpix__ShareAutomation.
- On the Action modal for sharinpix__ShareAutomation, populate the fields as indicated below:
- Label: Generate an album public url with Specified Images
- Description: Enter a description (optional)
-
Record ID: {!recordId}
- Note: This is a mandatory field and refers to the current Account ID.
-
Custom Permission Id or Name: PermissionName (Create a SharinPix Permission with the permissions/abilities needed for the users using this public album)
- Note: This permission will be provided to the public album. If upload, edit or delete permissions are present, the viewers of the shared URL will be able to make changes to your images that will reflect on your Salesforce.
-
List of Image Ids: ImageIdsList (variable being populated with the SharinPix Image Ids)
- Note: If no value is provided here, all the images on the album will be available on the shared album.
Lastly, Add an Update Records element onto the canvas. For this element, enter the following details:
- Enter Update Account field with the URL Generated as the label
- In the Set Field Values for the Account Record section, enter Shared_Album_URL__c as the Field, and choose Text from Generate_an_album_public_url_with_Specified_Images (Example: {!Generate_an_album_public_url_with_Specified_Images}).
Demo
To test the Flow:
- Go on an Account record and upload some images to its corresponding SharinPix album with one or 2 images with the tag 'Broken'.
- Then, change the Status of the Account to 'Investigation In Progress'.
- On the Account record, the url generated through the flow should be available on the field 'Shared Album URL'.
- Open the URL on a browser as shown below, this URL can be shared to clients via email.
0 Comments
Add your comment