When Salesforce is life!

Tag: Salesforce Page 3 of 24

Working with SSO in Salesforce

This contributed articole if written by Gilad David Maayan is a technology writer who has worked with over 150 technology companies including SAP, Imperva, Samsung NEXT, NetApp and Check Point, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership. Today he heads Agile SEO, the leading marketing agency in the technology industry.


What Is Single Sign-On (SSO) and Why Is It Important? 

Single Sign-On (SSO) is a user authentication process that allows a user to access multiple applications or systems with one set of credentials. This means that after logging in once, the user can access all associated systems without needing to log in again for each one. SSO is crucial for enhancing user experience by reducing password fatigue—the need to remember and enter different passwords for various services. Additionally, it improves security by minimizing the chances of password theft, as users are less likely to reuse or write down passwords.

From an administrative perspective, SSO authentication simplifies management of user accounts and permissions. It allows IT departments to manage access to all services through a single interface, making it easier to revoke access when an employee leaves the company or changes roles. Furthermore, SSO can help organizations meet compliance requirements by providing centralized audit trails of user access and activities across multiple systems. Implementing SSO can lead to increased productivity, as users spend less time logging in and more time focusing on their work tasks.

Options for SSO in Salesforce 

There are three main options for setting up SSO in Salesforce:

1. Salesforce as the Service Provider or Relying Party

In this setup, Salesforce acts as the service provider, meaning that it relies on an external identity provider (IdP) to authenticate users. For instance, if your organization uses Google Workspace, you could set up Google as the IdP, and Salesforce would trust the authentication from Google. This means that users can sign in to Google and then access Salesforce without having to log in again.

2. Salesforce as the Identity Provider or OpenID Connect Provider

Conversely, Salesforce can also act as the IdP itself. In this scenario, Salesforce authenticates the user and provides identity services to other applications. This means that a user could log in to Salesforce and then access other applications (that trust Salesforce as the IdP) without having to log in again. It’s a powerful feature that can make Salesforce the hub of your organization’s digital workspace.

3. Salesforce as Both Service and Identity Provider

In some cases, Salesforce can take on both roles – acting as both the service provider and the IdP. This is particularly useful in scenarios where an organization uses multiple Salesforce instances. One instance can act as the IdP, and the others as service providers, creating a seamless user experience across all instances.

4. Salesforce and Delegated Authentication

Finally, Salesforce also supports delegated authentication, where Salesforce can delegate the authentication process to your organization’s authentication system. This means that Salesforce calls a web service hosted by your organization each time a user tries to log in, and the web service determines whether the user is allowed access.

Example: Configure SSO from Salesforce to Amazon Web Services 

Here is an example of how to set up single sign-on across Salesforce and AWS.

Get a SAML IdP Certificate

The first step in this process is to get a SAML Identity Provider (IdP) certificate. The SAML IdP certificate is used to establish trust between Salesforce and AWS. It’s similar to an SSL certificate, proving the identity of the server and encrypting communication between the server and the client.

You can generate a self-signed SAML IdP certificate or receive one from a certificate authority. The certificate should be saved on a local machine.

Download the Metadata Document

The metadata document is an XML file that contains the information AWS needs to trust Salesforce as an IdP. It includes details such as the Entity ID, which is a unique identifier for the IdP, and the location of the SSO service.

To download the metadata document, navigate to the Identity Provider setup page in Salesforce and click on the Download Metadata button. This will generate an XML file that you need to save on your local machine. You will upload this file to AWS in the next step.

Create a SAML Provider on AWS

Now, in AWS Console, you need to create a new SAML provider and upload the Metadata Document you downloaded from Salesforce.

In the AWS Management Console, navigate to the IAM dashboard and click on Identity Providers. Follow the instructions for creating a SAML provider. These include uploading the metadata document, creating roles with user policies, including a role for identity provider access, and granting WebSSO access to the SAML provider. 

AWS will generate an ARN (Amazon resource number). Save this ARN for future reference.

Create and Configure a Connected Application on Salesforce

A connected app is a framework that allows external applications to integrate with Salesforce using APIs and standard protocols.

If using Salesforce Classic, go to Setup and search for the Apps page, then click on New under Connected Apps

If using Salesforce Lightning Experience, navigate to the App Manager and click on New Connected App. Here, you need to provide the necessary details for your app. Make sure to enable SAML in the Web App Settings and configure it using the details from the AWS SAML provider you created earlier.

On successful configuration, Salesforce will provide an SSO URL that you can use to log in to AWS through Salesforce.

Conclusion

In conclusion, Salesforce Single Sign-On (SSO) offers a robust and flexible solution for managing user access across a wide range of applications and services. By allowing users to authenticate once and gain access to multiple systems, Salesforce SSO enhances both user experience and security. Organizations can leverage Salesforce as a Service Provider, an Identity Provider, or even both, depending on their specific needs. Additionally, the option for delegated authentication further extends the versatility of Salesforce SSO, enabling seamless integration with external authentication systems.

Through the example of configuring SSO from Salesforce to AWS, we’ve seen the practical steps involved in establishing a trust relationship between Salesforce and external services. Consult Salesforce’s documentation to learn how to integrate Salesforce SSO with a wide range of services beyond AWS, to use Salesforce as a centralized hub for digital identity management.

🇮🇹 Salesforce Sidekicks EPISODE 6: A caccia di talenti con Alan Ferrari

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

Colloqui di lavoro: i segreti per affrontarli alla grande 💪

Nel nuovo episodio del podcast Salesforce Sidekicks, io ed Enrico intervistiamo ⁠Alan Ferrari⁠, international Partner in ⁠HyperSet⁠ (⁠Aegis⁠ Group), per svelarti tutti i trucchi per dei colloqui di successo!

Parliamo di stipendi, lavoro remoto, intelligenza artificiale, certificazioni, soft skills e molto altro! Ti sveliamo cosa conta davvero per recruiters e aziende.

Scopri come evitare il ghosting, valorizzare il lavoro di squadra e distinguerti come candidato ideale.

Infine, uno sguardo alla situazione dei Salesforce Experts in Italia e al contributo delle quote rosa in questo settore.

Risposte e consigli concreti in un episodio da non perdere!

Ascolta su Spotify e condividi con chi sta affrontando colloqui di lavoro. Ci vediamo al prossimo episodio!

Salesforce Sidekicks EPISODE 6: A caccia di talenti con Alan Ferrari

Volete aiutarci a riattivare la Ohana Community d’Italia? Entrate nel workspace Slack e facciamo community!

Links alle risorse;

🇮🇹 Salesforce Sidekicks EPISODE 5: Dare vita alla propria idea – L’esempio di ORGanizer (parte 2)

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

Continua il racconto sul quando, come e perchè Enrico ha partorito l’idea dell’ORGanizer 🤓 (se non l’hai ancora fatto, ascolta l’episodio precedente 🔙).

In questo parte tratteremo anche il tema del fallimento 😒 (citando il lavoro di Francesca Corrado) e su come esso sia, a differenza di come si possa pensare e solo se sfruttato nel modo corretto, una fonte importante di stimoli per migliorarsi e andare avanti 🏃‍♂️.

Buon ascolto 👂!

Volete aiutarci a riattivare la Ohana Community d’Italia? Entrate nel workspace Slack e facciamo community!

Link alle risorse:

  • Modern Wisdom – https://chriswillx.com/podcast/Lean startup
  • Partire Leggeri (Erik Ries) – https://amzn.to/3HTsWVM
  • Fallimento è rivoluzione (Francesca Corrado) – https://amzn.to/48dU8Jq

Continuous Delivery in Salesforce Development

This contributed articole if written by Gilad David Maayan is a technology writer who has worked with over 150 technology companies including SAP, Imperva, Samsung NEXT, NetApp and Check Point, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership. Today he heads Agile SEO, the leading marketing agency in the technology industry.


What Is Continuous Delivery? 

Continuous delivery is a software development practice where code changes are built, tested, and prepared for release to production in a rapid, consistent manner. It aims to make deployments—whether of a large-scale distributed system, a complex production environment, an embedded system, or an app—predictable and routine affairs that can be performed at any time on demand.

In the context of Salesforce development, continuous delivery ensures that the code and configuration changes made in Salesforce are always in a releasable state. This means that whenever a change is made, it is immediately tested and prepared for deployment. The continuous delivery approach reduces the lead time for changes, minimizes the risk of deployment failures, and provides quick feedback to the development team.

Continuous delivery in Salesforce development is all about automation. Every stage of the development process—from code creation to testing to deployment—is automated. This eliminates manual errors, accelerates the development process, and ensures that every change is immediately ready for production. It’s about making sure that any version of the software, from any point in its lifecycle, can be reliably and rapidly released.

Benefits of Salesforce Continuous Delivery 

Here are a few of the reasons forward-looking organizations developing code for Salesforce are transitioning to continuous delivery:

Faster Time to Market

CI/CD ensures that every change is immediately ready for deployment, which drastically reduces the lead time for changes. This means that new features and improvements can be delivered to customers more quickly, which can provide a competitive advantage.

Moreover, continuous delivery facilitates a culture of experimentation. Because it’s easy and safe to release changes, you can experiment with new features and improvements more frequently. This can lead to innovative solutions that meet customer needs more effectively and quickly.

Lower Development Costs

By automating the development process, you eliminate the need for manual testing and deployment, which can be time-consuming and expensive. Automation also reduces the risk of human error in deployments, which can lead to costly mistakes and rework.

Furthermore, continuous delivery promotes a “fail fast” mentality. Because changes are released quickly, problems are identified and addressed sooner, which can save significant time and resources in the long run.

Low Risk Releases

When practicing continuous delivery in Salesforce development, every change is immediately tested and prepared for deployment, so the risk of deployment failures is minimized. This means you can release changes with confidence, knowing that they have been thoroughly tested and are ready for production.

Moreover, continuous delivery allows for more frequent releases, which means smaller, more manageable changes. This reduces the risk associated with large, infrequent releases, which can be challenging to manage and troubleshoot.

Setting up the Salesforce Development Environment for Continuous Delivery 

Set Up Version Control

The first step in setting up the Salesforce Development Environment for continuous delivery is setting up version control. Version control systems are essential tools for any software development project, and Salesforce development is no exception. They allow developers to keep track of changes made to the source code, making it easier to collaborate and manage changes. A common choice is Git, a distributed version control system that is widely used in the software development industry.

Setting up version control in Salesforce can be done using Salesforce CLI. After installing Salesforce CLI, you can create a new Git repository in your Salesforce project directory. Then, you can commit and push changes to the repository using Git commands. This process allows you to keep a historical record of your project’s development and facilitates collaboration among team members.

Leverage Salesforce DX

Salesforce DX (Salesforce Developer Experience), is a suite of tools and features that allow developers to build and manage Salesforce apps throughout the entire software development lifecycle.

Salesforce DX provides a modern and integrated development environment, supports team collaboration, and simplifies the process of building and deploying apps. Moreover, Salesforce DX is built around the concept of “source-driven development”, which aligns with the idea of continuous delivery.

To leverage Salesforce DX, you need to install it on your machine and set up a Salesforce DX project. The project will serve as your main workspace, where you can develop, test, and deploy your Salesforce apps. Salesforce DX also integrates with version control systems like Git, making it even more convenient for continuous delivery.

Automate Builds and Testing

Automation is a key component of continuous delivery, as it eliminates the need for manual intervention in the software delivery process.

In Salesforce, you can automate builds using scripts and Salesforce CLI commands. These scripts can be run automatically whenever a change is pushed to the version control system, ensuring that the latest version of the software is always available for testing.

Automating testing is also essential. Salesforce provides several tools for automated testing, including Apex testing and Lightning testing. These tools allow you to write test cases for your Salesforce apps and run them automatically. By automating testing, you can ensure that all changes to the software are thoroughly tested before they are delivered.

Utilize Salesforce’s Package Management Capabilities

Salesforce packages are containers for something as small as an individual component or as large as a set of related apps. After the package is created, it’s easy to distribute to other orgs and even list on the AppExchange.

Packages are particularly useful in managing customizations and extending Salesforce. By grouping related items into packages, you can track and manage them as a unit, making it easier to deploy changes and roll them back if necessary. This feature ties in well with continuous delivery, where changes are continuously integrated and deployed.

Salesforce provides two types of packages: unmanaged and managed. Unmanaged packages are typically used for distributing open-source projects or templates, while managed packages are used for full-scale app distribution. For continuous delivery it is recommended to use managed packages as they offer more features and control over the package lifecycle.

Scan Code for Security Vulnerabilities

Finally, it’s crucial to consider security. One of the tools you can use for this purpose is Salesforce’s Security Source Scanner. This tool automatically scans code for security vulnerabilities, helping ensure that the software is secure before it’s delivered.

The Security Source Scanner checks your Salesforce code against a set of security rules. If it finds any violations, it reports them so you can fix them before delivery. This tool is especially useful in a continuous delivery setup, where changes are delivered frequently and there’s a high risk of introducing security vulnerabilities.

In conclusion, setting up a Salesforce development environment for continuous delivery involves several steps, each of which plays a crucial role in ensuring a smooth and efficient software delivery process. By following these steps, you can streamline your Salesforce development process, improve collaboration among your team, and deliver high-quality Salesforce developments consistently and efficiently.

[MadeInItaly] Unleash your Salesforce power from anywhere with the ForceDev App 👨‍💻✨

For the #MadeInItaly series where I want to showcase amazing artisanal Italian products from our incredible Italian Ohana, today’s guest post is delivered by Luca Daneluzzo is a senior Salesforce developer with a broad consulting experience, ranging from industrial production to fashion industry, all within the Salesforce domain. Two years ago, he chose to work as a freelancer, allowing him to focus on personal Salesforce projects and provide exclusive attention to his customers. Luca has gained a strong reputation among businesses that rely on Salesforce as their operational tool. He delivers high-quality work, ensures customer satisfaction and he provides innovative solutions with a customer-centered approach.


Salesforce developers, rejoice! The era of tethering yourself to a desk for coding is over. 👋

Introducing the ForceDev App, the ultimate mobile toolkit that empowers you to manage your Salesforce organizations with finesse, all from the palm of your hand. 📱💯

ForceDev is the indispensable companion for the modern Salesforce Developer / Administrator, seamlessly blending mobility and productivity. 🏃‍♀️🚀

Download ForceDev today and experience the freedom to code, monitor, and optimize your Salesforce org from wherever inspiration strikes. 💡🌍

Available on Google Play Store and Apple Store!

ForceDev: safety first 🔐

ForceDev is a secure app and does not communicate with any external server outside of Salesforce (using only cutting-edge communication protocols).

It only saves data within the used device, therefore it does not communicate private or sensitive data to third parties in any way.

ForceDev: features

Execute Anonymous 💻

With ForceDev you can run Apex code directly from your mobile device.

ForceDev allows you to run Apex code without having to access your computer. You can use the fields’ search to quickly find the fields you need and save your snippets for future use.

Perform Query 💡

With ForceDev you can run queries across your Salesforce orgs. This feature is perfect for Salesforce admins and developers who want to quickly retrieve information. Save your queries and reuse them in the future.

REST Explorer 🛠️

With ForceDev you can invoke Salesforce APIs with few simple clicks. This feature is perfect for Salesforce developers who want to test integrations with external systems or simply take advantage of the most powerful features of the Salesforce system (naturally, you can also save your favorite configurations so you can reuse them in the future).

View Logs 📃

With ForceDev you can view, analyze and filter system logs generated by any user of any Salesforce Org in real time; this will allow you to save time by starting a log monitoring session in 2 simple clicks.

Custom Labels 🏷️

With ForceDev you can easily search for all the labels available in an org. Search for labels by simply typing their name, translation or technical API name.

This feature is perfect for Salesforce developers who want to avoid creating duplicate labels and therefore save time in their developments.

Code Coverage 🔬

With ForceDev you can view real-time code coverage for each Apex class as well as overall coverage across your entire Salesforce organization. How many times did you need to launch a complete execution of all test classes in order to check their coverage? As you might already know, this is an operation that can take a long time: why not monitoring it directly from your mobile phone without any worries? Use ForceDev, take it easy!

View Job Errors 🙈

With ForceDev you can monitor all “Scheduled Apex”, “Queueable” and “Batch Apex” jobs that failed in the last 7 days. Be the first to report any system errors using our application!

Health Check 🩺

With ForceDev you can view the health status of your Org and suggest useful actions to improve its security. Here you will find a list of operations that you can perform in order to make your Salesforce organization increasingly safe and efficient.

🇮🇹 Salesforce Sidekicks EPISODE 4: Dare vita alla propria idea – L’esempio di ORGanizer (parte 1)

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

Avere un idea è fantastico 💡, ma renderla reale lo è ancora di più.

In questo episodio Enrico ci racconta come è nata la sua idea, il processo di sviluppo e le difficoltà del listing su Chrome Webstore e Salesforce AppExchange. 🧠➡🚀

L’episodio è diviso in due parti e questa è la Parte1. La prossima settimana pubblicheremo Parte2.

Buon ascolto!

Volete aiutarci a riattivare la Ohana Community d’Italia? Entrate nel workspace Slack e facciamo community!

Link alle risorse:

  • Modern Wisdom – https://chriswillx.com/podcast/Lean startup
  • Partire Leggeri (Erik Ries) – https://amzn.to/3HTsWVM
  • Fallimento è rivoluzione (Francesca Corrado) – https://amzn.to/48dU8Jq

🇮🇹 Salesforce Sidekicks EPISODE 3: Salesforce PM – Tools&Resources per farlo al meglio

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

In questo episodio, approfittando del ruolo ricoperto da Pietro, facciamo due chiacchiere sul ruolo del Project Manager (in generale e nei progetti Salesforce) con qualche consiglio sui tool utilizzati ma anche su quale sia l’approccio giusto per il successo del progetto e delle persone che compongono l’Ohana del progetto. 🏆

Per qualsiasi consiglio commentate qui o nel podcast stesso 💬

Volete aiutarci a riattivare la Ohana Community d’Italia? Entrate nel workspace Slack e facciamo community!

Link alle risorse:

ORGanizer for Salesforce – New Release

Dear ORGanusers 💙,

in the next release, currently under testing 🤖, an important update will impact the License Verification procedure that you can achieve from the “Options” page on the “PRO” tab, only if you are on paid tier.

You won’t be required to have a synced user on your browser or use Google Authentication to validate your email address anymore, but you’ll simply be required to input your email address and license key to start the validation process: this is a more reliable and easy way to handle your licenses, making the process absolutely smooth! 😎

🚨⚠ Once the release will be live you’ll be required to remove your current license and validate it again ⚠ 🚨

So don’t panic if you’ll temporary see your ORGanizer unlicensed! 😱

NOTE: this update won’t be available to Firefox users at this moment, sorry guys but Firefox has so many problems that its version will stay behind for a while 🦊

📜 The golden rules 👑

  1. You need to validate your license on each browser or browser’s profile you use the license with (if you use Chrome and Edge, you need to validate both, if you use Chrome with many profiles, you need to validate each profile, more or less the same happens now)
  2. The validation process sends a validation email to your licensed email, so you need to have access to your email address and use the provided code to activate your client (you better check your spam folder)
  3. There is a limit on the number of active clients that you can activate with a license (this number depends on the license type, details will be given shortly), but you can deactivate a client to make room for your new client (that’s why you’ll be able to add a Client Name to each client so to point the right client in deactivation)
  4. There is a cooldown for client deactivation (whose duration depends on license type as well) that prevents you from deactivating clients like a crazy 😵

This is how things will change 🤯

The “PRO” tab in the “Options” page (right click on ORGanizer icon and select “Options”) will show new fields:

  1. Client ID (identifies your client, i.e. each browser and browser’s profile you have ORGanizer installed will have its own ID, you cannot change it and please don’t try to do it, it will simply invalidate your client license) and Client Name (as said, you can update this value to clearly identify a client)
  2. Licensing section where you have to set license key and email address as delivered by Gumroad licensing service (your purchase confirmation email, as usual)

When you start a new validation process, you’ll receive the following message:

This is the email you’ll receive (again, check on your SPAM folder):

Now you need to simply copy/paste this code on the activation code on the “Activation Code” field that pops up:

If you reach the max number of active clients you’ll be shown a popup with the details and the list of currently active clients (you decide which one to deactivate, considering the cooldown period):

If you need more details send me a message using the support form.

Have a great day pals!

With 💙

Enrico

🇮🇹 Salesforce Sidekicks EPISODE 2: Trailblazer Community – cosa, chi, dove, come, quando e perchè

ℹ️ Di cosa si tratta? / What’s this all about? Salesforce Sidekicks

In questo episodio facciamo una brevissima auto-analisi sul primo episodio grazie ai feedbacks ricevuti da amici, parenti e, forse ancora più preziosi e “onesti”, da perfetti sconosciuti!

Quindi, cercheremo di raccontare la Salesforce Trailblazer Community facendoci qualche domanda:

  • Cosa è la Trailblazer Community?
  • Chi compone la Trailblazer Community)?
  • Dove trovare la community?
  • Come farne parte?
  • Quando si può partecipare “live”?
  • Perchè farne parte?

Volete aiutarci a riattivare la Ohana Community d’Italia? Entrate nel workspace Slack e facciamo community!

Link ai contenuti:

[MadeInItaly] Move-QCP: a Salesforce CLI plugin to manage the Salesforce CPQ (SteelBrick) QCP

For the #MadeInItaly series where I want to showcase amazing artisanal Italian products from our incredible Italian Ohana, today’s guest post is delivered by Raffaele Preziosi, a certified Salesforce Developer and Application Architect who was born in Naples (Italy). He is passionate about the Salesforce platform, JavaScript, and DevOps. Currently, he works as a consultant at Accenture Nordics in Copenhagen, where he continues to innovate and develop solutions for clients in the Salesforce ecosystem.


The Javascript Quote Calculator Plugin (QCP) of SteelBrick CPQ is a tool that allows users to enhance the functionality of the quote line editor within Salesforce.

By utilizing JavaScript, users can implement custom logic to manipulate quotes and quote lines both before and after pricing rules are calculated.

This customization extends to managing the visibility and editability of the fields displayed in the quote process.

The Challenge: Managing QCP Code within Salesforce

Unfortunately, the javascript QCP code must be stored as data within Salesforce (in the field SBQQ__Code__c of the object SBQQ__CustomScript__c) making it difficult to manage and track changes effectively.
As developer you would like to manage that code in your IDE alongside other metadata within your version control system.

The move-qcp sf CLI plugin can address this issue. This tool allows you to efficiently organize the QCP code, and automate the its deployment.

The  move-qcp plugin changes the way you develop and deploy QCP by allowing you to:

  • Versioning QCP Code: Your code is securely stored, easily accessible, and conveniently managed alongside your other version-controlled assets. This ensures that you have complete control over your qcp code and can effectively track and review changes.
  • Automated Deployment: The plugin automatically deploys the QCP to the target org, avoiding the need to manually copy and paste the code into Salesforce.
  • Modularization: Take advantage of modularization by utilizing modules to split the QCP code into multiple files. By splitting your QCP code into multiple files using modules, you can enhance readability, maintainability, and collaboration among your development team.
  • Code Minification: The plugin automatically minifies the code before deploying it to the target org. This optimization step helps avoid reaching the maximum character limit of the textarea field.

How to Get Started

  1. Open your terminal and run the command (Salesforce CLI is necessary):
    sf plugins install move-qcp
  2. Within your repository, create a dedicated folder for your QCP using the create command. This is where you’ll organize your QCP-related files. Replace “MyQCP” with your desired custom script name, which will also be the folder name.
    sf cpq qcp create -n MyQCP

    The command will create separate files for each method of the quote calculator plugin.
    The main.js file will import modules from other files, enhancing code organization.
    The config.json file can include additional fields for your quote calculator plugin.
    Main.js and config.json are the only required files, the other ones can be deleted/replaced.

3. When your changes are ready run the following command to insert/update your QCP in the Org. Replace “orgAlias” with the authenticated org alias/username and ./QCP with the directory of your QCP
sf cpq qcp deploy -u orgAlias -d ./MyQCP

If the command succeeds, it will print the Id of the custom script:

While you can add multiple custom scripts to your repository, it’s important to note that Salesforce CPQ currently allows only one active script at a time.

You can streamline your deployment process, integrating the command into your CI/CD pipeline!

Page 3 of 24

Powered by WordPress & Theme by Anders Norén