Tag Archive for SharePoint Online

Send Custom Emails Using Azure Functions as Scheduled Tasks in SharePoint Online

Recently, a client of ours was looking to have a daily email sent to each user that has an overdue task, or a task that is set to expire. The email had a specific format. Each task needed direct links and had to be grouped by the date that it was due. Since it was an on-premises Project Server and SharePoint 2013 farm, it was not too difficult to build and embed the solution into the farm. I took care of this by building a SharePoint timer job, which leveraged a SharePoint search to retrieve all tasks where the due date was before the next business day. Once deployed, and activated, this timer job was automatically scheduled to run every morning, and the SharePoint admins could trigger it manually.  Everything worked great.

Another client of ours was looking for a solution exactly like this, except they were strictly SharePoint Online / Project Online. They had no on-premises farm, there were no real servers to even speak of. One option would have been to create a PowerShell script or .NET executable to run the code, and have that process run as a Scheduled Task on some server. However, there were no servers. Even if they did, what was the point of being in the cloud, if you are still stuck with a foot (or process) on the ground?

So, I turned to Microsoft Azure, and that’s where Azure Functions came into play.

Azure Functions

Azure Functions are programs or code snippets that run in the cloud. They can run on schedules or can be triggered by different types of events (HTTP request, item added to Azure Blob Storage, Excel file saved to OneDrive, etc.). Think of this as a Windows Scheduled Task that can be triggered by modern events and activities.

The programs or code snippets can be created and edited within the Azure Portal, making it easy to get up and running with an Azure Function. The languages supported by Azure Functions are more than adequate: PowerShell, C#, JavaScript, F#, Python, PHP, Bash, and Batch.

Note that I could have also used Azure WebJobs to accomplish this, but I felt that Azure Functions had many positives. Azure Functions are easy for the client to maintain, it has automatic scaling, they only pay for how long the code executes, it supports WebHooks and can be easily triggered via an HTTP request.

Send Custom Emails from SharePoint Online

For this solution, I created the Azure Function in Visual Studio pre-compiled with the SharePoint Online client-side object model (CSOM) DLLs. The solution was straightforward, as it would use CSOM to query SharePoint Online’s search service for all overdue tasks and tasks due within the next business day. It would then do some logic to build the email content based on the assigned users, and then send out emails using SendGrid. SendGrid is built into Microsoft Azure, so configuring it was a breeze, and you get 25,000 free emails a month!

Once deployed, I configured the Azure Function to run on schedule (like before), and it can even be triggered by an HTTP request, so putting an HTTP request in a SharePoint site workflow or Microsoft Flow means that any site user would be able to trigger this function as needed.

Long gone are the days where there are integration servers laying around in the data center waiting to get more processes to help them consume more of their over-allocated resources. Most servers, virtual machines, really, are now dedicated to a specific application, and shouldn’t share their resources with one-off processes.

Azure Functions is a great server-less architecture solution to these problems. Whether you need to send emails, calculate metrics, or analyze big data, Azure Functions can be a solution for you. Learn more about how BlumShapiro can help your organization with issues like this.

About Brent:


Brent Harvey has over 10 years of software development experience with a specific focus on SharePoint, Project Server, and C #and web development. Brent is an Architect at BlumShapiro Consulting. Brent is a Microsoft Certified Solutions Expert in SharePoint 2013, Solutions Associate in Windows Server 2012, Specialist in Developing Azure Solutions and Professional Developer in SharePoint 2010.

Reorganize Your Content in SharePoint

There is never a bad time to think about how your content can be structured better. This is especially true if you are migrating to SharePoint from an old platform, upgrading, or even sticking with your current SharePoint system. This article will give you a few key areas to think about when reorganizing your content in SharePoint.

First off, I want you to think about the date when your current system was implemented and how your company looked. Now think about how your company has changed since then. Your company could have grown exponentially, departments and teams could now be located in different towns/states/countries, or you might be doing old processes in radically different ways. In any case, it’s safe to say that your company has not stayed the same. So does it make sense for your content structure to stay the same?


Reorganizing your content should be a well thought out process. A formal roadmap will need to be created to get your content from Point A (current structure) to Point B (completed structure). Steps in your roadmap should be well defined, assigned to specific people and time boxed.


Your plan might be for content to be reorganized in your current system then migrated. If you are migrating to a new SharePoint system, this is great to get your users to experience the new structure in their current environment. Otherwise you can reorganize while the content is in transit, or even after it has been moved. All of this will depend on the tools you are using, timing, business priority, etc. Many factors!

As part of your roadmap, it is always a prudent idea to think about the future of your company. As you thought about how your company changed, you also want to keep in mind how your company WILL change. No one can predict the future, but your company might have a strategic 5/10/20 year plan where they list out their growth strategy. That plan would be a good guideline when planning out your new structure.


Some Reorganization Steps

  • Consolidation of Libraries There are many different scenarios why you should have multiple document libraries. Ease of security management, for one. But that doesn’t mean you need multiple document libraries. SharePoint content can start to sprawl, since the ease of adding libraries might not give the user pause when choosing between creating a new library and using a current one.
  • Add Content Types / metadata This can go hand-in-hand with the consolidation of libraries. If you are adding different document types to one libraries, you might want to distinguish them with Content Types or even just columns on the library. How many times have you created a new library for the current year (e.g. Financials 2014 and Financials 2015) when one library would be sufficient with the addition of a year column?
  • Archive content / Keep Content in place Not all data needs to make it over. You can segregate content by putting it into an Archive site or even keep it where it resides (if it’s not going away). Remember, all this content can still be discoverable in SharePoint. SharePoint search can return results of content in prior versions of SharePoint or to other file systems and web sites.
  • Remove Content Not all content is still used or even useful. Why have a survey to determine where the company picnic should be if it was 2 years ago. Backup this content and do not give it the green light to migrate.
  • Rename Content Sometimes “Shared Documents” just isn’t descriptive enough.
  • Consolidation / Creation of Sites Teams and departments may no longer work together or even exist.
  • Move Content to the Front Most people that go to your SharePoint site might not be regulars. It’s also a good idea to determine what might be the most relevant to all users of the site and put that on the home page.


If you are moving to SharePoint, upgrading, or migrating to the cloud, it is always a good idea to take a step back and look at your content. It very well may be that it can use a little bit more organization.



5 Reasons to Migrate to SharePoint Online



Over the past year, 60% of Fortune 500 companies have purchased Office365. Microsoft says it is their fastest growing commercial product ever. Businesses around the world are taking advantage of lower costs and the increased capabilities of the Cloud. As a decision maker for a business that leverages SharePoint, you’ve probably noticed the growth of SharePoint Online, which is available as part of Office 365 or as a standalone service. But with so much invested in your on-premises SharePoint environment, you may be questioning whether migration to SharePoint Online is the right decision. Below are five reasons why migrating to SharePoint Online is a good idea for your business.

1. Stop worrying about your farm’s performance. Let Microsoft handle it

It is regularly estimated that IT staff spends 80% of its time maintaining and supporting existing infrastructure and systems. This leaves only 20% towards technological innovation. An on premise SharePoint farm requires significant infrastructure and maintenance in order to ensure good performance. With SharePoint Online, Microsoft provides the infrastructure in their massive geo-redundant data centers with dedicated engineers monitoring and optimizing the performance round the clock. Who better to manage your SharePoint infrastructure than Microsoft? Migrating to the cloud cuts capital expenditures on infrastructure while also allowing IT staff to focus more on innovation. Cutting costs and increasing innovation is the best recipe for growing your business. If you aren’t doing it, you can be sure your competitors are.

2. Always the latest features

Microsoft is constantly innovating with over 120 enhancements to Office 365 in the last year. With SharePoint Online, your business can begin to leverage new features as soon as they are released. There is no need to upgrade to a new version of SharePoint. Below are some notable enhancements to SharePoint online. Some of these are available now and others will be rolling out soon:

  • Integration with Delve, the personal search and discovery tool that fetches information you need before you even go looking for it (available now).
  • Data Loss Prevention (DLP) capability which allows you to discover sensitive data that is stored in SharePoint lists and libraries and create policies that can take appropriate actions (some features available now, others in development).
  • Document conversations which enable people to share ideas and expertise around Office documents, images and videos, directly in the context of editing or reviewing (rolling out).
  • More mobile/touch enhancements to ensure a consistent experience across all devices (in development).
  • User activity reports that will allow you to audit SharePoint and OneDrive for Business user actions such as views, edits, deletes, downloaded files, and sharing of files (in development).

To see the full roadmap for Office365, visit http://roadmap.office.com

 3. Heighten security

Yes. I said heighten. Some organizations are initially skeptical of the Cloud because it is new to them or because of concerns around privacy and security. The truth is your SharePoint environment is probably safer in Microsoft’s data centers and here are some reasons why:

  • Physical data center access is restricted to authorized personnel and multiple layers of physical security have been implemented, such as biometric readers, motion sensors, 24-hour secured access, video camera surveillance, and security breach alarms.
  • For Government customers, the Office 365 Government Community Cloud provides an isolated, US based cloud infrastructure that complies with certifications and accreditations that are required for US Public Sector customers
  • Data is encrypted both at rest and via the network as it is transmitted between a data center and a user.
  • Threat management, security monitoring, and file/data integrity prevents or detects any tampering of data.
  • Dedicated threat management teams proactively anticipate, prevent, and mitigate malicious access.
  • Office365 is verified to meet requirements specified in ISO 27001, EU model clauses, HIPAA BAA, and FISMA.
  • Your data is not mined or accessed for advertising purposes
  • If a government approaches Microsoft for access to customer data, they redirect the inquiry to you, the customer, whenever possible and have and will challenge in court any invalid legal demand that prohibits disclosure of a government request for customer data.

The measures taken by Microsoft to secure data exceed the capabilities of many businesses – particularly small to medium sized businesses. For many, the move to SharePoint Online results in a more secure SharePoint environment.

To learn more about Microsoft’s approach to security and privacy, visit the Office 365 Trust center at https://products.office.com/en-us/business/office-365-trust-center-cloud-computing-security

4. It is not as hard as you might think

When I talk to clients that have large SharePoint implementations or significant customizations, they are often concerned about the complexity of migrating to the Cloud. In many cases, however, migration can be painless. Any migration project is simply a matter of having a plan and executing it with the right tools and the right people.

Here are a few points to consider:

  • There are great tools to help whether you are moving some file shares or a farm with 10,000 sites. For example, Metalogix offers a tool called Content Matrix which provides a zero-downtime solution for migrating your SharePoint sites.
  • Microsoft partners can help migrate your custom solutions and adapt them to the new “Add-In” model. You know – like that farm solution you are dreading to have to rewrite?
  • Hybrid is an option for what you have to keep on premise. Some IT managers face a lot of pressure from legal departments or customers to keep certain data on-site. For those situations, you can leverage the hybrid capabilities of SharePoint. Hybrid allows you to decide what goes to the Cloud and what stays. The on-site footprint only needs to be large enough to accommodate the content that stays. Microsoft’s hybrid option allows you to maintain both environments while providing a seamless experience for end users. A great example of this is the unified search coming in SharePoint 2016 (also will be available as an update to SharePoint 2013).

5. It will be the last SharePoint migration you have to worry about

Many SharePoint veterans can remember migrations between versions 2003, 2007, 2010, and 2013 in order to leverage the latest innovations from Microsoft. The good news is that once you migrate to SharePoint online you are done with SharePoint migrations.

Imagine you have a lease on a sports car that allows you to get the newest model whenever it is released. It always has the latest in-dash technology, gets the best gas mileage, has the most horsepower, and now it drives itself because…well… that’s the latest innovation. Once you migrate to SharePoint Online, it is like you are driving that car. Your business will always have the latest content and collaboration technology from Microsoft.

In this article, I’ve covered five reasons why migrating to SharePoint Online is a good decision for many businesses. The next step is to get to work on your migration plan. Need help? Call a Microsoft partner so they can help you plan and implement your migration with the many tools that are available.

As a manager with BlumShapiro Consulting, Joe Werner leads our Content and Collaboration Practice area. He helps businesses leverage technologies such as SharePoint and Yammer to innovate and improve business processes.