Tag Archive for Workflow automation

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

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.

How Non-Developers Can Use Microsoft Flow to Create Automated Workflows

In my previous article, Develop Workflows and Business Processes without Developers, I mentioned how there are numerous options for creating workflows without the need to write actual code. In my second article on workflows, I’m going to go a little deeper into one of the options I discussed: Microsoft Flow. As I mentioned, Flow is a drag and drop service solution used to create automated workflows within Office 365. These workflows can connect different applications and services; including enterprise apps (Office 365, SharePoint Online, Salesforce, CRM) and social apps (Twitter, DropBox, MailChimp), to name a few. The drag and drop interface allows for a relatively simple solution for creating an automated workflow.

Getting Started with Microsoft Flow

To get started with Flow, it’s as simple as going to the Microsoft Flow site and then starting to build new applications within the browser. Other options and software require separate applications for you to install to get going. Flow is completely browser-based, so no need to download anything else! Once you are logged into the site, you have the option of using any of the hundreds of templates already built, create a new process from a template or even start out with a blank canvas to create your new workflow. Some templates available with Flow can help with tasks such as:

  • Sending yourself a reminder in 10 minutes
  • Sending a “Working from home today” email to your manager
  • Blocking out your Office 365 calendar for an hour

Note: If you do not have an O365 plan that includes Flow, you can sign up for a free 90 day trial.

Automated Workflow Integrations and Templates

In addition to the many triggers and steps Flow has to offer, there are a lot of different services that integrate with Flow. There are too many to list, and it keeps growing, so follow the URL to see the latest services that integrate with Flow.

Some of the services and templates available can truly make your day to day office tasks easier. For instance, of the out-of-the-box templates, there is a flow to send a “working from home today” email to your manager. You can even take that template and tweak it so that it’s also a “don’t forget to submit your timesheet” button that you press once a week to your direct reports. Anything that is repeatable can easily be made into a Flow process.

Some more advanced templates integrate with other third party services. For instance, there is a template which automatically creates a Dynamics CRM entry from a SharePoint list item. Imagine having a SharePoint list which allows users from across the company to add in potential sales contacts. Not all users in your organization may have access to CRM, so when they create an entry using the SharePoint list, Microsoft Flow will automatically trigger and enter the sales contact entry into CRM without any action. You can easily configure this template to have an approval step if the process feels too automated!

Microsoft Flow on the Go

For remote workers, there is a mobile app for iOS and Android that allows you to trigger the workflows or get notifications by the press of a button. So you can open the Flow app, and trigger your email without the use of your computer. You even have the ability to send SMS (text messages) from the flow itself. So, if you are out-of-the-office, enable the Flow which texts you anytime your favorite client emails you, and you will be ahead of the game.

By using Microsoft Flow, your users can create workflows into back-end systems to help run business processes – all without having to call IT! Flow has provided users with the empowerment to work and create their own automated workflows. Still need help implementing automated workflows for your organization?  Looking for help with a workflow that is too advanced for Flow or need to integrate with systems not yet available with Flow? Contact us and see how BlumShapiro Consulting can help get you started on your way and assist.

About Brent:

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.

What is Workflow Automation? And Why Should I care?

Time. Workflows save time by automating processes.

Time is the only resource that you can’t create, buy, acquire, borrow or steal. That, makes time incredibly valuable, which has been recognized by great thinkers throughout the years.

  • “You may delay, but time will not.” Benjamin Franklin
  • “The future is something which everyone reaches at the rate of 60 minutes an hour, whatever he does, whoever he is.” C. S. Lewis
  • “My favorite things in life don’t cost any money. It’s really clear that the most precious resource we all have is time.” Steve Jobs
  • “Time is the most valuable thing a man can spend.” Theophrastus
  • “We must use time as a tool, not as a couch.” John F. Kennedy

And for the more practical, less philosophically minded, “Time is money.” Benjamin Franklin

Workflows create time for people by automating routine processes by machine. It’s that simple.

For any division, organization or line of business that has a routine process that is used regularly, it is worth investing in the development of an automated workflow.

Workflows for Human Resources:

Need to onboard a new hire? There’s a workflow for that.

Need to manage a review process? There’s a workflow for that.

Workflows for Procurement:

Need to send out an RFQ? There’s a workflow for that.

Need to evaluate a vendor? There’s a workflow for that.

Workflows for Finance:

Need to close out year end? There’s a workflow for that.

Need to publish an annual report? There’s a workflow for that.

Workflow for Marketing:

Need to put together a launch campaign? There’s a workflow for that.

Need to manage your social media? There’s a workflow for that.

Here’s how it works, in a simple example. Using an “off the shelf” tool you can have your phone check the weather and remind you to dress appropriately.

IF it’s likely to rain today THEN text me a message to bring my umbrella.

Have trouble maintaining your inbox and afraid you’re going to miss an important message from your manager?

IF <manager> sends me an email, THEN text <number>.

These are both super easy to set up with drag and drop workflow automation tools like “If this then that” and Microsoft Flow.

Workflows not only save time, they can relieve workers of a monotonous routine function enabling them to focus on more important work.

Workflows can capture institutional knowledge—reducing reliance on an individual by putting process into a system that can be shared and used by the entire organization. When a process is independent of an individual, that process can be decentralized, meaning that the knowledge of that process can be shared at scale.  Decentralized processes create speed, efficiency and transparency, critical factors in digital transformation.

In short, workflows save time through basic automation.  What’s amazing about workflows is how easily they scale, saving a little time for many which adds up to a whole lot for the organization.

About Noah:

240-Ullman,-NoahNoah is the Director of Business Development for BlumShapiro’s Technology Consulting Group. He brings over 25 years of business experience from entrepreneurial start ups, to over a decade of working at Microsoft in various sales, marketing and business development roles. Noah has launched Windows XP, Office XP, Tablet PC, Media Center PC, MSN Direct Smartwatches (an early IoTattempt), several videogames, a glove controller, and a wine import company/brand. Noah spent three years living overseas building out Microsoft’s Server and Tools business in Eastern Europe working with the IT Pro and developer communities. He considers himself a futurist, likes science fiction and loves applying what was recently science fiction to real world problems and opportunities. 

Workflow Automation Brent CTA

Develop Workflows and Business Processes Without Developers

Companies are beginning to embrace technology at a higher level. However, there are still a number of businesses that have processes, a.k.a. workflows (an automated process) that rely on a user to manually enter information into an Excel spreadsheet. This spreadsheet can range from a simple list to one which has “complex” calculations that accounts for crazy exceptions (like adding 2% to the total if the month ends on a Tuesday while raining). These lists usually have one or two gatekeepers who know their calculations by heart, so if they leave the organization, the process becomes a headache for someone else or worse—grinds the business to a halt. Bottom line, it could be bad for a company.

Imagine taking your complex process and developing an application to take it over. This may seem like a steep challenge, but in today’s technological marketplace, there are services and apps that can help users create workflows and apps. Taking advantage of the technology to create these apps and workflows provides a huge benefit by getting the process knowledge and logic out of one person’s hands and into an automated process—making it accessible by anyone. This will also help to document the process and uncover any inefficiencies and deficiencies.

Microsoft, among other companies, are gearing application and workflow development toward power users and away from developers. These products are built with users in mind first, using a drag and drop interface. Most of the software tools are intuitive so little direction is needed to develop these workflows. These users already know the process intimately and don’t need to learn C# or Java or whatever language they have never heard of. However, having a technology specialist can still provide insight into workflows that might not have been thought of in the first place.

Workflow Automation Products

Below are a few Software as a Service (SaaS) workflow products that are geared towards power users.

Microsoft Flow

Flow is a drag and drop service solution used to create automated workflows in Office 365. These workflows can connect different applications and services; both enterprise (Office 365, SharePoint Online, Salesforce, CRM) and social (Twitter, DropBox, MailChimp). For example, you can easily create a Dynamics CRM entry from SharePoint list items. This happens to be a preconfigured template; requiring little effort to implement. Flow also has the ability for you to create your own custom workflows using their drag and drop interface.

PowerApps

PowerApps is a service that allows users to build Android, iOS and Windows apps without writing any code. This SaaS allows you to connect custom APIs, SharePoint, Excel, etc., and turn this data into an app. You can easily create an app to list and fill out information. Users outside of the office can use these apps on their phones and all of the data would be up-to-date in a SharePoint Online list, Excel, etc. Like Microsoft Flow, it is also hosted in Office 365 and has pre-built templates.

Power BI

Power BI is a service which can be used to build dashboards and data analytics reports using data from different sources within your organization. There are out of the box connectors to programs like Excel, Project Online, Adobe Analytics, Salesforce, CRM and others. Power BI can improve processes, even when data is in different locations that requires someone to pull together data from different places into one location. For example, say all project financials are located in an Excel spreadsheet over in Finance, yet the actual project costs are tracked by each individual team. To get all of this data into one report, someone would need to get the data from at least two different sources and merge them into one report. Power BI can automate that. Power BI is used to aggregate data from different sources into one location. In our example, instead of an executive calling on someone to get the numbers, compile them and produce a report; those numbers are displayed in Power BI, which is always up-to-date, and can even be drilled into or associated with key performance indicators (KPIs).

SharePoint Workflows

SharePoint workflows are also designed for a power user to create business processes (workflows). These can run on either SharePoint on premise or online. These workflows work well for approvals and processes that reside in SharePoint. External site integration is possible out of the box, but it does take some technical knowledge to do this. Some products fill that gap and have created a usable drag and drop interface with pre-built connectors. Two top vendors are Nintex and K2. Just like Microsoft Flow, users can build workflows by dragging actions onto a canvas.

Which Workflow Tool is the Best?

We recommend that organizations evaluate all software and services that are available to determine which product would best suit their unique business needs. They should look at features such as which product might integrate best with their existing software and what is the future software/technology strategy of the organization?

How can we help?

All organizations can benefit from streamlining processes or eliminating manual tasks. Workflows are easier to create than ever before, however, having the technical expertise of a consultant can be extremely beneficial. By being able to leverage our past experience and intimate knowledge of the products you need, we can determine the best technology for your project and implement the process along with guiding and training your users to do this themselves.

About Brent:

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.

Workflow Automation CTA