<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Salesforce Product Hunt]]></title><description><![CDATA[I create and share productivity apps for Salesforce]]></description><link>https://blog.sfdcproducthunt.com</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1646054838520/_tAiLv9F6.png</url><title>Salesforce Product Hunt</title><link>https://blog.sfdcproducthunt.com</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 15:29:07 GMT</lastBuildDate><atom:link href="https://blog.sfdcproducthunt.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Build a Low-Code SaaS product using Appwrite]]></title><description><![CDATA[Name
Magic Messenger
Team Members
Maninder Singh
Description of Project
Why I built this product?
Many people do not know to write code or lack the relevant skills to build a web application. I fall into the latter category. I have good experience wi...]]></description><link>https://blog.sfdcproducthunt.com/build-a-low-code-saas-product-using-appwrite</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/build-a-low-code-saas-product-using-appwrite</guid><category><![CDATA[Appwrite]]></category><category><![CDATA[Appwrite Hackathon]]></category><category><![CDATA[#appwrite #AppwriteHackathon]]></category><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Mon, 12 Jun 2023 11:08:50 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-name">Name</h1>
<p><strong>Magic Messenger</strong></p>
<h1 id="heading-team-members">Team Members</h1>
<p><a target="_blank" href="https://hashnode.com/@Maninders">Maninder Singh</a></p>
<h1 id="heading-description-of-project">Description of Project</h1>
<h2 id="heading-why-i-built-this-product">Why I built this product?</h2>
<p>Many people do not know to write code or lack the relevant skills to build a web application. I fall into the latter category. I have good experience with Salesforce and am also good at programming. But I lack the knowledge to build a web app.</p>
<p>I have great ideas to build apps which help developers and end users be more productive while using Salesforce. For those who are unaware, <a target="_blank" href="https://www.salesforce.com/au/products/what-is-salesforce/">Salesforce</a> is the world’s #1 customer relationship management (CRM) platform. I have read many articles on how to build a SaaS product which supports user logins and designing the web interface. All of the solutions fell into 2 categories:</p>
<ul>
<li><p><strong>Pro Code</strong>: Build the front end using UI frameworks connected to the backend database. Implement user authentication and control sessions using libraries or with custom code. Deploy the complete solution to a hosting provider and configure the app for public access</p>
</li>
<li><p><strong>No-code:</strong> Build the app using no-code platforms such as Bubble, Webflow and others. These platforms have feature limited free versions with expensive paid plans.</p>
</li>
</ul>
<h2 id="heading-the-solution-i-stumbled-upon">The solution I stumbled upon</h2>
<p>The #AppwriteHackathon from <a target="_blank" href="https://hashnode.com">Hashnode</a> introduced me to a solution I have been looking for.</p>
<p>For the user logins and data storage I finalised <a target="_blank" href="https://appwrite.io/">Appwrite</a>. It is a powerful backend-as-a-service platform that provides all the core APIs required to build any application. The features I am interested in are</p>
<ul>
<li><p>Is open source and free to self-host</p>
</li>
<li><p>Has detailed documentation</p>
</li>
<li><p>Supports OAuth integrations and other authentication methods</p>
</li>
<li><p>Provides REST API and GraphQL for easy integration with other no-code platforms</p>
</li>
<li><p>Media storage</p>
</li>
<li><p>Realtime API to capture changes to the resources as and when they occur</p>
</li>
<li><p>use a custom domain for free</p>
</li>
</ul>
<p>For the User Interface, I finalised <a target="_blank" href="https://www.appsmith.com/">Appsmith</a>. It is an open-source tool that helps the rapid creation of internal tools. You can drag and drop pre-built widgets to build UI on a grid-style canvas.</p>
<h2 id="heading-what-did-i-build">What did I build?</h2>
<p>To have a production ready SaaS app, I built magic messenger. It is a custom messaging app to send custom messages to your users or customers. This can be used by individuals for personal use or by organisations to message customers using predefined message templates. Currently, it supports Whatsapp messaging.</p>
<p><strong>Features</strong></p>
<ul>
<li><p>Dynamically generate custom messages from your data using this WhatsApp link builder, then send the message to a WhatsApp user.</p>
</li>
<li><p>Users can select a Contact from the table widget and auto-generate a new message to the user</p>
</li>
<li><p>Users can select between different message templates</p>
</li>
<li><p>Users can edit or add to the message before sending</p>
</li>
<li><p>Users can send a custom message without using the templates</p>
</li>
</ul>
<h1 id="heading-tech-stack">Tech stack</h1>
<p>I chose the tech stack to</p>
<ul>
<li><p>minimise coding</p>
</li>
<li><p>have version control</p>
</li>
<li><p>rapid production deployment for public access</p>
</li>
<li><p>be more productive</p>
</li>
</ul>
<p>The platforms used are</p>
<ul>
<li><p><strong>Appwrite</strong> - for user logins, database, user authentication and data security</p>
</li>
<li><p><strong>Appsmith</strong> - for user interface and client-side logic</p>
</li>
<li><p><a target="_blank" href="https://randomuser.me/"><strong>Random User</strong></a> - for generating useful mock data</p>
</li>
<li><p><strong>WhatsApp Web</strong> - for sending messages to WhatsApp users</p>
</li>
</ul>
<h1 id="heading-what-role-appwrite-has-in-the-app">What role Appwrite has in the app</h1>
<p>Appwrite is the central piece to the functioning of the app.</p>
<p><strong>Database service</strong> is used for creating and storing contact information such as name, phone, gender, email, address, date of birth. The messages are sent to these contacts. The document</p>
<p><strong>Account API service</strong> is used to create authenticated users for the app. Every user has to authenticate to use the app. We use <strong>magic URL</strong> authentication method. This is useful to build a no password login mechanism for the app.</p>
<p><strong>Custom Domains</strong> is used to setup custom domain to access Appwrite instance.</p>
<p><strong>Appwrite for Web</strong> is used to access <strong>REST API</strong> endpoints for connecting the frontend built with Appsmith to the backend built with Appwrite.</p>
<p><strong>Avatars API service</strong> to generate QR code from the WhatsApp link dynamically generated in the app. This can be scanned to open the WhatsApp message on mobile.</p>
<h1 id="heading-how-i-built-the-app">How I built the app</h1>
<p>I will share the high level design and user flow of the app. You can build your own no-code app using the same design.</p>
<h2 id="heading-tech-design">Tech design</h2>
<ul>
<li><p>Create Appwrite account &gt; setup new project &gt; setup new database &gt; setup new collection (similar to a table) - create documents (similar to records). Here each document is a contact record.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686497049370/2fa1318c-dc51-4197-ba74-a3ebfa044174.png" alt class="image--center mx-auto" /></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686497330433/b6552536-d887-46c6-aeb4-f426f12a6ef6.png" alt class="image--center mx-auto" /></p>
<p>  Set the permissions for the collection and documents to be <strong>All Users.</strong> This enabled only the authenticated users to have access to the data. I have not enabled Document Security which allows to set access permissions for every Contact record. I faced a challenge which we discuss later.</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686497229516/faabf16d-6971-4d15-9806-46d5d9da727d.png" alt class="image--center mx-auto" /></p>
<p>Setup custom domain to use your own domain as REST API endpoint. This is optional. You can use the default domain provided by Appwrite (<a target="_blank" href="https://cloud.appwrite.io/v1">https://cloud.appwrite.io/v1</a>) as well.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686497503906/6e66cac8-6101-4792-aab3-f56194dceadc.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>Create API key and enable only the required scopes. This API key will be used when calling the REST API endpoints.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686497746900/0f241e57-0e1d-4d10-8f4e-df050d94f14a.png" alt class="image--center mx-auto" /></p>
<p>  Next, create Appsmith account &gt; create a new workspace &gt; create a new project from a template or blank template.</p>
</li>
<li><p>Add REST API data source to list all documents (contacts) from appwrite. Check the Appwrite documentation for the endpoints and parameters. Use the custom domain as the host name and API key in the header.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686498398441/6a019638-486f-4ae6-8f5a-b21b1399c37a.png" alt class="image--center mx-auto" /></p>
<ul>
<li>Follow Appsmith documentation to create the UI and bind it to the Appwrite endpoints.</li>
</ul>
</li>
</ul>
<h2 id="heading-user-journey">User Journey</h2>
<ul>
<li>Watch the demo to understand the user journey of signing in without password and using the magic messenger app.</li>
</ul>
<h1 id="heading-challenges-we-faced">Challenges we faced</h1>
<blockquote>
<p>I believe that if you haven't faced any challenges, you haven't explored yet.</p>
<p>If you found a solution to all the challenges, you haven't taken the unexplored path.</p>
</blockquote>
<p><strong>Challenge 1</strong>: In search for a frontend platform which has built in Appwrite integration, I found <a target="_blank" href="https://www.tooljet.com/">Tooljet</a>. The integration does not work and probably it has a bug. I spent many hours figuring this out and have evidence to support this.</p>
<p><strong>Solution:</strong> Use the REST API or GraphQL integration to connect the frontend platform with Appwrite.</p>
<p><strong>Challenge 2</strong>: Tooljet does not have git version control. It does have version control on the platform though.</p>
<p><strong>Solution:</strong> I wanted to use git for version control. I found Appsmith which supports git version control out of the box.</p>
<p><strong>Challenge 3</strong>: Figuring out the REST API authentication was confusing. This was needed to connect Appwrite with Appsmith.</p>
<p><strong>Solution:</strong> The <a target="_blank" href="https://medium.com/appwrite-io/how-to-connect-with-the-appwrite-backend-server-directly-using-only-the-appwrite-http-api-1e720b567395">blog</a> written by the founder of Appwrite,<a target="_blank" href="https://twitter.com/eldadfux">Eldad A. Fux</a>, helped me in the right direction.</p>
<p><strong>Challenge 4</strong>: Appwrite has hard limits of <strong>10 requests</strong> in every <strong>60 minutes</strong> per <strong>user account</strong> for <a target="_blank" href="https://appwrite.io/docs/client/account">magic URL authentication</a>. It is necessary for the custom app to verify the user but also use this endpoint only when necessary. Just refreshing the app page would call the endpoint and consume the limits.</p>
<p><strong>Solution:</strong> The solution I implemented has 3 pages. The <strong>Login page</strong> creates a magic URL session when the user enters the email to sign up/ sign in. The <strong>Redirect page</strong> confirms the magic URL session to authenticate the user. The <strong>Home Page</strong> displays the app home page if the user authentication is successful else displays an error.</p>
<p><strong>Challenge 5:</strong> Creating mock/test data in Appwrite. Appwrite does not have a feature to bulk load data into a collection. There is an app built by a developer which does this, but it is not a web app. Also, I wanted to have meaningful contact details as test data.</p>
<p><strong>Solution:</strong> I found another amazing web app called <a target="_blank" href="https://randomuser.me/">https://randomuser.me/</a> which is an open source API for generating random user data. It was a perfect fit. I used Appwite REST API in Appsmith and loaded sample data from the random user API.</p>
<p><strong>Challenge 6:</strong> Have every user create and maintain their own contact list in the app. Appwrite provides Document Security and Permissions API to support this. But to execute REST APIs on the server side (Appsmith) a JWT has to be created from the client side. I encountered the below error while creating JWT.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686501104030/64273bec-5a9f-4380-8985-c3a0c58cf65f.png" alt class="image--center mx-auto" /></p>
<p><strong>Solution:</strong> I did not find a solution to this issue. I think I know why this does not work. Appsmith serves as a backend for the web app. The Appwrite APIs are called from here. The authenticated user session cookies in the browser are not sent by Appsmith from the browser to Appwrite endpoints. So, Appwrite gives an error for the guest user even though the user is authenticated.</p>
<p>There is no article I could find if someone has ever tried doing this using low-code platforms like Tooljet and Appsmith. I will reach out to Appwrite support and the creator in the hope of getting this sorted.</p>
<h1 id="heading-links">Links</h1>
<p><a target="_blank" href="https://app.appsmith.com/app/magic-messenger/loginpage-6483393eb9426707ed0e8c14?branch=main">Live App</a></p>
<p><a target="_blank" href="https://github.com/ManinderSfdc/magic-messenger">Code Repo</a></p>
<h1 id="heading-demo-link">Demo Link</h1>
<p><a target="_blank" href="https://youtu.be/IqzgacyYkiU">Watch the demo</a></p>
<p>#Appwrite #AppwriteHackathon</p>
]]></content:encoded></item><item><title><![CDATA[Product #24: Better Lists for Salesforce]]></title><description><![CDATA[Name: Better Lists for SalesforceUsage: Format list views and Related Lists  
#BrowserExtension #FreeApp  
Description:- Allows to set conditional formatting on Salesforce Lightning list views and Related Lists.- Right-click any list, define your con...]]></description><link>https://blog.sfdcproducthunt.com/product-24-better-lists-for-salesforce</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-24-better-lists-for-salesforce</guid><category><![CDATA[Salesforce]]></category><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 20 Jan 2022 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646052144234/unPG83uY-.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048860874/iPZg5M0yO.png" alt /></p>
<p><strong>Name</strong>: Better Lists for Salesforce<br /><strong>Usage</strong>: Format list views and Related Lists  </p>
<p>#BrowserExtension #FreeApp  </p>
<p><strong>Description</strong>:<br />- Allows to set conditional formatting on Salesforce Lightning list views and Related Lists.<br />- Right-click any list, define your condition and color. Once done it will color any cell/row with your formatting whenever you look at that list.<br />- Makes List views/Related Lists more intuitive without changing List view filters.<br />- The rules can be exported and imported for backup and restore.<br />- The URLs/pages can be allow listed using wildcards (?,*) to control where the highlights occur.<br />Example: Following URL will highlight cells/rows on Transactions related List of any Portfolio parent record in all salesforce orgs.<br /><code>*.lightning.force.com/lightning/r/Portfolio__c/*/related/Transactions__r/view*</code>  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Rules can work across Salesforce orgs and can also be specific to an org.<br />- The cells/rows are formatted as the list view loads new records (infinite scrolling) without page refresh.<br /><strong>Link</strong>: <a target="_blank" href="https://chrome.google.com/webstore/detail/better-lists-for-salesfor/iklomgkephjlfgbiaefiipepkchfimpo">Better Lists for Salesforce</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048863395/3vphTRyl5.png" alt /></p>
<p>Formatting Cells on Account List View</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048865927/-LDfZ4OO8.png" alt /></p>
<p>Formatting Cells/rows on Related List</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048868665/32Y7gi2a5.png" alt /></p>
<p>Formatting Flow list view</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048871374/r71kLonyJ.png" alt /></p>
<p>Setting to allow list specific URLs</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048873979/SYZ6COxZ8.png" alt /></p>
<p>List of all rules created in the app</p>
]]></content:encoded></item><item><title><![CDATA[Product #23: Easy Crud And Fls]]></title><description><![CDATA[Name: Easy Crud And FlsUsage: Bulk edit profile and permission set  
#SalesforceNative #FreeApp #OpenSource  
Description:- Is Salesforce native solution.- Allows bulk modification of Object CRUD Permissions to both profiles and permission setsfrom a...]]></description><link>https://blog.sfdcproducthunt.com/product-23-easy-crud-and-fls</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-23-easy-crud-and-fls</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 13 Jan 2022 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646052170580/-oUfxjXIo.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="images/www.sfdcproducthunt.com-34.png" alt /></p>
<p><strong>Name</strong>: Easy Crud And Fls<br /><strong>Usage</strong>: Bulk edit profile and permission set  </p>
<p>#SalesforceNative #FreeApp #OpenSource  </p>
<p><strong>Description</strong>:<br />- Is Salesforce native solution.<br />- Allows bulk modification of Object CRUD Permissions to both profiles and permission sets<br />from a single screen.<br />- Allows bulk modification of FLS permissions to both profiles and permissions from a single screen.<br />- Feature to export the permissions to CSV.<br />- Filter permission sets/profiles based on Object Access.<br />- Generates a bar chart based on Object Access for visually analysing the count of profiles and permissions sets having access to an object.  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Feature to review all modifications to FLS and Object access before applying them to the org.<br />- Keyword based search for easily finding a permission set/profile.<br /><strong>Repo</strong>: <a target="_blank" href="https://github.com/ravinarayanan89/EasyCrudAndFls">EasyCrudAndFls</a><br />Installation Link is in the Repo.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048832597/QpQ3-guJ9.png" alt /></p>
<p>Keyword based search</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048835015/hnW4KkZlN.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048837340/_yVerbM7E.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048839326/kiuYNTUNj.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048841533/FDdvxudfN.png" alt /></p>
]]></content:encoded></item><item><title><![CDATA[Product #22: Org Check]]></title><description><![CDATA[Name: Org CheckUsage: Analyze Salesforce org and its technical debt  
#SalesforceNative #SalesforceLabs #FreeApp #OpenSource  
Description:- The app assigns scores based on violation of the best practices.- Gives detailed info on custom, standard and...]]></description><link>https://blog.sfdcproducthunt.com/product-22-org-check</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-22-org-check</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 06 Jan 2022 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646052373535/eRBH3EwAF.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="images/0-org-check.png" alt /></p>
<p><strong>Name</strong>: Org Check<br /><strong>Usage</strong>: Analyze Salesforce org and its technical debt  </p>
<p>#SalesforceNative #SalesforceLabs #FreeApp #OpenSource  </p>
<p><strong>Description</strong>:<br />- The app assigns scores based on violation of the best practices.<br />- Gives detailed info on custom, standard and external objects, CMDT and custom settings from org or managed packages.<br />- Identify active users in a profiles and permission sets.<br />- Visualise Role hierarchy in a map with active and inactive users and other details.<br />- Provides last login, profile, permission sets and key user permissions for all users.<br />- Lists apex class details like sharing, related tests, count of methods, dependencies, etc.<br />- Covers useful details for triggers, public groups, queues, flows, batches and other metadata types.  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Animated Logo showing the progress of the analysis wins my heart.<br />- Complete analysis in each tab can be exported in CSV format for documentation.<br />- Caches the data in browser for faster loading and ability to refresh cache.<br /><strong>Repo</strong>: <a target="_blank" href="https://github.com/VinceFINET/OrgCheck">OrgCheck Repo</a><br /><strong>Installation</strong> <strong>Link</strong>: <a target="_blank" href="https://vincefinet.github.io/OrgCheck/installation/">Install</a></p>
<p><img src="images/2-org-check.png" alt /></p>
<p>Analysis of the role hierarchy</p>
<p><img src="images/3-org-check.png" alt /></p>
<p>The data cached by the app in browser for fast retrieval</p>
<p><img src="images/4-org-check.png" alt /></p>
<p>Analysis of the permission sets</p>
<p><img src="images/5-org-check.png" alt /></p>
<p>Analysis of Apex classes</p>
]]></content:encoded></item><item><title><![CDATA[Product #21: Lightning Flow Scanner]]></title><description><![CDATA[**Name**: Lightning Flow Scanner   **Usage**: Static code Analyser for Salesforce Flows   SFDXPlugin #VSCodeExtension #FreeApp #OpenSource**Description**:   - The app is available as SFDX Plugin and VS Code Extension.   - It scans Saleforce flows aga...]]></description><link>https://blog.sfdcproducthunt.com/product-21-lightning-flow-scanner</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-21-lightning-flow-scanner</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 30 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048995616/s33m3ewD6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048995616/s33m3ewD6.png" alt /></p>
<p><code>**Name**: Lightning Flow Scanner   **Usage**: Static code Analyser for Salesforce Flows   SFDXPlugin #VSCodeExtension #FreeApp #OpenSource</code><br /><code>**Description**:   - The app is available as SFDX Plugin and VS Code Extension.   - It scans Saleforce flows against specific rules to validate best practices.   - Rules used for code analysis are:   - DML statements in a loop   - Duplicate DML operations   - Hardcoded Ids   - Missing flow description   - Missing error handlers   - Missing null handlers   - Unconnected elements(fixable)   - Unused variables(fixable)   - Fixes issues (fixable in rule list) automatically.      **Favourite** **Feature**:   - Can be used in CI/CD processes using SFDX plugin to analyse flows just like apex classes before deployment.   - Rules can be ignored or overwritten using .flowscanignore config file.      **SFDX Plugin Repo**: `[lightning-flow-scanner-sfdx](https://github.com/Force-Config-Control/lightning-flow-scanner-sfdx)` ````    **VSCode Extension Repo**: `[lightning-flow-scanner-vsce](https://github.com/Force-Config-Control/lightning-flow-scanner-vsce)`   **VSCode Extension**: `[Lightning Flow Scanner](https://marketplace.visualstudio.com/items?itemName=ForceConfigControl.lightningflowscanner&amp;s=08)`   **Rule Engine Used for both apps**: `[lightning-flow-scanner-core](https://github.com/Force-Config-Control/lightning-flow-scanner-core)` </code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048998370/qN1NvGMYv.png" alt /></p>
<p>Sample Salesforce Flow analysed by Lightning Flow Scanner app</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049001083/uxy3iT0dDm.png" alt /></p>
<p>Issues found by the app</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049003681/fA1mhcg0w.png" alt /></p>
<p>Issues found by the app</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049005956/ABa0L4C1R.png" alt /></p>
<p>Example of the hardcoded Ids used in the flow</p>
]]></content:encoded></item><item><title><![CDATA[Product #20: SPFYUserlyzer]]></title><description><![CDATA[Name: SPFYUserlyzerUsage: Export Data Storage in Salesforce  
#Scripts #FreeApp #OpenSource #Python  
Description:- The python script screen scrapes the data storage by record, by user (based on SOQL) in  Salesforce org and export the results to an E...]]></description><link>https://blog.sfdcproducthunt.com/product-20-spfyuserlyzer</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-20-spfyuserlyzer</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 23 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049024006/9k2YO8vT6G.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049024006/9k2YO8vT6G.png" alt /></p>
<p><strong>Name</strong>: SPFYUserlyzer<br /><strong>Usage</strong>: Export Data Storage in Salesforce  </p>
<p>#Scripts #FreeApp #OpenSource #Python  </p>
<p><strong>Description</strong>:<br />- The python script screen scrapes the data storage by record, by user (based on SOQL) in  Salesforce org and export the results to an Excel spreadsheet.<br />- Works only in Salesforce classic but can be extended for lightning as well.<br />- The script scrapes the data from the URL https:///setup/user/userstorageusage.jsp?id=005r0000005BrMAAU, where 005r0000005BrMAAU is the    user Id.<br />- Uses simple-salesforce, selenium and chromedriver libraries for automation.  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Provides flexibility to configure the SOQL based on which the export is generated.  </p>
<p><strong>Repo</strong>: <a target="_blank" href="https://github.com/ekenigsberg/SPFYUserlyzer">SPFYUserlyzer</a><br /><a target="_blank" href="https://github.com/ManinderSfdc/SPFYUserlyzer">Modified version</a> of the original app with instructions. Created by me :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049026542/AbPuR7Fs4.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049029199/tgkR3gri9.png" alt /></p>
]]></content:encoded></item><item><title><![CDATA[Product #19: Salesforce Sandbox Version]]></title><description><![CDATA[Name: Salesforce Sandbox VersionUsage: Find Release version of Salesforce sandbox org  
#BrowserExtension #FreeApp #OpenSource  
Description:- Works on Salesforce Setup > Environments > Sandboxes page.- Loads an icon and alt text next to the instance...]]></description><link>https://blog.sfdcproducthunt.com/product-19-salesforce-sandbox-version</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-19-salesforce-sandbox-version</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 16 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048965632/JBX7tB9dO.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048965632/JBX7tB9dO.png" alt /></p>
<p><strong>Name</strong>: Salesforce Sandbox Version<br /><strong>Usage</strong>: Find Release version of Salesforce sandbox org  </p>
<p>#BrowserExtension #FreeApp #OpenSource  </p>
<p><strong>Description</strong>:<br />- Works on Salesforce Setup &gt; Environments &gt; Sandboxes page.<br />- Loads an icon and alt text next to the instance name in Location column. Hovering the cursor over the icon shows the salesforce release version of that specific sandbox instance.  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Gets the latest release version from https://api.status.salesforce.com, which is the official and trusted source.<br />- Different icons for Winter, Summer and Spring Release makes identification easier.  </p>
<p><strong>Chrome Link</strong>: <a target="_blank" href="https://chrome.google.com/webstore/detail/salesforce-sandbox-versio/lggmdcnfdkoogifabfihligfjinpaiom">Salesforce Sandbox Version</a><br /><strong>Firefox</strong> <strong>Link</strong>: <a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/sandbox-version/">Salesforce Sandbox Version</a><br /><strong>Repo</strong>: <a target="_blank" href="https://github.com/pcon/sfdc-sandboxVersion">Github Repo</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048968541/fS51cNUa_.png" alt /></p>
<p>The default view of the sandbox List in Production Org</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048971237/3shgk5wSj.png" alt /></p>
<p>After installing the app and hovering over the new icon added in the Location column shows the Salesforce version</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048978558/8MGOvLBOM.png" alt /></p>
<p>Salesforce Version as seen on status.salesforce.com</p>
]]></content:encoded></item><item><title><![CDATA[Product #18: sfdx-profiles-splitter]]></title><description><![CDATA[Name: sfdx-profiles-splitterUsage: Working with profile metadata file  
#SFDXPlugin #FreeApp #OpenSource  
Description:- Converts profile metadata source from XML to JSON and vice-versa.- Converts profile metadata source xml file to a format similar ...]]></description><link>https://blog.sfdcproducthunt.com/product-18-sfdx-profiles-splitter</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-18-sfdx-profiles-splitter</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 09 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048928925/hx0nSOWfI.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048928925/hx0nSOWfI.png" alt /></p>
<p><strong>Name</strong>: sfdx-profiles-splitter<br /><strong>Usage</strong>: Working with profile metadata file  </p>
<p>#SFDXPlugin #FreeApp #OpenSource  </p>
<p><strong>Description</strong>:<br />- Converts profile metadata source from XML to JSON and vice-versa.<br />- Converts profile metadata source xml file to a format similar to source format of salesforce objects in intuitive subdirectories of fieldPermissions, pageAccesses, classAccesses and so on.<br />- Profiles in source format are more readable and easier to manage with a version control system.<br />- Converts profile source format back to the metadata source format.  </p>
<p><strong>Favourite</strong> <strong>Feature</strong>:<br />- Can process multiple profiles in a directory at a time.<br />- Can be used in CI process to save the profiles in version control using source format and revert back to metadata source format before deploying to SF org.  </p>
<p><strong>Link</strong>: https://github.com/lodossDev/sfdx-profiles-splitter<br /><strong>Repo</strong>: https://github.com/lodossDev/sfdx-profiles-splitter</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048931666/-Eu0uOQqD.png" alt /></p>
<p>Admin Profile segregated into subfolders based on permission type</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048933925/JBSq4xDj4.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048936918/dHo-pZOBY.png" alt /></p>
<p>Sample Object permission in the ObjectPermissions Folder</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048940001/sQ4ujzvFC.png" alt /></p>
<p>Sample ApplicationVisibility settings</p>
]]></content:encoded></item><item><title><![CDATA[Product #17: Salesforce Debug Logs & Schema Explorer]]></title><description><![CDATA[**Name**: Salesforce Debug Logs & Schema Explorer   **Usage**: Salesforce debug logs, SOQL explorer and other admin activites#BrowserExtension #FreeApp      **Description**:   - Build SOQL queries where metadata can be searched using API names or lab...]]></description><link>https://blog.sfdcproducthunt.com/product-17-salesforce-debug-logs-and-schema-explorer</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-17-salesforce-debug-logs-and-schema-explorer</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 02 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048816890/DxRvg_nK1.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048816890/DxRvg_nK1.png" alt /></p>
<p><code>**Name**: Salesforce Debug Logs &amp; Schema Explorer   **Usage**: Salesforce debug logs, SOQL explorer and other admin activites</code><br /><code>#BrowserExtension #FreeApp      **Description**:   - Build SOQL queries where metadata can be searched using API names or labels. The records can   also be edited from the queried result.- Set logging level or trace flags for users/class/trigger with search option.   - Analyse debug logs for multiple Salesforce users in tabular format.   - Bulk enable/disable workflow rules and validation rules.   - Compare profiles and permission sets.- CSV export for various System events in Salesforce (EventLogFile), like Login, Logout, REST   Callouts, etc.   - Has many more features and the app is actively maintained.      **Favourite** **Feature**:   - The expired debug trace flag records are striked out for eas</code>y<br /><code>identification. Also, with a   single click you can re-enable the trace</code> <code>flag.   - Intuitive UI to explore objects and lookup fields with the field type shown as icons.   **Link**: [Salesforce Debug Logs &amp; Schema Explorer](https://chrome.google.com/webstore/detail/salesforce-debug-logs-sch/fiaakhiohminpblhmlihfcdhclmphjcd)</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048819517/oiwKhVUle.png" alt /></p>
<p>The Schema explorer shows the field types with icons and displays fields from parent objects as well to create SOQL queries</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048822068/BtHsXO77y.png" alt /></p>
<p>The expired trace flags are striked out and the refresh icon in the Action column can be used to re enable it.</p>
]]></content:encoded></item><item><title><![CDATA[Product #16: MultiLogin]]></title><description><![CDATA[**Name**: MultiLogin   **Usage**: Login with different users in same Salesforce org.   #BrowserExtension #FreeApp**Description:   **- Makes it easy to use multiple accounts on the same site at the same time.   - Clicking on the plugin icon creates an...]]></description><link>https://blog.sfdcproducthunt.com/product-16-multilogin</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-16-multilogin</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 18 Nov 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048801901/UG6Tj_68w.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048801901/UG6Tj_68w.png" alt /></p>
<p><code>**Name**: MultiLogin   **Usage**: Login with different users in same Salesforce org.   #BrowserExtension #FreeApp</code><br /><code>**Description:   **- Makes it easy to use multiple accounts on the same site at the same time.   - Clicking on the plugin icon creates an independent tab in the same browser window.   - Works with Salesforce, workbench and other sites.      **Favourite** **Feature**:   - Login with different users, for testing and analysis, in salesforce and workbench in same org and browser window with a click of a button. No more working with multiple browsers, incognito windows and browser profiles.   - No limit on count of different sessions on same website.   **Link**: [MultiLogin](https://chrome.google.com/webstore/detail/multilogin/ijfgglilaeakmoilplpcjcgjaoleopfi)</code></p>
]]></content:encoded></item><item><title><![CDATA[Product #15: Power Header]]></title><description><![CDATA[**Name**: Power Header   **Usage**: Creates file header text for any programming language   VSCodeExtension #FreeApp #OpenSource      **Description**:   - Automatically inserts and updates file header text.   - Supports all languages so it works for ...]]></description><link>https://blog.sfdcproducthunt.com/product-15-power-header</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-15-power-header</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Sat, 06 Nov 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049036365/h__IEayh5.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049036365/h__IEayh5.png" alt /></p>
<p><code>**Name**: Power Header   **Usage**: Creates file header text for any programming language   VSCodeExtension #FreeApp #OpenSource      **Description**:   - Automatically inserts and updates file header text.   - Supports all languages so it works for .cls, .cmp, .trigger, .html, .js,</code> <code>.css and other code files relevant for salesforce platform.   - Supports all vscode snippet variables in the header.   - Allows JavaScript regular expression replace for complex text updates.      **Favourite** **Features**:   - Customize file header to very granular detail. Other popular tools use a</code><br /><code>specific format.   - Can be used to generate file headers compatible with Apex documentation</code><br /><code>tools like Apexdocs, or custom built documentation solutions.      **Link**: [Power Header](https://marketplace.visualstudio.com/items?itemName=epivision.vscode-file-header)   **Repo**: [Github Repo](https://github.com/55f/vscode-file-header)</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049038899/3watyM8Sh.png" alt /></p>
<p>Example of the File Header which can be created for use with Apex Docs.</p>
]]></content:encoded></item><item><title><![CDATA[Product #14: Easymeta for Salesforce]]></title><description><![CDATA[**Name**: Easymeta for Salesforce   **Usage**: Salesforce deployments, metadata search and other features   #BrowserExtension #FreeApp**Description**:   - Manage multiple salesforce Logins in one place.   - Search salesforce metadata on any salesforc...]]></description><link>https://blog.sfdcproducthunt.com/product-14-easymeta-for-salesforce</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-14-easymeta-for-salesforce</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Wed, 27 Oct 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048897559/Odsw4iNSd.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048897559/Odsw4iNSd.png" alt /></p>
<p><code>**Name**: Easymeta for Salesforce   **Usage**: Salesforce deployments, metadata search and other features   #BrowserExtension #FreeApp</code><br /><code>**Description**:   - Manage multiple salesforce Logins in one place.   - Search salesforce metadata on any salesforce page.   - Set unique colored favicon for each org to easily distinguish them.   - Edit, validate, deploy, delete and compare metadata between different</code><br /><code>orgs with few clicks.   - Check and compare any Flow Version status (Active, Obsolte, Draft) from</code><br /><code>any authenticated org without logging in.   - Show field API names on standard layouts.      **Favourite** **Features**:   - Search all supported metadata simultaneously with and without filtering</code><br /><code>on metadata type. This is useful if you just know the metadata name and</code><br /><code>not the metadata type.   - Opens Object List View including CMDT object, irrespective of it is</code><br /><code>associated to a custom tab.   **Link**: [Easymeta for Salesforce](https://chrome.google.com/webstore/detail/easymeta-for-salesforce/effgbolecegljiieljjfnfgelnnepcff)</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048900227/bCgoF2-x8.png" alt /></p>
<p>Searching for "document" displays matching results from various metadata types</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048902751/OoIFUr7hH.png" alt /></p>
<p>Displays all Flows versions and their status for the selected Salesforce Org</p>
]]></content:encoded></item><item><title><![CDATA[Product #13: sfdx-flowdoc-plugin]]></title><description><![CDATA[**Name**: sfdx-flowdoc-plugin   **Usage**: Document Salesforce Flows   WebApp #SFDXPlugin #FreeApp #OpenSource**Description**:   - Generates design document from Lightning Flow metadata.   - Supported Flows: Trigger based Process, Platform Event base...]]></description><link>https://blog.sfdcproducthunt.com/product-13-sfdx-flowdoc-plugin</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-13-sfdx-flowdoc-plugin</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 14 Oct 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048985578/vQ-Re5gcf.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048985578/vQ-Re5gcf.png" alt /></p>
<p><code>**Name**: sfdx-flowdoc-plugin   **Usage**: Document Salesforce Flows   WebApp #SFDXPlugin #FreeApp #OpenSource</code><br /><code>**Description**:   - Generates design document from Lightning Flow metadata.   - Supported Flows: Trigger based Process, Platform Event based Process and</code><br /><code>Invocable Proces.   - Supported Actions: Chatter Post, Quick Action, Apex (Invocable Action),</code><br /><code>Sub flow/process, Record Create, Record Update and Approval Process.   - Output Format: Word (.docx), PDF and JSON.   - Currently only supports Process Builder.      **Favourite** **Feature**:   - Only free tool which provides this capability to document process</code><br /><code>builders and flows (if extended).   - Available as both web app and SFDX Plugin.      **Link**: [`Flowdo`c Web App](https://flowdoc.herokuapp.com/)   **Repo**: [Github Repo](https://github.com/shunkosa/sfdx-flowdoc-plugin)</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048987961/_JQvVG73W.png" alt /></p>
<p>Sample document of a converted Process Builder</p>
]]></content:encoded></item><item><title><![CDATA[Product #12: Happysoup.io]]></title><description><![CDATA[**Name**: Happysoup.io   **Usage**: Salesforce Impact and dependency analysis   #WebTool #FreeTool #OpenSource**Description**:   - Bulk Impact Analysis (Where is this used) for custom fields, emailtemplates, apex classes, custom labels and many more....]]></description><link>https://blog.sfdcproducthunt.com/product-12-happysoupio</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-12-happysoupio</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Fri, 08 Oct 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048909434/GtiN3plkP.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048909434/GtiN3plkP.png" alt /></p>
<p><code>**Name**: Happysoup.io   **Usage**: Salesforce Impact and dependency analysis   #WebTool #FreeTool #OpenSource</code><br /><code>**Description**:   - Bulk Impact Analysis (Where is this used) for custom fields, email</code><br /><code>templates, apex classes, custom labels and many more.   - Create Deployment Boundaries.   - Bypass all the limitations of the MetadataComponentDependency API.   - Available as a web app, local app or Docker app.   - Create Page Layout dictionary.   - Field Utilization Report.   - Export the dependencies to excel, csv files or package.xml for comparison and reporting.      **Favourite** **Feature**:   - The intuitive UI makes it a breeze to use.   - The scope of metadata dependencies it supports makes it the go to app.      **Link**: [https://happysoup.io](https://happysoup.io)   **Repo**: [sfdc-happy-soup](https://github.com/pgonzaleznetwork/sfdc-happy-soup)</code>  </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048912022/iZC2s4PdX.png" alt /></p>
<p>Example of Field impact Analysis</p>
]]></content:encoded></item><item><title><![CDATA[Product #11: Salesforce Package.xml Generator]]></title><description><![CDATA[**Name**: Salesforce Package.xml Generator   **Usage**: Create Salesforce Package.xml for metadata retrieval/deployment   VSCodeExtension #FreeTool #OpenSource**Description**:   - Provides a User Interface to choose metadata components to create Sale...]]></description><link>https://blog.sfdcproducthunt.com/product-11-salesforce-packagexml-generator</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-11-salesforce-packagexml-generator</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 30 Sep 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048791783/8lhnJKe1a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048791783/8lhnJKe1a.png" alt /></p>
<p><code>**Name**: Salesforce Package.xml Generator   **Usage**: Create Salesforce Package.xml for metadata retrieval/deployment   VSCodeExtension #FreeTool #OpenSource</code><br /><code>**Description**:   - Provides a User Interface to choose metadata components to create Salesforce Package.xml file.   - The generated Package.xml is used to retrieve or deploy components to salesforce org.   **Favourite** **Feature**:   - Ease of searching the metadata.   - Option to update the existing package.xml file in the project.</code><br /><code>**Link**:</code> <a target="_blank" href="https://marketplace.visualstudio.com/items?itemName=VignaeshRamA.sfdx-package-xml-generator"><code>Salesforce Package.xml Generator</code></a><code>**Repo**: [Github Repo](https://github.com/vignaesh01/sfdx-package-generator)</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048794592/IapQ-ZEyr.png" alt /></p>
]]></content:encoded></item><item><title><![CDATA[Product #10: Workbench Enhancer]]></title><description><![CDATA[Sample screenshot of the extension with the save queries
**Name**: Workbench Enhancer   **Usage**: Enhance Salesforce Workbench Experience   BrowserExtension #FreeTool #OpenSource      **Description**:   - Saves the SOQL, SOSL queries and anonymous e...]]></description><link>https://blog.sfdcproducthunt.com/product-10-workbench-enhancer</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-10-workbench-enhancer</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 16 Sep 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048947864/uV7-Cmfmr.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048947864/uV7-Cmfmr.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048950207/kxhMIZv1v.png" alt /></p>
<p>Sample screenshot of the extension with the save queries</p>
<p><code>**Name**: Workbench Enhancer   **Usage**: Enhance Salesforce Workbench Experience   BrowserExtension #FreeTool #OpenSource      **Description**:   - Saves the SOQL, SOSL queries and anonymous executed code for future use   - Reuse previous queries on a single click   - Search through the previously executed queries      **Favourite** **Feature**:   - Auto save of executed queries in workbench.   - Easily search the queries and anon scripts to rerun.      **Link**: [Workbench Enhancer](https://chrome.google.com/webstore/detail/workbench-enhancer-beta/aeildolmfjhmlbbambcaobkjkhppphod)   **Repo**: [Github Repo](https://github.com/akhileshbhatia/workbench-enhancer)</code></p>
]]></content:encoded></item><item><title><![CDATA[Product #9: Texei Sfdx Plugin]]></title><description><![CDATA[**Name**: Texei Sfdx Plugin   **Usage**: Perform various Salesforce related tasks using CLI**Description**:   - The Plugin has commands toExtract Org Shape for an org   - Install dependent Packages for a sfdx project   - Clean Profile by removing per...]]></description><link>https://blog.sfdcproducthunt.com/product-9-texei-sfdx-plugin</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-9-texei-sfdx-plugin</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Thu, 09 Sep 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048919673/Nu5MSJF_L.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048919673/Nu5MSJF_L.png" alt /></p>
<p><code>**Name**: Texei Sfdx Plugin   **Usage**: Perform various Salesforce related tasks using CLI</code><br /><code>**Description**:   - The Plugin has commands toExtract Org Shape for an org   - Install dependent Packages for a sfdx project   - Clean Profile by removing permissions stored on Permission Set   - Recalculate, suspend and resume sharing rules   - Export a skinny profile with just package-specific metadata   and many more      **Favourite Feature**:   - Automate data seeding and data migration between salesforce orgs using Data Plan.   **Repo**:</code> <a target="_blank" href="https://github.com/texei/texei-sfdx-plugin"><code>`Texei Sfdx Plugin` </code></a></p>
]]></content:encoded></item><item><title><![CDATA[Product #8: Apex PMD]]></title><description><![CDATA[**Name**: Apex PMD   **Usage**: Static Code Analysis   VSCodeExtension #FreeTool #OpenSource**Description**:- Runs Static Code Analysis directly in vscode while you write code.   - Powered by open source PMD analyzer with Apex ruleset for linting.   ...]]></description><link>https://blog.sfdcproducthunt.com/product-8-apex-pmd</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-8-apex-pmd</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Fri, 03 Sep 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048881384/4nUyOlbTPc.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048881384/4nUyOlbTPc.png" alt /></p>
<p><code>**Name**: Apex PMD   **Usage**: Static Code Analysis   VSCodeExtension #FreeTool #OpenSource</code><br /><code>**Description**:</code><br /><code>- Runs Static Code Analysis directly in vscode while you write code.   - Powered by open source PMD analyzer with Apex ruleset for linting.   - Preferred by Salesforce developers for linting Apex and VF pages.</code>  </p>
<p><code>**Favourite Feature**:</code><br />- <code>Easy to setup and flexible to configure.   - Super charges the PMD analyzer with linting capabilities.   **Link**: [Apex PMD](https://marketplace.visualstudio.com/items?itemName=chuckjonas.apex-pmd)   **Repo**: [Github](https://github.com/ChuckJonas/vscode-apex-pmd)</code></p>
]]></content:encoded></item><item><title><![CDATA[Product #7: Profile Power Tools]]></title><description><![CDATA[**Name**: Profile Power Tools   **Usage**: Modify Salesforce Profiles**Description**:   - Allow Salesforce Administrators and Salesforce Developers to update FLS and Apex permissions of Salesforce profiles in bulk.      **Favourite Feature**:   - Can...]]></description><link>https://blog.sfdcproducthunt.com/product-7-profile-power-tools</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-7-profile-power-tools</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Fri, 27 Aug 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049014794/aypgCE4pCs.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646049014794/aypgCE4pCs.png" alt /></p>
<p><code>**Name**: Profile Power Tools   **Usage**: Modify Salesforce Profiles</code><br /><code>**Description**:   - Allow Salesforce Administrators and Salesforce Developers to update FLS and Apex permissions of Salesforce profiles in bulk.      **Favourite Feature**:   - Can be used to audit which profiles have Read/Edit access to a field or access to an Apex class in a searchable view.   **Link**: https://profilepowertools.com</code></p>
]]></content:encoded></item><item><title><![CDATA[Product #6: QuickChart.io]]></title><description><![CDATA[**Name**: QuickChart.io   **Usage**: Generate chart images for email, reports, and anywhere else      **Description**:    - QuickChart is an open API for generating chart images, PDFs, and QR codes.   - These charts and QR codes are simple images, wh...]]></description><link>https://blog.sfdcproducthunt.com/product-6-quickchartio</link><guid isPermaLink="true">https://blog.sfdcproducthunt.com/product-6-quickchartio</guid><dc:creator><![CDATA[Maninder Singh]]></dc:creator><pubDate>Wed, 25 Aug 2021 00:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048848372/DCJz_e40w.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048848372/DCJz_e40w.png" alt /></p>
<p><code>**Name**: QuickChart.io   **Usage**: Generate chart images for email, reports, and anywhere else      **Description**:    - QuickChart is an open API for generating chart images, PDFs, and QR codes.   - These charts and QR codes are simple images, which can be easily embedded in non-dynamic environments such as email, SMS, chat rooms, and so on.   - Use Salesforce formula fields to embed charts and QR codes in record detail page, reports   and emails.      **Favourite Feature**:    - No code solution to generate dynamic charts and QR code in Salesforce.    - You can use text fields (which contains the chart data or QR code string) in the formula field to generate dynamic charts and QR code in run time.   **Link**: https://quickchart.io   Repo: https://github.com/typpo/quickchart</code></p>
<p><code>**Example**:</code><br /><code>Create a Salesforce text formula field with this value to generate a chart.</code></p>
<pre><code><span class="hljs-attribute">IMAGE</span>('https://quickchart.io/chart?c={type:<span class="hljs-string">"bar"</span>,data:{labels:[<span class="hljs-string">"Q1"</span>,<span class="hljs-string">"Q2"</span>,<span class="hljs-string">"Q3"</span>,<span class="hljs-string">"Q4"</span>], datasets:[{label:<span class="hljs-string">"Users"</span>,data:[<span class="hljs-number">50</span>,<span class="hljs-number">60</span>,<span class="hljs-number">70</span>,<span class="hljs-number">180</span>]},{label:<span class="hljs-string">"Revenue"</span>,data:[<span class="hljs-number">100</span>,<span class="hljs-number">200</span>,<span class="hljs-number">300</span>,<span class="hljs-number">400</span>]}]}}', 'revenue')
</code></pre><p><code>Create a Salesforce text formula field with this value to generate</code> <code>QRCode:</code></p>
<pre><code><span class="hljs-selector-tag">IMAGE</span>(<span class="hljs-string">'https://quickchart.io/qr?text=www.sfdcproducthunt.com'</span>,<span class="hljs-string">'www.sfdcproducthunt.com'</span>)
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048851005/YHewhxwVO.png" alt /></p>
<p>Chart and QR Code in Record Detail Page</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1646048853033/mMRZEnxZ2.png" alt /></p>
<p>Chart in Salesforce Report</p>
]]></content:encoded></item></channel></rss>