Using SendGrid with Azure Functions to Send Email

I’ve been working on a solution for a customer that utilizes SharePoint Online lists and libraries, PowerApps, Logic Apps, and Azure Functions. The solution works something like this: Project documents are stored and updated in a SharePoint Library by office staff. The shop floor needs to access the documents and know at a glance when documents have been updated. The PowerApp displays a count of the most recently updated documents by project and document type, and also displays the documents. A SharePoint List is used to store the counts of the most recently updated documents. The Logic App and Azure Function work together to update the SharePoint List with the counts from the SharePoint Library.

As part of the solution, we wanted a way to be notified if the Azure Function threw an error. This is where SendGrid comes in. SendGrid is a third-party email delivery service. Azure Functions support an output binding for SendGrid, which makes it very easy to integrate into your solution.Here is a grand overview of how my solution (just the Azure Function and SendGrid piece) will work – If my Azure Function throws an error, it will send the error message to Azure Queue Storage. The error message will be stored in Azure Queue Storage until another Azure Function (2) comes and picks it up. Azure Function (2) will use SendGrid to send an email containing the error message. Easy-peasy. You can use SendGrid to send emails for all kinds of reasons – when a customer places an order, you can send a confirmation email with the details of the order; when someone clicks a button on your site to request information, you can send an email with the requested information; the options are endless.

Continue reading “Using SendGrid with Azure Functions to Send Email”

Office 365 January 2019 Good Reads

There are thousands of articles, blog posts, videos and other information being generated every month for Office 365. It’s impossible to review them all but we are going to be posting our top “good reads” for Office 365 content monthly.  There may be one or two items from the Office 365 Message Center in this list occasionally but for the most part we are going to stick with community contributions that we feel may provide value for our customers and our employees.    Without further ado, please find our “good reads” for January 2019 below😉. Continue reading “Office 365 January 2019 Good Reads”

Open Documents Read-Only in Modern SharePoint

We recently were engaged on a project where we were utilizing PowerApps to present documents to employees via a kiosk application.  The employees needed the ability to edit the documents and be able to open them in Office Online by default, but during testing we noticed that employees were unintentionally modifying files in Office Online. The PowerApp was for a heavy industrial fabrication shop and the target users were often wearing welding equipment and various other safety gear so asking them to be more delicate with the tooling wasn’t really a reasonable request. Continue reading “Open Documents Read-Only in Modern SharePoint”

What’s New in Office 365 (January 2019)

Happy New Year! January is here – new year, new you, right? Personally, I don’t believe in all that new year’s resolution stuff. Every day is a new opportunity to live your best life. How about we stick to new year, new updates for Office 365? There are some changes that will increase security, a change that may affect network traffic, best practice guidelines, and as always, an exciting new feature to highlight.  Regarding security, Microsoft is retiring 3DES in Office 365, and sharing links that block download have begun rolling out.  If you have configured your network to restrict resource access to Azure AD IP address ranges, make sure to read the piece on Azure AD updating IP Addresses. PowerApps users will be happy to see the release of a white paper on coding guidelines and standards. And finally, the exciting new feature we are highlighting this month is reminders in SharePoint.   

Continue reading “What’s New in Office 365 (January 2019)”

Restricting Users from Creating Office 365 Groups

Microsoft is very permissive when it comes to creating Office 365 groups. The default is that everyone can create Office 365 groups. Users can create groups from several different applications, and each user can create up to 250 groups. With this kind of freedom, things can get out of control pretty quickly. Before you know it, your environment can have a plethora of Office 365 Groups that may not be useful or even used. Sometimes the old adage is true – just because they can, doesn’t always mean they should.

Continue reading “Restricting Users from Creating Office 365 Groups”

SharePoint Framework On-Premise Deploy via Gulp

SharePoint 2016 Server has support for SharePoint Framework, however there are some features missing that are present in SharePoint Online.

When first learning SharePoint Framework (SPFx), the tutorials provided by Microsoft are geared towards using SPFx in SharePoint Online.  A lot of the knowledge and concepts transfer to SharePoint 2016 Server, however I found a key feature missing: Asset deployment.

SPFx solutions expect you to host your assets (html, javascript, css) in some location that is accessible from your SharePoint site.  In SharePoint Online, the deployment gulp task that comes packaged with SPFx can (and by default, does) deploy your assets to the SharePoint Online App Catalog site.  With SharePoint 2016 Server, asset deployment is your responsibility.  I did not like this at all – I wanted a simple, configurable script/task to run that would deploy my assets where I wanted them to go.

First the setup.  Continue reading “SharePoint Framework On-Premise Deploy via Gulp”

Review of How to Ensure Operational Governance for Microsoft Teams Session from Microsoft Ignite 2018

Microsoft Ignite was held September 24-28 in Orlando, Florida with more than 1600 sessions on all that Microsoft has to offer. This session, by Dux Raymond Sy, covered guidelines for proper governance of Microsoft Teams. Dux makes basic recommendations but cautions listeners that Azure Active Directory P1 is a requirement for some of the features he highlights.

Overall, it was an informative session. Dux does a great job explaining the relationship between Microsoft Teams and Office 365 Groups; and breaking down governance into 3 manageable areas: provisioning, operations and information cycle. Continue reading “Review of How to Ensure Operational Governance for Microsoft Teams Session from Microsoft Ignite 2018”