I set up a proof of concept using Google Drive to get a better feel for the functionality using the setup guide and found that I was up and running under half an hour. The basic overview is:
- Turn on Files Connect
- Create a permission set to access Files Connect, add it to your admin user
- Create an App under the Google Developer Console
- Create an Authentication Provider in Salesforce for Google (follow directions on what values to set in the setup guide for scoping)
- Update your Google App with the callback URL generated from the Authentication Provider
- Create an External Data Source for Google Drive, referencing the Authentication Provider
There are a couple of really neat use cases for Files Connect (and surely many more out there):
- Your company has a large amount of internal documentation that no one wants to migrate to Salesforce, but Salesforce is your system of use for employees and they need to get at it. This is your classic network shared drive or FTP scenario where you have GB upon GB (or TB) of data dumped onto a drive that is impossible to navigate through. You can use the Named Principal Identity Type to have a single authentication for a read only user for all your Salesforce users, preventing the need for a 1:1 Salesforce to External system user setup (and saving licenses in that external system). This is the same principal as setting up a “system account” on the backend that everyone authenticates through.
- Your company uses some external systems, but to post some content into Chatter (system of use) to have a discussion you have to upload a copy of that OneDrive file into Salesforce. This creates a second version…and soon a third…and fourth. Before you know it, no one knows what the official version is. In this case, you can set up the Per User Identity Type (1:1 Salesforce to External system user) where people can find the documents they want to share from these other systems and seamlessly link to them in Chatter so everything points to that one document in the external system.
- You can turn on external objects for Files Connect – this one is pretty cool. If you haven’t seen external objects before, it basically instantiates a custom object in your organization that represents the basic metadata around the files you are exposing from your other systems. Then, because this metadata is on a Salesforce record, you can actually run a global search and find documents from these other systems…or you could query those files in some custom Apex/Visualforce implementation. Creates some interesting ideas for custom implementations…
I’m really interested to see where Files Connect goes in the next year. It is a file consumption interface today (and there are some limitations), but I could easily see some future enhancements to allow you to upload files directly into those other systems instead of Salesforce as the feature becomes more robust – maybe even an option to offload your file uploads to Chatter into one of these systems.
The best part is that you don’t have to worry about supporting a custom integration with these other systems – it’s all on Salesforce to keep it running.