Category Archives: Technical

Saving Tweets to Excel using Microsoft Flow

Microsoft Flow is the new tool integrated with Office 365 which allows different services to interact. Such as social media providers like Twitter and Facebook or file sharing platforms like Dropbox, OneDrive and Google Drive, and many more services.

I wrote a blog post earlier this year about integrating machine learning tools and another post about syncing Google calendar data into SharePoint using Flow processes, but I thought I would get back to basics and provide a clear easy tutorial for Microsoft Flow newcomers.

In this example, I’m going to setup a Flow to put all the tweets made from the company (my) twitter account into an excel spreadsheet. This is a simple process but might be useful for keeping track of marketing or even leaving an audit trail of marketing activity by the social media owners within an organisation. The excel spreadsheet will sit in OneDrive for business but you can determine where you would like it stored.

To start, we are going to create a new excel spreadsheet with a table. In OneDrive for business, create a new excel spreadsheet called “tweets”.

Microsoft Excel Online

Add the following column headers:

  • Tweet Text
  • Location
  • Time

Select the column headers and in the insert menu, select “table”. This will make a new table in Excel which Flow can access to add rows.

Open Microsoft Flow. The Flow icon should be available in your Office 365 App Launcher if you have the licence enabled (alternatively you can just go to the website).

Search the templates for “Twitter”, and select the “Save tweets to an Excel file” template.

Microsoft Flow Templates

You will then be required to login to Twitter and Excel. When logging into Excel, make sure that you sign into OneDrive for Business with the correct account (otherwise you will get unauthorised access when trying to add rows). When both services are signed in, press continue.

Twitter trigger

In the twitter trigger, add the twitter account name to the search text box. This will fire off the process when that account tweets.

Excel action

In the insert row action, find the tweets excel spreadsheet in your OneDrive for Business by using the folder icon. The table will appear automatically under the Table name drop down. You can then select each column and add the appropriate tweet field.

Save the Flow and check that it is enabled.

In twitter, send a tweet from your account.

Twitter tweet

The Flow will run every 60 seconds, you can check the runs by clicking on the “i” icon next to the Flow and then filtering by “Checks (no data)”. After a couple of minutes, your spreadsheet should be updated with the tweet data!

Excel populated with tweets from MS Flow



School Data Sync – UK Schools

School Data Sync has now moved to general availability. Currently this allows users to get data into Microsoft Classroom but does have limitations and can create a considerable overhead when providing the import data.

I’ve produced a quick video below looking at School Data Sync and what is means for UK schools. Hope you find it useful.

UPDATE – 31/03/2017

There has recently been some third party free tools released to automate the creation of these spreadsheets. This is another step in the right direction and hopefully there will be some free tools in the next few months to sync data directly into SDS.

The SDS data can also be used for the new Intune for Education released in April 2017.



Machine Learning with Cognitive Services API in Microsoft Flow

I recently attended a fascinating talk on machine learning by Martin Kearn and an implementation of this in Microsoft Flow by Mark Stokes. Did you know that there are APIs to access machine learning functionality via Microsoft’s Cognitive Services API? Did you also know that you can easily connect to these services in Office 365?

Microsoft Flow

Take a look at the available APIs and try them for free here.

The APIs give you access to computer vision, face emotion, face detection, text analytics, translators and much more. Microsoft have really opened up machine learning to the average developer (or non-developer)!

In this blog post, I’m going to show you how to use the text analytics cognitive API in Microsoft Flow without any code at all. If you are not familiar with Flow, check out some of my earlier posts.

Starting in Microsoft Flow, search the templates for “Text analytics”. Some interesting starter templates appear including analysing text for positive or negative sentiment via Twitter, Yammer and email. The returned sentiment value can then be used to start an action or chain of events. Have you ever wanted to be alerted to a negative email from the boss? Well now there is a template for it!

Microsoft Flow

In this example, I’m going to use the “Get emails for positive tweets” template. I want to get notified by email when I receive tweets which are very positive in sentiment.

Microsoft Flow

From this screen, you can see that the services involved in this Flow are Twitter, Text Analytics and Mail. Select “Use this template” and sign into each service.

When you get to the Text Analytics service, you will be required to enter a connection name and account key. To get this go to the Azure Text Analytics site and sign up for a free account (if you don’t already have one) by going to Getting started.

Once you have the account setup, navigate to your account keys in the Azure portal (as shown below).

Microsoft Azure Sentiment API

Copy and paste the account name and key 1 into the Flow connector.

Microsoft Flow connectors

In my Flow, I have used the hashtag #msflowtextanalytics as my trigger. If anyone uses that hashtag on Twitter, it will start the Flow.

Microsoft Flow

I’ve left the condition as 0.7. This means if the API returns a 70% positive sentiment rating, it will send the email.

Microsoft Flow Email properties

Finally, fill in the email details to complete the Flow. The template email will show who sent the positive tweet and the sentiment score from the API.

Publish the Flow and go to Twitter to test it out.

Twitter hashtag tweet

The Flow can take around 2 minutes to run but you should eventually receive an email with the name of the person sending the tweet and the score from the sentiment API.

Microsoft Flow Email

There are many uses for this in real world scenarios. Marketing and PR departments could use a very similar template to detect any negative tweets. That could then trigger an email for manual intervention or you could automatically direct message the user and open a support ticket. It could save huge amounts of time watching and sorting through thousands of tweets manually.

There are connectors for SharePoint, Instagram, Office 365 Email, and much much more. Imagine integrating all of these separate systems into one workflow (you couldn’t do that in SharePoint Designer).

Exciting times for machine learning and very powerful tools for those of us who are not developers or data scientists.

Set default classic or new experience in SharePoint Online

The new list and library experience is here in SharePoint Online. It is great news for the SharePoint community (better integration with OneDrive, responsive, platform independent). For users with customisations or for companies who are not ready for the change yet, you can delay the new experience from the administration panel. There are certainly things which will improve in the new experience such as consistent navigation (you may notice that you lose the navigation configured in classic mode), custom JS overlays and custom branding. Microsoft should have some updates on those features in the coming year.

To switch back to classic mode for the entire tenancy:

Open the Office 365 admin centre and select “SharePoint” from the admin centre list.

Office 365 admin area

Go to the settings option and set the list and library view to classic mode. This may take a few moments to apply.

Office 365 admin area

You can override these settings in individual library settings if required.

Integrating Google Calendar Data with SharePoint using Microsoft Flow

It can be time consuming to update multiple calendars. You can now setup custom flows using Microsoft Flow to copy and edit data between the two calendars.

Google Calendar to SharePoint

In the example below, I create a Microsoft Flow to detect when a new Google Calendar item is added and then create a new item in a SharePoint calendar.

First of all, open Microsoft Flow.

Microsoft Flow

Select “Create from blank” to open the flow editor

Search for the correct trigger by typing “Google” into the search box. You should see “Google Calendar – When an event is added to a calendar”. We will use this trigger to detect when a new item is added to the Google calendar.

Google Calendar trigger

When prompted, sign into your Google account and allow access to the calendar.

We are now going to add another step to the flow to add the items into our SharePoint calendar. Click “New Step” and then Add an action.

New flow step

Search for “SharePoint – Create item”, add the URL and list name. This should load up all the calendar new item fields.

Click in each field and select the output from the previous step (the google calendar data). You may wish to populate the Title, Start Time, End Time, Location and Description.

New SharePoint calendar item

Select “Create flow” when you are ready to publish the new task. It can take a few seconds for the task to run once the Google calendar item has been added. You can check the progress and status of the task from the Flow site.

There are other things to consider when setting this up such as all day events, recurrence, editing items and deleting items. However, you should be able to extend the logic in the flow to handle these data types. Below is a video guide going through the process.



Creating a simple Microsoft Flow for a SharePoint list

For anyone using the new style SharePoint lists, there is now a new action for Microsoft Flow integration. It’s a really cool product that integrates all the Office 365 products (and more) into your workflow.

SharePoint Designer workflows still have their place but the Microsoft Flow interface offers rich functionality and is easy to view and structure workflows.

One downside to using Microsoft Flow is the error messages. They come back as error messages from the REST API as headers which can be very confusing for non-technical users. SharePoint Designer errors were much clearer and easy to understand for general users.

In the video below, I go through quickly creating a Microsoft Flow from a new style SharePoint list in an Office 365 group site.



Gaining access to OneDrives within your organisation

Below I have created a quick guide to show you how to gain access to a user’s OneDrive within your organisation. This video is for SharePoint administrators and you will need to be at least a SharePoint admin in Office 365 to carry out these steps.

A OneDrive site is effectively a SharePoint site collection with a document library. When a OneDrive is created by the user in Office 365, it grants the user site collection admin rights. It doesn’t add any other administrators or groups to the permissions. You can do this manually using the steps shown in the video below or you could create a script to apply permissions to all of your OneDrive sites using the PowerShell Client Object Model.



Using the SharePoint recycle bin

I’m often asked about restoring deleted documents, where the recycle bins are and how long they are kept there for. Hope this post will be of use to some of you.

SharePoint’s powerful document management features provide the end user and administrator ways of recovering deleted items. Items can be deleted accidentally (sometimes without the end user even knowing). Luckily we can go into SharePoint and recover the document before it is lost forever.

Two stage recovery

When a document is first deleted, it goes into the end user recycle bin on the site. The user deleting the item has several days (93 days by default in SharePoint Online) to recover the item themselves.

After that period (or if the item is deleted from the site recycle bin) it then goes into the second-stage recycle bin. The second-stage recycle bin is only accessible by the site collection administrator. There is then another 93 days to recover the item before it is deleted forever! Items in the second-stage recycle bin don’t count towards your site collection quota but items will automatically be deleted if you exceed 200% of your site collection quota (which is unlikely if you make sure your site collection has 1TB of storage).

I’ve created the video below to explain the recovery process from both recycle bins. A great way to find those missing documents which were accidentally deleted by the end user.



More information can be found here on the Microsoft website.