Importing Salesforce Records Just Got Simpler [In-Depth Overview]

Share this article...

Save precious time for your Salesforce users, data stewards, and admins by empowering them to manage data inserts, updates, and upserts faster than ever before!

Highlights

  • Make importing available directly from any record page in Salesforce, based on user permissions, with the ManagedImport Lightning Web Component.
  • Import data to Salesforce without saving Excel files as a .csv.
  • Control the batch size and which objects and fields are imported, and even choose if the entire import will be rolled back in the case of a failure.
  • Leverage screen flows as part of a customized import process.

Creating or updating data through imports happens frequently in most organizations’ CRMs as part of various processes. At the same time, Salesforce data is that one thing that you, as an admin, are always keen to keep clean, secure, and reportable. So, what about making things even easier while empowering your end users to import in a controlled way?

SimpleImport, by ProvenWorks, has just celebrated ten years of making Salesforce data imports a breeze! The tool not only provides a great Salesforce-native experience to manipulate record data for any standard or custom object, but also takes care of the little things – things you have to consider when importing with tools like Data Loader. How about never having to save Excel files as a .csv anymore?

This in-depth overview will showcase the main features SimpleImport brings to play, ideal use cases, and setup effort, as well as how fast your users can (and will) start using this tool.

Features

SimpleImport is built around the premise that good data is the best basis for an organization’s success and scalability. This is why the features below will focus on how the components provided in this managed package will optimize the import process in such a way that mapping errors are far less likely to happen.

It’s important to note that SimpleImport is data agnostic; no matter what data the spreadsheet contains, it can be rapidly imported into the Salesforce object. As we work through SimpleImport’s functionality, we’ll be using Accounts and Contacts as our examples because we’re all familiar with this relationship. Just bear in mind that SimpleImport can be used for a whole host of use cases, some of which we’ll cover later on.

SimpleImport Tab

Considering the entire user experience is within your Salesforce org, the SimpleImport tab will be the focus for import operations for you as an admin, or for some very experienced power users. For both SimpleImport Free and SimpleImport Premium, you can go ahead and search for the tab within the App Menu, or you could simply add it to your Navigation bar in just a few seconds!

The SimpleImport tab is also the place where you, as an admin, will control the various settings available, including the batch size, or if the entire import needs to be stopped (in case of a failure). It’s likely that you’ll want to leave the Delete option turned off, as it is set by default – enabling this will make the Delete Records action available.

This is the place where you will see your storage limit, as well as the saved mappings (once they’re created), which we will cover a little later. For SimpleImport Free, the files will be around for seven days, while for SimpleImport Premium, they will be available for three months as default.

ManagedImport Lightning Web Component

At the center of the SimpleImport experience, the ManagedImport LWC is readily available for users. This component can be added on any Lightning page of your choosing, to allow users the ability to import directly from wherever they are in Salesforce.

Of course, the component’s visibility can be filtered as needed (as with any other), but there are some additional fields to be completed specific to this – while all others are very intuitive, the Mapping Id is something we will cover in more detail in the following section. Let’s see the component in action before looking further ‘under the hood’.

For example, a simple situation such as a sales manager adding multiple Contacts against their Accounts in Salesforce, might end up with the Salesforce Admin repeating the same task over and over again for each sales manager.

With the ManagedImport component, not only can sales managers do this themselves, they can also ensure that nothing else can be imported except the new Contacts. Check the example out in the video below!

Note: A template should be made available to users in order to use the component, as the columns from the mapping should be present in the file as well. One thing to note is that the order of the columns from the file doesn’t matter.

In case you didn’t notice in the video, there is one thing I’d like to highlight as it will definitely make a difference for both you and your users. While for both Import Wizard and Data Loader you have to use .csv files, SimpleImport not only supports .csv, but also .xlsx (actual workbooks), where you can select which sheet is taken and more!

This means you will never have to instruct your users to convert a file to .csv – a task you are most likely doing yourself today already in order to have a clean file to import.

Also, even if I choose to insert a few dozen Contacts (as in this example), there’s nothing stopping you or your users from importing however many records are required – even a few thousands!

It might seem quite risky to allow even power users to make data imports and change a high number of records simultaneously. However, what this tool does really well is make sure all the imports will be safe for users to handle themselves; not only is initial access controlled by their Salesforce permissions, but it can also be further restricted by user or profile.

Saved Mappings

Now that you have seen the ManagedImport Lightning Web Component in action, I’m guessing there are already areas where you can see the potential benefits within your own processes.

As mentioned above, the critical information required to set up the component is the Mapping Id – something specific to SimpleImport that can be created from the page within the tab presented earlier, when you (the admin) start importing a file.

Let’s look at exactly how I created the mapping for the Insert New Contacts component on my Account record page. On the main page under the SimpleImport Tab, you simply have to drop the file you would like to base your mapping on.

The file will be processed and we will create the mapping. SimpleImport will display the recommended next step on this page. In this example, I used a one-sheet .xlsx file, but if you want to use a workbook, the next recommended step will be to choose the sheet and import it to Salesforce afterwards.

Let’s go back to mapping the fields from the imported file to the Salesforce fields – after clicking Import to Salesforce, you first need to choose the object(s) to be imported. Two related records can be updated simultaneously, and both master-detail and lookup relationships are supported.

On top of this, you can select an existing mapping later on (we can’t just yet as this is our first one) and decide if the records should be added as Campaign Members. Or, when importing Leads or Cases, you can trigger the assignment rules.

Next, choose the operation that will happen: insert, update, or upsert. While there’s no matching criteria needed for insert, you should properly map an identifier when doing updates – for example, Contacts can be easily matched based on the email address. We will go ahead with the insert this time around.

Once the operation type is settled, the list of fields will appear, ready to be mapped! The columns will be automatically mapped, where possible, if the name matches. However, you can always unmap or manually choose the Salesforce field the column should be mapped to.

Also, notice that a Constant was added to the mapping – in this case, {!Record.Id} which will represent the Account the Contact will be created against through the ManagedImport component. This will then be passed through the component when accessed from the record.

Additionally, you can use Constants to predefine whichever value you’d like – for example, when importing new Accounts, let’s say that all of the Accounts should have the same value in a custom field, or perhaps the same Country.

With the mapping complete, it can be saved on the next screen. And once the mapping is saved, you can choose to quit or proceed with the import. As an admin, you do not have to complete the import in order to create the mapping.

As I mentioned at the beginning, once mappings are created, you will be able to see them on the Preferences page, where you can also copy the Mapping Id and add it to the ManagedImport component.

Build the Perfect Import Flow

Of course, there are situations when it simply doesn’t make sense to only add the ManagedImport component directly, unless something happens beforehand. To cover these types of custom scenarios, this component can be used in screen flows to take the tailored experience to the next level!

Multiple components can be added to the same screen. For example, you could add the screen flow on the Homepage to allow users to easily insert Leads, or even Accounts. Also, the Contact import we covered earlier can be added at a later stage of a screen flow, and the AccountId can easily be passed directly from the flow. Let’s say that an Account has just been created, then the next step would be to insert the Contacts. The sky really is the limit when it comes to the number of ways these could be used!

Handle Import Errors

There are scenarios when import errors happen, and ProvenWorks has made sure that SimpleImport is well equipped for handling them.

Depending on your preference, you can choose what should happen: either the records which do not error out are processed and the others need to be fixed, or the entire import fails.

Let’s go back to the same example from the ManagedImport component, and make it in such a way that an error will be generated.

As you will have noticed, the error doesn’t appear within the component, as there might be quite a lot of them. Similar to Data Loader, an error file can be viewed with the error message, which will vary based on what happened. In this scenario, this was an error message for all 21 records, from a duplicate rule on Contacts I have enabled in my developer edition org, so I know that a Contact with the same email address already exists.

The errors from the file can be easily resolved as all the information is kept just as it was in the initial file that was imported. So, in this case, if I simply change the email in the import file, I can easily re-import it.

In addition, there are some mistakes which will not result in an error – for example, in this case, importing the Contacts onto the wrong Account. The ManagedImport component also offers the option to revert the operation directly from the result screen of the import.

Use Cases

Having explored the features and what SimpleImport can do for your import process, it’s easy to see that there are lots of possible use cases. We will go through a couple of the most common ones.

In my opinion, the closer the user handling the import is to the data, the better. They can easily spot if something doesn’t look right or ensure that the correct information is within the file, even before the import. The ManagedImport component ensures this becomes a possibility, even for external users, in a very organized and controlled manner.

Partner Deal Registrations

Importing through Experience Cloud might sound scary at first, especially as it involves allowing external users to import data directly within your Salesforce production instance. However, if you consider the level of control this component offers, it is a much better alternative to exchanging files from partners via email, for example.

SimpleImport allows you to granularly control:

  • Which records users can insert or update via import.
  • Where on the Digital Experience the ManagedImport component is placed.
  • The audience the import component is visible to.

Note that for using the ManagedImport component, the users do not need API access enabled, making this approach not only a scalable one, but also a secure one.

Importing Opportunity Products to an Opportunity

On the other hand, for internal users, one very popular use case is the import of order forms containing Opportunity Products. As long as the mapping is saved and the ManagedImport component is set up on the Opportunity record page, the sales managers can seamlessly import the line items directly from the files, with a much lower number of clicks.

Roadmap

Considering the sheer amount of potential use cases, for both internal and external users, the Provenworks team is always open to feedback and constantly working through accommodating even very specific customer use cases which can later on be included in the solution and made generally available. Stay tuned!

“We’ve found a real niche importing in digital experiences. So, currently our development efforts are centered around conversations we’re having with prospects and customers who are seeing the potential for SimpleImport to expand their capabilities with Experience Cloud.”

– Joel Mansford, Managing Director and Founder

Setup

As I briefly mentioned at the start of the overview, SimpleImport is delivered as a managed package. Both the free version and SimpleImport Premium are available on the AppExchange, and can be installed in a developer edition or a sandbox before you commit to installing it in the production org.

From the Installed Packaged Setup page you will be able to view the components in the package, as well as assign user licenses to the users who should be able to import.

There is also a third package available on the AppExchange for the ManagedImport component only, which you can take for a spin during the 15-day trial. This component is included as part of the Premium version but by using this separate third package, you can easily differentiate between your power users and component users. The ManagedImport component requires at least one Premium License to be active.

It’s worth considering whether you’re looking to just license the SimpleImport tab for admins and power users, or implementing a ManagedImport component use case, as pricing for the ManagedImport component is on a case-by-case basis based on usage expectations. More on pricing later!

Make sure you check the comparison chart between the free and paid version on the ProvenWorks website.

Support

As with their entire suite of products, ProvenWorks ensures an up-to-date knowledge base is always available to help you get started seamlessly with SimpleImport.

All resources can be found under the Support tab on their website, but you should definitely head over to the SimpleImport User Guide to begin with – it’s not gated, so you can take a closer look at how user-friendly the entire setup process is!

If there is a particular question or use case you have in mind that’s not covered in the documentation, you can always send your query to [email protected], and the team will get back to you in no time!

Pricing

As if all this functionality isn’t enough to pique your interest, ProvenWorks has a competitive pricing model:

  • SimpleImport Premium is priced at $810 per year for the first user, with every subsequent user priced at $405 per year. This includes the entire functionality to help take your Salesforce imports to the next level.
  • As mentioned above, the ManagedImport package (which includes only the ManagedImport component) requires at least one SimpleImport Premium license installed in tandem. Pricing for ManagedImport is on a case-by-case basis depending on expected usage. ProvenWorks are quick to provide an accurate quote once they have the relevant information.
  • A free version of SimpleImport gives users the opportunity to make use of part of the SimpleImport functionality (for as long as they need!) to get going with imports on key objects.
  • Across their suite of paid-for products, ProvenWorks offers a 10% nonprofit discount on all licenses.

Feel free to reach out to [email protected] for further details and a quote. As mentioned, discounts for nonprofits are available.

Summary

SimpleImport is a tool that anyone tasked with constantly importing Salesforce data shouldn’t miss out on!

From the simple import mechanism to the option of predefining mappings and correcting potential mistakes within imports, SimpleImport empowers users by saving precious time that could be better spent elsewhere.

Start either with SimpleImport Free or – even better – the 15-day trial of SimpleImport Premium in your sandbox. Give it a go!

4 thoughts on “Importing Salesforce Records Just Got Simpler [In-Depth Overview]

    1. Hi Alec. Thanks for your comment. As well as thought leadership content, we also publish some sponsored posts, which we mark as ‘sponsored’ at the top of the page. On this occasion, we missed the category (which has now been remedied) – thanks for the nudge.

  1. Hello Lauren W,

    I would like to show you my initial file to import contact and also ask the question relating to the Constant added. Without the LWC, how did you do the mapping please.
    Thank you

    1. Hello Myriam,

      Regardless of the columns in the file, the mapping is being created even before using the LWC. You have to navigate to the SimpleImport or SimpleImport Free tab, then dropping your file. You will then go through selecting the object (in your case Contacts like my example),the type of import, and of course the mapping. Afterwards to can save that mapping and proceed with the import. Step by step screenshots of these steps are in the Saved Mapping section of the review.

      The very first overview video at the top also contains a short demo of exactly this step, it’s at 0.19. After clicking Import to Salesforce, you will have to go through the steps mentioned above.

      A Constant is a predefined value which you can add when you get to the mapping step. For example, if all Contacts should have the same value let’s say in a field, then you can define a Constant instead of having the column in the file.

      Hopefully this helps!

Add Comment