Tips & Tricks

Using Microsoft Flow & Azure Cognitive Services to automate sentiment analysis of Yammer posts

yammer sentiment flow-14

As an Office 365 product manager and corporate evangelist, I’m responsible for engaging users and driving adoption of Microsoft Collaboration tools. Measuring the saturation and use of Office 365 is a key part of my role. Yes, I regularly review Office 365 usage metrics for high-level trending. But metrics alone don’t tell the story of user satisfaction and adoption. In order to build better training and adoption programs, I need to understand why my dedicated users love the tools and why others remain resistant.

Many companies rely on surveys to gather end-user feedback. While surveys are useful for gathering specific types of quantitative data, surveys are one-dimensional. You can’t dynamically ask follow-up questions to learn more about specific survey responses, and you can only capture a limited set of data points. Innovation games enable you to gather a much broader set of quantitative and qualitative user data, but require an investment of time to facilitate games and distill the results. For best results, I recommend a multidisciplinary approach that leverages Office 365 usage statistics, user survey responses, innovation games data, user testimonials, etc. to measure user satisfaction. 

With the release of artificial intelligence (AI) and machine-learning algorithms, we also have the ability to gather user sentiments automatically. If your organization uses Yammer to drive employee engagement and empower open dialogue, you have a wealth of user data that can be analyzed. With Azure Cognitive Services and Microsoft Flow, you can perform automated sentiment analysis of your Yammer group posts. Sentiment scores for each Yammer message can be stored in SharePoint and visualized for trending analysis via Power BI. You can even send push email notifications to your Office 365 administrators or Corporate Communications team when strong positive or negative messages are posted in Yammer.

Chris Bortlik, Principal Technical Architect for Microsoft, recently shared a blog post on Yammer sentiment analysis. I used Chris’ model, with a few modifications, to gather and report on Office 365 user sentiment.

The scenario:
My organization leverages a Microsoft Flow Yammer group to foster employee conversations and questions/answers about flow. We want to monitor the Microsoft Flow Yammer group using sentiment analysis so we can:

  • Identify negative flow Yammer posts that require follow-up
  • Identify positive Yammer posts that can serve as user testimonials or references
  • Define trends in our Microsoft Flow Yammer posts (e.g. daily/weekly/monthly positive and negative trends, overall positive or negative sentiments for flow, etc.)
  • Validate the success of our Microsoft Flow education and adoption program (e.g. confirm we’re seeing growth in the volume of positive flow Yammer posts over time)

The setup:
Follow the steps outlined below to set up automated Yammer sentiment analysis.

Step 1: Confirm you have a Cognitive Services Text Analytics Account. In order to set up this solution, you will need a Cognitive Services account key and a root site URL.

Step 2: Create a SharePoint list to store your Yammer sentiment analysis scores. Flow will create a new item in your list for each Yammer message it analyzes. Here’s a list of the custom columns I added to my list:

  • Score – Number column; stores the sentiment rating for each Yammer message
  • Message link – Hyperlink column; stores a link to the rated Yammer message
  • Posted by – Person/Group column; stores the name of the person that posted the Yammer message
  • Thread ID – Single line of text column; stores the Yammer thread ID for the message. Enables you to sort, filter, and group sentiment scores for a given Yammer thread (including original message and replies).

Azure Cognitive Services will provide a numeric sentiment score between 0 and 1 for each Yammer message it analyzes. The more negative a Yammer message is, the closer to 0 its score will be. More positive messages will receive a rating closer to 1.

Here’s a screen shot of my SharePoint list. Each list item represents a rated Yammer message:
Yammer sentiment flow-11.png

Step 3: Identify the Yammer group you want to perform sentiment analysis on. You can set up sentiment analysis for multiple Yammer groups, but each will require a separate flow process. I also recommend setting up a different SharePoint list to hold sentiment scores for each of your Yammer groups. (Having different SharePoint lists enables you to set up different trending reports on Yammer group sentiment.)

Step 4: Create your Microsoft Flow. I created my flow from scratch (not using a template). Here’s a quick breakdown of the flow conditions and actions:

  • When there is a new message in a group – Detects when a new Yammer message is posted in my Yammer group
  • Get user details – Pulls Yammer user profile details. (Enables us to capture the full name and email address for the person posting the Yammer message.)
  • Detect Sentiment – Calls the Azure Cognitive Services API so it can calculate a sentiment score for the Yammer message
  • Create item – Creates a SharePoint list item for the Yammer message being analyzed
  • If the comment is negative – Sends an email to my Office 365 admin team if the sentiment score for a Yammer message is ≤0.3.
  • If the comment is positive – Sends an email to my Office 365 admin team if the sentiment score for a Yammer message is ≥0.7.

Step 5: Create Power BI report(s) to visualize your Yammer sentiment scores. Published reports can be rendered in your SharePoint Online Communications or Team sites using the Power BI web part. For help in setting up sentiment analysis slicers, check out this DataChant blog post.

Here’s a sample dashboard that shows Yammer sentiment data for my Microsoft Flow Yammer group:

yammer sentiment flow-14

Step 6: Distill the results. Once you start calculating Yammer sentiment and have reports to visualize the data, you can analyze the results and follow up where needed. Here are a few ideas to get you started:

  • Break down negative Yammer posts (e.g. posts with a score ≤0.3) by user. Schedule follow-up meetings with Office 365 end-users that consistently post negative messages. The goal is to ask questions and understand the pain points the users are facing. Perhaps they have hardware or network issues that impact their productivity. Or maybe they’re having issues with Microsoft Flow and need a coach/mentor to spur their learning. Having one-on-one dialogues provides the opportunity for candid feedback and enables you to make a difference in the user’s productivity and technology experience.
  • Identify Office 365 enthusiasts. Break down Yammer posts by volume or by high sentiment average in order to find power users across your organization. Set up meetings with these enthusiasts to understand how they leverage Office 365. Incorporate them into your user group or internal community and support them in their growth. These enthusiasts can become your Office 365 evangelists!
  • Monitor the volume of Yammer posts in your group. Build a gauge that shows your number of Yammer messages month-to-date and identifies progress towards your monthly Yammer message goal. Keeping an eye on your total posts month-to-date and year-to-date will help you monitor use over time and highlight areas you may need to invest additional time and adoption efforts in.

yammer sentiment flow-15

  • Optimize your communications. If one of your Office 365 admin resources has consistent negative Yammer sentiment scores, have them evaluate the verbiage they’re using. Slight wording changes can change the tone of their messages, increasing Yammer sentiment scores and better engaging with end-users.
  • Take a health pulse. Build trending visuals that show average post volumes and sentiment averages by week or month. If you start seeing spikes on volume of posts and/or significant changes in your sentiment averages, it’s time to dig deeper. Perhaps you’re seeing a spike in interest in PowerApps after a compelling user group presentation or have network bandwidth issues that are causing issues. Either way, Yammer sentiment analysis can be your early warning indicator that something has changed.

Welcoming the magic of Flow to OneDrive

In November 2017, Microsoft released its integration between Flow and OneDrive. Users can now create flows in OneDrive that will perform actions on OneDrive documents or folders. There are a wide variety of flows you can create, including:

  • Saving a copy of email attachments to a specified OneDrive folder
  • Routing OneDrive file(s) for approval
  • Sending OneDrive file(s) to other users
  • Sending links to OneDrive file(s)
  • Requesting feedback on OneDrive file(s)
  • Sending OneDrive file(s) to Microsoft Teams
  • Setting up alerts when new document(s) are uploaded
  • Searching for files in a given OneDrive folder
  • Copying OneDrive files
  • Converting OneDrive files to PDF
  • And more….

Because I present at multiple conferences/events per year, I wanted to test the capability of using Flow to convert my PowerPoint files to PDFs for easy sharing with conference attendees. I set up a flow in OneDrive to perform a PDF conversion on whichever files I select. I was able to use one of Microsoft’s standardized templates for the flow, with only a couple of minor tweaks.

Here are the steps to re-create this PDF conversion flow:

  1. Open OneDrive.
  2. Click on the Flow link in the OneDrive ribbon and select Create a flow.
  3. When the window of flow templates appears, select the Convert selected file to PDF option.
    Flow_OneDrive_02If this is your first time using Flow, you’ll be asked to choose your country and click on the Get started button.
  4. You’ll be taken to a detail page that has information on the Convert selected file to PDF template. If this is your first time using Flow, you may be prompted to sign in and authenticate to OneDrive so the flow can be built. Simply click the Sign in button to log in. Once you’re logged in successfully, the Sign in button will be replaced with a Continue button. Click Continue to start working on your flow.
  5. The template will populate, showing you all the preconfigured options for your flow. The flow is designed to save the selected file in PDF format and upload it to the root of your OneDrive folder structure. These default options are good, but I opted to make two changes to my flow:
    1. I clicked into the Flow name field and re-named my flow to PDF converter flow. This is the name that will show up in my menu of flows to run in OneDrive.
    2. I wanted all my converted PDF files to be stored in my OneDrive Presentations folder. To configure this option, I opened the Create file step and specified the creation folder path of /Presentations. (Note: If you choose to use a custom folder to store your PDFs, you must create the folder in OneDrive before you can specify the folder name in your flow.)
    3. Once these changes were made, I clicked on the Create flow option to create my new flow:
    4. Flow_OneDrive_04.png
  6. Once my flow is created, I’m taken to the complete screen. All I need to do is click Done to exit.
  7. Now I’m taken to the overview page for my new flow. I can see that this flow is turned on and is set up to run on my OneDrive account. I also see a run history box. An audit record for each run of this flow will be recorded in the run history.
  8. Now I’m ready to return to OneDrive and test my new flow. To do this, I navigated back to OneDrive, selected the file I wanted to convert to PDF, clicked on the Flow dropdown menu and selected my new PDF converter flow.
  9. After waiting 5-10 seconds, I refreshed my page and there’s my new PDF!

A few lessons I learned during the process of setting up this new flow:

  • Neither the free version of Flow nor the E1 tenant license supports PDF document conversions. While the free version of Flow and my E1 tenant could be used to create other flows, the PDF converter required at least an E3 Flow license.
  • The PDF conversion flow can’t be run against multiple files at once. I had to start the PDF converter flow for each file individually.
  • PDF conversion speeds are variable based on file size. A 51MB PowerPoint file took almost a minute to convert. Small PowerPoint files converted in under 8 seconds.

If you’d like more information on the integration between Flow and OneDrive, read the blog post announcement from the Flow team.

Innovation Games: An Introduction

Let’s start with the obvious question–what are Innovation Games?

Innovation Games are a set of simple games you can play with your customers, your peers and your project teams to build shared understanding. There are a wide variety of Innovation Games; each game is designed to elicit a different outcome or data set. Some games can help you uncover unmet market needs. Other games are geared to driving product design, building/repairing relationships or creating strategic plans. The games themselves are just tools; a set of gaming principles and best practices you can leverage to gather qualitative information. The data gathered through Innovation Games can be used to shape strategies, gain momentum and build bridges with core constituent groups. Bottom line: Innovation Games are a fun way to engage your customers, your employees and your teams.

In September 2015, I led an introductory workshop on Innovation Games for MNSPUG (the Minnesota SharePoint User Group). The session introduced the concept of Innovation Games and highlighted how Innovation Games can help teams gather requirements, build consensus, drive strategic direction and recover broken work streams and projects. MNSPUG attendees were able to see Innovation Games at work firsthand. Don Donais, Liz Sundet, Matt Ruderman and I facilitated a live version of the Low-Tech Social Network and four separate iterations of the Speedboat game during the 3-hour workshop. Check out the pics of our completed games below.

This slideshow requires JavaScript.

If you’re interested in learning more, check out the MNSPUG session recording below. (A big thanks to the folks at Avtex for providing the recording.) To help you navigate the lengthy session, track times are outlined below.

07:48 – Kickoff of the Innovation Games session
11:29 – What are Innovation Games?
15:45 – Why use Innovation Games?
26:45 – How do Innovation Games work?
34:08 – Introduction of the Low-Tech Social Network game
44:33 – Introduction of the Speedboat game
59:00 – Summarizing the results of your game
01:15:30 – What types of other Innovation Games are there?
01:32:07 – Resources/Recommended Follow-Up Reading
01:34:00 – Video of MNSPUG attendees playing the Low-Tech Social Network game
01:35:52 – Results of the Low-Tech Social Network game
01:39:00 – Video of Sarah teaching attendees how to facilitate a Speedboat innovation game

How do I disable the Edit link on my SharePoint 2013 pages?

Did you know that granting your end-users Contribute level access in SharePoint 2013 enables them to edit wiki and web part pages across your site (including your site’s home page)?

Site pages are stored in the Site Pages library by default. Since this library automatically inherits its permissions from the site, anyone with read/write access to the site also has read/write access to all site pages. Users with read/write access will see the Edit link shown below whenever they navigate to a site page.


So how do you grant your users Contribute (aka read/write) access to your site and ensure they don’t get an Edit link on site pages? You change the permissions for your Site Pages library. If you grant users Contribute access to your site but read-only permissions to your Site Pages library, they will be able to view all your site pages but not edit them.

Here are the steps to modify the permissions for your Site Pages library:

  1. Go to your site.
  2. Click on Gear > Site contents.
  3. Find and click on your Site Pages library.
  4. Click on the Library tab and then click on the Library Settings button.
  5. Click on the Permissions for this document library link.
  6. Click on the Stop Inheriting Permissions button on the page’s toolbar.
  7. Say OK to confirm you want to customize the permissions for this library.
  8. Modify the library’s permissions as desired.

TIP: Make sure you give users read access to your Site Pages library. This will ensure they can see and access your site’s home page.


Having trouble lining up your SharePoint 2013 app parts on your wiki pages?

If you’ve built any new wiki pages in SharePoint 2013, you may have experienced some issues getting your web parts to line up nicely–particularly if you’ve modified the text layout of your wiki page to have multiple side-by-side columns. The columns make it easy to line up multiple app parts side by side, but the wiki pages’ tendency to add in extra paragraph spacing above some of your app parts can make it hard to line up all your app parts on the same vertical axis point. Here’s an example of a page that is suffering from some extra paragraph spacing:


As you can see in the shaded yellow box, I’m getting an extra paragraph of space above my app part in the left-most column of my page. These extra spaces seem to occur on wiki pages specifically, and usually in the left-most column of my page.

I could solve this problem by creating a Web Part Page instead of a Wiki Page (since web part pages don’t throw in these extra spaces), but I still wanted to figure out how to troubleshoot this type of issue on a wiki page.

Here are the steps I followed to create the wiki page shown above:

  1. Go to Gear > Add a page
  2. Type in a name for your page. (I named mine Queue.) At this point a new wiki page is created and saved in the Site Pages library of your site.
  3. Set the text layout for the page. Go to your Format Text ribbon, click on Text Layout and select Three columns with header
  4. Now you’re ready to insert your web parts. Place your cursor in your header zone, click on the Insert ribbon and select Web Part.
  5. We’re going to insert an image here, so click on the Media and Content web part category and then select Image Viewer and click on Add.
  6. I’ll add in my image by clicking on the open the tool pane hyperlink in my new Image Viewer web part. Here’s our finished image:
  7. Now we’re ready to add some app parts to the page to render our list data. I’m going to add 3 app parts to the page–one in each of my page’s 3 columns. Here are the steps I followed to add each app part:
    1. Click into a column.
    2. Click on the Insert ribbon and select App Part.
    3. Choose the list or library you want to use and select Add.

Once I finish adding my 3 identical app parts to my page, this is what I see:


I tried simply placing my cursor in the extra space and hitting delete, but that deletes my app part entirely. The best way to remove this extraneous spacing is to edit the source of the page and remove the offending HTML paragraph tags. Here are the steps to perform this cleanup:

  1. Place your cursor in the extra paragraph space you want to get rid of.
  2. Click on the Format Text ribbon and select Edit Source.
  3. Notice the spare paragraph tag located at the top of your HTML Source. (Shown highlighted in yellow below).
  4. Highlight all the text on line 1 of your HTML Source and press your Delete key to remove it.
  5. Press OK to save your changes.

The trouble with filtering on workflow status columns…

Have you ever tried to filter a SharePoint list or document library view using a workflow status column? It’s harder than you’d think…

Workflow status columns report the current status of a workflow. A unique workflow status column is created in your list (or document library) automatically when you create a new out-of-the-box or SharePoint Designer custom workflow. Conveniently, SharePoint uses the name of your workflow as the name of your workflow status column. An example workflow status column is shown below (in yellow). This Email-notification column reports on the status of the Email-notification workflow.


Being a savvy SharePoint user, you’d think you could use the workflow status verbiage as a filter for your list or document library view. Unfortunately, you’d be wrong. You cannot filter your list or library records using the displayed verbiage in your workflow status column(s).

Let’s take a look at an example:

I have a Team assignments list (shown below). It’s a very simple list that allows people to sign up for product areas they want to support. When a new item is created, a custom SharePoint Designer workflow runs and sends some automated notification emails. I can keep tabs on my workflows using the Email-notification workflow status column. As you can see, I currently have items in several different workflow statuses–2 of my list items are in Completed status while another 2 are in In Progress status.


Now let’s say I wanted to create a new list view that only shows me list items that are in Completed status. I go to the List tab, click on Create View and set up my view filter to display only the items where Email-notification is equal to Completed. Sounds perfect, right?wf-filtering-02

Unfortunately, this view shows zero results–despite the fact that I know I have items whose workflow is in Completed status. Why does this happen? Because Microsoft actually uses numerical status codes to demarcate workflow states. While SharePoint displays “friendly” descriptors for their workflow states (e.g. In Progress or Completed), you need the numerical status codes to be able to filter against the workflow state. The difficult part is finding the correct numeral for the workflow state you want to filter against.

After doing some searching online, I found that the numeral 5 denotes a Completed workflow. When I update my view to filter and display only the items where Email-notification is equal to 5, my list returns the Completed workflow items I was looking for. Here’s a picture of my working filter:


The trick, of course, is figuring out what numerals are used for the other possible workflow states. Here’s a quick list of the workflow states I typically filter against:

  • In Progress = 2
  • Approved = 16
  • Error Occurred = 3
  • Not Started = 0

For a more exhaustive list of workflow status codes, visit

Richard Harbridge presents: Why use SharePoint workflow?

I love SharePoint workflows. I believe they’re an essential building block in the routing and tracking of your business data. But understanding where (and how) to use workflows is a challenge–particularly when you’re new to SharePoint.

Richard Harbridge (SharePoint thought leader and speaker) recently published a conceptual guide to SharePoint workflows. Here’s an excerpt of his post:

SharePoint Workflow: What Should We Use It For? What Are Other People Using It For?
We all know that we should always aim to automate and improve our business processes more. Many organizations reap enormous benefits from improving the way they work alone or with other people through enabling technologies like SharePoint. The big question is how do we start? Or perhaps which processes or workflows should we automate and improve first? This article dives into this issue and offers advice and recommendations based on successful experiences with many customers.

The post goes on to 1) describe the initial scenarios and conversations many SharePoint users have about workflows, 2) define the types of workflows that can be  used and 3) explain the rules under which the workflows should be used to automate business processes. If you are new to SharePoint (or are a SharePoint advocate that wants to understand how workflows can benefit your organization), check out Richard’s post. You won’t be disappointed.

Limitations on modifying content types via SharePoint Designer reusable workflows

Man's hand tied  limitation with a rope. On a white background.If you’ve read my blog post on using content types to modify your NewForm.aspx and EditForm.aspx pages, you know how fond I am of using SharePoint Designer workflows to flip the values in my Content Type fields. Since content types control which fields are displayed on your forms, they provide an easy way to customize the input forms for your lists and libraries. The trick is building SharePoint Designer workflows that automate the transitions between your content types. By flipping the value in your Content Type field via workflows, you make your list and library forms look dynamic–all without the effort of building custom ASPX pages.

Unfortunately, I hit a major snag this week while trying to modify the Content Type field in a reusable workflow in SharePoint Designer 2010. No matter how I set up my reusable workflow (e.g. assigning the workflow to work with one content type or ALL content types), I couldn’t use the Set field to… action in SharePoint Designer to reset the value in my Content Type field. Neither the Content Type nor the Content Type ID field appeared in the list of columns I could select to update. And I couldn’t add the Content Type or Content Type ID field as Associated Columns either.


I did some research, talked with a few smart folks and finally figured out why the Content Type field cannot be modified via a reusable workflow. Unlike “normal” list workflows, reusable workflows aren’t tied to a specific document library or list when they are created. Reusable workflows are built and published independently so they can be ported–or assigned–to any of your site collection’s libraries or lists. Unfortunately, the portability that makes the reusable workflows so useful also inhibits the workflow’s ability to modify the Content Type field.

When you associate a content type to a document library or list in SharePoint, the document library or list sees and recognizes the new content type’s ID. Because it knows the content type IDs that are associated to your list/library, SharePoint Designer allows you to query against the content type and update it via a workflow. Reusable workflows aren’t associated with document libraries or lists until after they’re published. As a result, SharePoint Designer can’t see or obtain any relevant content type ID(s) during workflow creation. This is why SharePoint Designer locks out the Content Type and Content Type ID fields from being updated via reusable workflows.

The only ways I’ve found to work around this issue are:

  1. Use list workflows instead of reusable workflows.
  2. Use reusable workflows, but leave out the Content Type field flipping. Your users will just have to reset the Content Type field by hand.

Anyone have additional ideas?

You may want to rethink your column names…

Depositphotos_2506386_mWhen I started working with SharePoint in 2003, I used multi-word names for everything–my sites, my libraries and lists, even my column names. It didn’t take me long to realize that spaces wreak havoc on my URLs. Since each space in my name causes a %20 string to appear in my URL, my URLs quickly became long and unwieldy.

Creating a new SharePoint site named Help Desk, for example, results in the URL:

If I create a new document library on that site named Sarah Haase, my new library’s URL lengthens to:

And when I add the nested folders Fiscal Year 2013 > Projects > Project X > Design Documents to my document library, my URL extends to:

You can quickly see how a deep nested folder structure (complete with spaces in your library and folder names) can negatively impact your user’s URL experience. But this problem is easily circumvented. If you create your sites, document libraries and lists using names without spaces (e.g. HelpDesk), you’ll avoid adding %20 strings to your URLs. Once your sites, libraries and lists are created, you can go back and update their names to include spaces. This will add “friendly” spaces back into your site, library and list names without damaging your nice (short) URLs.

But what about column names?

I recently learned that spaces in your column names can also cause difficulties. When you create a new document library or list column, SharePoint automatically sets an “internal name” for the column. This internal name is the ID for your column. You may need to know and reference this internal name as you build out new SharePoint solutions or customize the look and feel of your Content Query Web Parts (CQWPs).

So how do you find out what the internal name is for your columns? Go into your document library settings or list settings page and click on the hyperlink for your column. When the column’s detail page appears, take a look at the URL that appears at the top of the page. Your column’s internal name will appear at the end of the URL after the string Field=


SharePoint bases your column’s internal name off the “friendly name” you give your column when you first create it. If you create a new column named DocumentType, for example, your column’s internal name will be DocumentType.

If you include spaces in the name of your new column, SharePoint adds a string of additional characters to your column’s internal name. As the following screen shot illustrates, a new column named Category Type results in the internal name Category%5Fx0020%5FType


The more words you add to your column’s initial name, the longer your column’s internal name will become. If you name your column:

What is your business justification for this change

Your column’s internal name will be:


Once your column is created and the internal name is set, you cannot change it. Your only option is to delete your initial column and re-create it.

To limit the length and complexity of your internal column names, treat your columns like you treat your document libraries, lists and sites. Keep your column names short and do not include spaces. Once your column is created and your column’s internal name is defined, you can always go back in and edit your column name and add additional words or spaces. This will make your column name more “friendly” without lengthening your column’s internal name.


And think carefully before you repurpose old columns in your lists and libraries. While you may change the name of your column an infinite number of times, the internal name for your column won’t change.


I first learned about internal column names during Peter Serzo’s CQWP session at SharePoint Saturday Twin Cities. For more information on the “limitless” CQWP, see Peter’s presentation.

Wes Preston recently published a blog post on internal columns and their impact on the client-side rendering functionality in SharePoint 2013.

How do I change the URL users are sent to after they fill out a New Item form?

This is a common request, particularly if your site has quite a few lists. Rather than bogging your users down with navigating into (and out of) each list, you may want to give your customers a quick and easy way to jump from your site’s landing page into your list forms and then back to your site’s landing page. The steps would look like this:

  1. Customer comes to your SharePoint site.
  2. Customer sees on your landing page a list of the form(s) that apply to them. They click on a link to go to the form they need.
  3. They fill out the form and click Save.
  4. They’re automatically returned to your SharePoint site’s landing page.

The first 3 steps are fairly straightforward, but step #4 is interesting. Normally, you are automatically taken to your list’s default view when you fill out and save a new item request. We want to change this default behavior. We don’t want our users to be taken to our list’s default view, because they don’t need to see all our list data. We want them to find their form, fill it out and then return to where they started. Fortunately, there’s a quick way to alter your user’s default path. By creating a custom link to your form and modifying the link’s HTML code, you can force SharePoint to take your end-users back to their starting point once they’ve finished filling out their form.

There are a variety of ways to modify your hyperlinks, including making customizations via SharePoint Designer. This blog post focuses on building these custom hyperlinks with out-of-the-box SharePoint web parts. Since the process differs slightly for MOSS 2007 and SharePoint 2010, I’ve included setup instructions for both platforms.

MOSS 2007 setup

First, you need to obtain the hyperlink for your list’s New Item form. Here are the steps for capturing this URL:

  1. Go to your site’s landing page.
  2. Click on Site Actions > Edit Page.
  3. Click on one of the Add a Web Part buttons.
  4. Select your list and click on the Add button. A web part for your list will be added to your site’s landing page. (Don’t worry–we’ll delete this web part in just a minute.)
  5. Right-click on the Add new item link that displays in the bottom left-hand corner of your list view web part. When the pop-up menu appears, select Copy Shortcut.
  6. Now you’re ready to delete this list view web part. Click on your web part’s edit link and select Delete.

Now that you have your New Item form’s URL, you’re ready to customize the URL and add it to your site’s default.aspx web part page. (Note that the steps outlined below can be used to add custom hyperlinks to any SharePoint web part page. You are not limited to adding these links to your site’s landing page.)

  1. Go to your site’s landing page.
  2. Click on Site Actions > Edit Page.
  3. Click on one of the Add a Web Part buttons.
  4. Scroll down the list of web parts until you find the Content Editor Web Part. Select this web part and click on the Add button to add it to your page.
  5. When the web part gets added to your page, it will appear with an open the tool pane hyperlink. Click on the hyperlink to configure this new web part.
  6. When the web part pane appears, click on the Source Editor… button.
  7. When the text entry box appears, key in the HTML code shown below. Replace the text highlighted in yellow with the URL for your new item form. Replace the text highlighted in blue with the verbiage you want displayed as your link. Leave the text highlighted in pink–this is the magic code that will make your hyperlink return users back to your site’s landing page after they submit their form.
  8. Click Save to save your changes.

That’s it! Your first HTML link is ready to go. Test it out and validate that it is working as desired.

You may want to pretty up your Content Editor Web Part a little bit (e.g. change the name of the web part and add additional form links), but otherwise you are ready for business. Here’s a picture of my finished page:

And here’s a picture of my final Source Editor code:

Note that I added some additional HTML tagging around my links–just enough to create a bulleted list for my form links. You can add in as much (or as little) HTML tagging as you want.

SharePoint 2010 setup

First, you need to obtain the hyperlink for your list’s New Item form. Here are the steps for capturing this URL:

  1. Go to the list you want to create a custom hyperlink for.
  2. Right-click on the Add new item hyperlink that appears at the bottom of the list view page. When the pop-up menu appears, select Copy Shortcut.
  3. Open a new browser window.
  4. Go to the address bar and do a Ctrl+V to paste in your newly copied URL.
  5. Press Enter. You will automatically be redirected to your list’s New Item page.
  6. Copy the updated URL that appears in your address bar–this is the URL you’ll be using to create your custom hyperlink.

Now that you have your New Item form’s URL, you’re ready to customize the URL and add it to your site’s Home.aspx web part page. (Note that the steps outlined below can be used to add custom hyperlinks to any SharePoint web part page. You are not limited to adding these links to your site’s landing page.)

  1. Go to your site’s landing page.
  2. Click on Site Actions > Edit Page.
  3. Click on the Insert subtab.
  4. Click on the More Web Parts icon.
  5. Click on Forms, select the HTML Form Web Part and click on the Add button.
  6. Once the new HTML Form Web Part is added to your page, click on the chevron for the web part and select Edit Web Part.
  7. When the web part pane appears, click on the Source Editor… button.
  8. Delete the text that appears in the text entry box.
  9. Key in the HTML code shown below. Replace the text highlighted in yellow with the URL for your new item form. Replace the text highlighted in purple with the verbiage you want displayed as your link. Leave the text highlighted in pink–this is the magic code that will make your hyperlink return users back to your site’s landing page after they submit their form.
  10. Click Save to save your changes.

That’s it! Your first HTML link is ready to go. Test it out and validate that it is working as desired.

You may want to pretty up your HTML Form Web Part a little bit (e.g. change the name of the web part and add additional form links), but otherwise you are ready for business. Here’s a picture of my finished page:

And here’s a picture of my final Source Editor code:

Note that I added some additional HTML tagging around my links–just enough to create a bulleted list for my form links. You can add in as much (or as little) HTML tagging as you want.