Microsoft Flow & Salesforce.com Integration

This afternoon I had a quick call with a fellow community leader Adam Levitan who works for Metalogix. We were recording a podcast which will hopefully air later this fall during the Collab365 Conference. We got onto the topic of the future of collaboration and I said that Microsoft is absolutely hitting a home run with their Flow service. For those of you who aren’t familiar with it, Microsoft Flow is a workflow automation solution which allows you to tie systems together through activities. While SharePoint does an amazing job of allowing users to automate business processes, Flow takes it a giant step forward.

One of the use cases that I’m very interested in is the ability to integrate the Office 365 Platform with Salesforce.com. Although I’m a big supporter of Microsoft technologies, many of my clients have decided to go with Salesforce.com instead of Dynamics or the new Dynamics 365 for their CRM platforms. One of the challenges with Salesforce is that the recurring subscription costs are expensive when you start trying to license all the users that may play some role within the sales cycle. The purpose of this post definitely isn’t to cover all the features of Salesforce or the many different clouds they have (Sales, Service, Health, etc.) but rather to focus on the future where you can tie cloud services together and build some really powerful solutions.

To illustrate what I mean, I’m going to walk through building a very simple “Flow” which mirrors a business scenario I’ve personally encountered. So I work for Slalom Consulting and we sponsor many community events like SharePoint & SQL Saturdays, various tech conferences, etc. Typically these sponsorships include a booth where we send a recruiter, sometimes a sales executive, but most of the time just members of that particular Practice / Vertical, etc. During these conferences there often times are potential leads generated based on discussions that happen at the booths, and the usually our folks capture a business card or just take down the person’s information. At the end of the event the team goes back to the office the next week and either sends the spreadsheet, or transposes that information from Excel into the CRM system for the sales team to go work. You might be saying to yourself “there has to be a better way” – and indeed there is!

What if you could generate those Leads from an Excel table and have it imported directly into CRM? Wouldn’t that be cool? Well guess what, that’s exactly what we are going to do.

First, let’s login to our Office 365 tenant which has Microsoft Flow enabled (as of this blog post it is still considered to be a Preview service). And we’re going to search up at the top for available templates to create our Flow from:

image

Let’s pick the Create Salesforce Leads from a Excel table template:

image

From here a new page will be displayed giving an overview of the template we selected:

image

Click the big “Use this template” button to bring up the connection configuration screen. We’re going to need to create connections for both the Excel file which will have the table of sales leads, and the connection to our Salesforce.com instance.

image

First click on the “Create” button for the connection to the Excel file.which will bring up a list of list of choices for where the Excel file can sit. Notice there are also non-Microsoft services such as Dropbox, Box, and even SFTP! For the purposes of this walk-through we are going to pick the OneDrive for Business but feel free to select the data source that best meets your requirements.

image

It will prompt you for credentials for your OneDrive For Business account after clicking the Sign In button:

image

So in truthful blogging, I’m going to tell you that it threw an error:

AzureResourceManagerErrors

I waited a bit, cleared out some of my old connections under my profile and then tried again and this time it made the connection.

Next, I created my connection to my Developer Salesforce instance: I logged into Salesforce.com:

image

Next, I allowed PowerApps access to my Salesforce tenant:

image

Of course I clicked, Allow and then continue on the main page to bring up the workflow canvas:

image

So working from the top, the very first thing you can do is setup recurrence for how often the flow will run. As of this time, this is still just a Preview service and there hasn’t been any real discussion on licensing or pricing. Like any service there are most certainly going to be service levels – ie; being able to guarantee computing power to run the job, amount of data perhaps to be processes, and likely some other elements that I haven’t even dreamed up yet – but you can rest assured that there’s a team at Microsoft figuring out how to price this service. Smile

For demo purposes, I am just going to have it recur every 15 minutes. So clicking the little ellipses in the corner of the recurrece box brings up the advanced options where I can set that information:

image 

Before proceeding to the next step I’m going to create a sample Excel file with the following column headers:

First Name
Last Name
Company
Phone
Email

image

Click OK and the following Table will be generated:

image

Last, I’m going to save my file as SPSLeads.xlsx and drop it on my OneDrive for Business. Back to the flow I go to the Get rows section of my flow and click the folder expand button on the right, and find my SPSLeads.xlsx file:

image

Next, I select the table which I left as the Excel default of Table1:

image

Next we dig into the Create Object section of the flow which is really the “Create Lead” functionality in Saleforce. This is where you can map the different columns to the fields in a Salesforce Lead Object. I went with the bare minimum of what is required to generate the lead, but there are other fields such as Street and Zipcode that can also be captured and added to the record.

image

Some of the fields can also be defaulted which is what I am going to do for the Lead Source since these leads are being captured at my fictional SharePoint Saturday Connecticut event:

image

Last, I’m going to have it Delete the row after creating the lead in Salesforce, essentially following the same path of picking the Excel file on my OneDrive and Table1 as my table name:

image

Finally I’m going to give this Flow a name:and then click the Create Flow button and let Microsoft Flow work its magic!

image

I’ll click the Done button and then see that I’m all set:

image

When I go to the My Flows, I’ll now see that there’s the Flow I just created:

image

Next, I’ll click on the little information icon to see that my flow is actually running:

image

In reality though – it takes a bit for my Flow to run. I suspect it’s because I both didn’t set a start time and that I also put a recurrence of every 15 minutes. This is definitely still a Preview service so there will probably be a bit more polishing up of the user interface before it goes live.

Then I looked at my Flow to find out that it had errors:

Flow-Error2

Then when I went to edit the Flow I found myself in the spinning page of doom:

image

So then I decided to back it all out and pop my file up on my Dropbox. I created the service exactly the same way and it picked up the file no problems at all!

image

After allowing the Flow to run, I logged into Salesforce.com and noticed that the following leads were generated:

image

I then popped open Spoopy Matfess (my amazing dog) and low and behold all the lead data came over:

image

Then I logged into my Dropbox accoutn and opened my file and noticed that it had been touched by PowerApps:

image

I’m a little curious as to why it would leave that last record with the _PowerAppsId_ at the end, but maybe that is just part of the beta. I would expect that it would leave the table cleared out and then allow for users to continue adding new leads as they come in throughout the day.

So the big question is why did my original attempts using OneDrive for Business fail? I could be wrong but there might be something with my profile since I’ve got multiple profiles, multiple O365 accounts, etc. Now, I did create the connection to OneDrive and authenticated successfully to Azure AD and it was also able to find the Excel workbook and the table. However, when it came time for the job to actually run, it threw some connectivity errors. I also could have possibly hit some ironically timed Azure issue.

Regardless though, flipping over to Dropbox and seeing it run successfully should hopefully give you some ideas as to what’s possible with Microsoft Flow. You can have users working in systems that they are familiar with such as OneDrive, SharePoint, etc. – and then have the output of their work feed into downstream systems.

Leave a Reply

%d bloggers like this: