David J Pileggi Jr: Blogging to Make a Difference https://www.djpileggi.com Adding to a Great Community Tue, 07 Oct 2025 12:39:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 66245408 CRM Mashup – Part 4 – Combining the Parts to Make a Solution https://www.djpileggi.com/2025/10/07/crm-mashup-part-4-combining-the-parts-to-make-a-solution/ Tue, 07 Oct 2025 12:39:30 +0000 https://www.djpileggi.com/?p=323 Introduction to Mashup Solution Creation Up to this point in the series, three different SharePoint lists have been created to build the mashup solution: Customers, Customer Contacts, and Interactions. These lists were built with explanations around their significance in the bigger picture. The steps to create a mashup solution will […]

The post CRM Mashup – Part 4 – Combining the Parts to Make a Solution first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Introduction to Mashup Solution Creation

Up to this point in the series, three different SharePoint lists have been created to build the mashup solution: Customers, Customer Contacts, and Interactions. These lists were built with explanations around their significance in the bigger picture. The steps to create a mashup solution will be discussed in detail. Using a SharePoint modern page, the placement and configuration of the web parts for the lists will be shared with screenshots.

Adding the Mashup Page Sections

To spread the web parts out, two sections will be created. The first section will contain two columns. The second will contain just one large column (see Image 1). This is not always key when building a mashup page. Understanding what is being created will assist in the placement of sections, columns, and web parts. SharePoint is very forgiving, and different layouts can be tried with relative ease.

Image 1

Adding the Web Parts

Continue to use Image 1 as a reference to where the web parts have been placed in the X-Stream CRM mashup this series is creating. Customers are the focus of a CRM. To ensure the customers in this mashup are clearly visible and given the highest priority, the web part has been placed in the top left. Customer Contacts are high on the priority list for the fictional X-Stream Widget company, so that web part has been placed on the top right.

The Interactions web part has been placed in the second section, taking the entire width of the page. This is to accommodate the large amount of information the creator of the CRM mashup wanted to show on the page. Note that the Interactions web part is the only web part on the page designed to allow for the direct creation of new entries. This, too, can be a governance choice when building a mashup.

Configuring the Mashup Web Parts

Once the web parts are added and the overall layout is approved, the next task is to configure the web parts. Select the web part you want to receive a filter and go into the list web part configuration panel. On the configuration panel, turn the toggle for Dynamic filtering. Once engaged, two drop-down combo boxes will appear. Once you set the first two drop-down combo boxes, a third drop-down combo box will show itself (see Image 2).

Image 2

Configure the first drop-down to select the column to filter in the web part you are currently configuring. In the case of the X-Stream CRM mashup, the company column from the Customer Contacts list web part has been selected. The customer in this CRM is considered the entire company X-Stream Widgets is doing business with.

The second drop-down combo box is there to select which web part is to pass the filter from. Depicted in Image 2, the filter will be passed from the Customers web part. With the third drop-down combo box, the column containing the filter data that will be passed is selected. Company Name has been selected in Image 2.

The next configuration will follow the same steps as listed above, but this time Interactions will receive its filter from Customer Contacts. This CRM mashup daisy chains the web parts with filters to allow a deeper dive into interactions based on just one individual. Once completed, the mashup page will need to be published to be utilized.

Using the CRM

A sales representative from X-Stream Widgets will be expected to go to this CRM solution and capture data when they interact with the customer. The representatives will be expected to find the customers they are going to interact with first. Select that customer to show all the contacts associated with the appropriate Customer Contacts web part (see Image 3).

Image 3

In Image 3, you can see the representative selected the customer Astro Dog Walking Belts. Once selected, only the employees from Astro Dog Walking Belts were shown in the web part Customer Contacts. The representative wanted to interact with the Clinic Doctor Adrian and selected the appropriate record. Once selected, only the interactions with Adrian were shown in the Interactions web part. This will allow the representative to catch up on all previous interactions with the contact and/or add a new interaction if needed.

Conclusion

Configuring the mashup page(s) turns out to be less complicated than the preparation of the components creating it. Despite how simple it is in nature, the final solution a mashup can create could be revolutionary for a company. Once created, adding to the mashup or improving upon it is a common path. In the last part of this series, the best practices as well as the gotchas will be covered.

The post CRM Mashup – Part 4 – Combining the Parts to Make a Solution first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
323
CRM Mashup Part 3b – Capturing Interactions https://www.djpileggi.com/2025/09/16/crm-mashup-part-3b-capturing-interactions/ Wed, 17 Sep 2025 02:30:42 +0000 https://www.djpileggi.com/?p=318 Introduction to Capturing Interactions This is the second take on how to capture interactions with clients in the SharePoint mashup CRM this series is building.  The previous post talked about using the append feature of multi-line text fields in a SharePoint list.  The first idea using append had both pros […]

The post CRM Mashup Part 3b – Capturing Interactions first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Introduction to Capturing Interactions

This is the second take on how to capture interactions with clients in the SharePoint mashup CRM this series is building.  The previous post talked about using the append feature of multi-line text fields in a SharePoint list.  The first idea using append had both pros and cons.  In the end the cons outweighed the pros.  In this post, the creation of another list called Interactions.  This list will be kept simple as CRM solutions tend to become complex over time.

Interaction List Columns

Below are the columns that have been used for the list named ‘Interactions’.  The name of the column when first created, the type of column used, and in some cases, the reasoning behind the configuration of the column.  See Image 1 below the list for a visual.

  • Title changed to Short Contact Reason – Single line of Text – Required – Used for quick reference about the interaction.
  • Contact – Lookup (Contacts List) – Required – Based off the email as there could be numerous customers with the same name.
  • Contact Type – Choice – Required – This column will allow to filter based off a specific interaction. (Cold call, email, etc.)
  • Date Contacted – Date and Time – Required – This column defaults on the day of entry but is in place as interactions may happen spontaneously.  A sales representative can go and post interactions from days before if necessary.
  • Notes – Multi-line text – This column is more robust to allow extensive notes, links, and other useful formatting to capture engagements.
Interactions list of columns used.

Image 1

Interactions List Pros

The greatest pro when using a list for interactions is uniformity of captured data.  Unlike using the append feature with multi-line columns, a list item for each entry will ensure clean data. There will be no reliance on users sticking to a specific way of entering data to maintain uniformity.

Two additional pros come to mind.  The first is the removal of reliance on the number of versions of the list items.  With the list you can have a near unlimited number of entries without losing data when the version number is exceeded.  Secondly, in a list, the use of filters will be much more beneficial when looking for specific information, such as all cold calls over the last three months.

Interactions List Cons

Though it may seem odd, at the time of writing this post, there is a 30-million-item limit for a SharePoint list. SharePoint Limits A company that uses this mashup as a CRM would need to consider moving to a third-party CRM at this point.  Though this solution may be a good approach for a small company with a tight budget, growing to the point of reaching the 30-million-item limit would be a good sign to invest in something more robust, such as Microsoft Dynamics.

Another consideration is that adding another list to a CRM mashup will increase the difficulty of designing and managing your mashup. The relationships between the lists will need to be well planned and thought out.  Paying attention to details is a must in this case.  Despite anyone being able to build a mashup, having some knowledge of how a database works will be beneficial.

Conclusion

Using a list for capturing interactions with clients and customers is a strong solution.  The pros outweigh the cons considerably. The reason this series covered two possible solutions for capturing interactions was to demonstrate the potential of what SharePoint has to offer.  There is more than one way to create solutions.  It is recommended to weigh your options like we did with this and the previous post to find the best fit for your company.

The post CRM Mashup Part 3b – Capturing Interactions first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
318
CRM Mashup Part 3a – Using Multi-line Text with Append https://www.djpileggi.com/2025/08/20/crm-mashup-part-3a-using-multi-line-text-with-append/ Wed, 20 Aug 2025 22:23:22 +0000 https://www.djpileggi.com/?p=309 Introduction to the Append Choice When working with SharePoint, there are often situations where there are multiple ways to accomplish the same task.  The reason why this post is Part 3a is to explore two possible solutions to capture customer interaction.  This post examines the utilization of the append feature […]

The post CRM Mashup Part 3a – Using Multi-line Text with Append first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Introduction to the Append Choice

When working with SharePoint, there are often situations where there are multiple ways to accomplish the same task.  The reason why this post is Part 3a is to explore two possible solutions to capture customer interaction.  This post examines the utilization of the append feature when using a column configured to use multiple lines of text.  The following post will approach this task by creating an additional SharePoint list.  Both solutions have strengths and weaknesses, providing another reason for the need for this series.

Configuration for Version History

The append feature is tied to the version control functionality of a list or library column.  Without version control turned on for the list or library, the option to configure the multiline column will be greyed out.  To ensure version control is turned on, enter the list or library settings.  In the first column of configuration options for the list or library, click on the “Versioning settings” link.  Identify the section “Item Version History” to enable and configure versioning for the list or library. (See Image 1)

Item Version history settings to use append.

Image 1

Pictured in image 1, the version control has been configured to enable versioning.  The second line shows that a maximum of 50 versions will be kept with this configuration.  Each change made to the list item will increase the version number.  Once the fifty-first change to the item is made, the first version is deleted automatically. According to Microsoft article “SharePoint Limits” the number of versions can go up to 50,000 major versions. Pushing this limit is not recommended.  It is recommended to keep the number of versions smaller.

Strengths using Append Feature

In this series, the strengths of using the append feature in our CRM mashup can be summed up in two points.  The first point is the way the item is displayed resembles an instant messaging application. (See image 2) Visually, it is appealing and is easy to read.  Users, both new and experienced users, are familiar with this format allowing immediate use of the CRM tool with little training.  The second point is that this column could be included in the Contacts list we covered in the second part of this series titled “Building a CRM Mashup Part 2 – Customer Contacts“.  This approach would simplify our CRM mashup solution by keeping all of this together in a single, cohesive package.

Visual of append column in action.

Image 2

Weaknesses using Append Feature

The most prominent weakness of using the append feature is the loss of searchability.  Yes, while viewing the item, the user could use the browser search feature.  Search may not be reliable and depends on the browser functionality.  In SharePoint, the search engine is always crawling the newest version of an item.  It does not retain records of the previous versions as one would hope.  The second weakness is the inability to filter by a specific action.  For example, a user may want to view only email correspondence with the contact.  The append solution would force them to scroll through all the information and manually extract the information.  Another point of interest is that an entry will be recorded even if there are no notes captured.  The change of phone number would also increase the version number for example.  This could leave gaps in the appended feed that this solution creates.  Lastly, users may not consistently follow a standardized format for notes causing confusion with the CRM solution.

Conclusion

In this post, we covered the configuration, strengths, and weaknesses around the use of the append feature to capture contact activity with customers.  Though it is a viable solution, append does not allow for continuous growth at an enterprise scale.  When building a mashup, being able to navigate and assess different approaches is a crucial skill to develop.  SharePoint is forgiving, flexible and allows for quick changes.  Take the time to make mistakes and your skill set will improve greatly.

The post CRM Mashup Part 3a – Using Multi-line Text with Append first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
309
Building a CRM Mashup Part 2 – Customer Contacts https://www.djpileggi.com/2025/07/15/building-a-crm-mashup-part-2-customer-contacts/ Wed, 16 Jul 2025 03:10:39 +0000 https://www.djpileggi.com/?p=288 Introduction – Customer Contacts This series of posts is building a CRM using the concept of a Mashup by utilizing out of box SharePoint capabilities.  In this post, the setting up of the custom list, Customer Contacts will create another necessary part.  Each individual part of this series may seem […]

The post Building a CRM Mashup Part 2 – Customer Contacts first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Introduction – Customer Contacts

This series of posts is building a CRM using the concept of a Mashup by utilizing out of box SharePoint capabilities.  In this post, the setting up of the custom list, Customer Contacts will create another necessary part.  Each individual part of this series may seem insignificant at the time, however, once the many parts become a whole the CRM will come into existence.  The goal is to take beginning level concepts and skills and growing upon them.  The Customer Contacts list will allow us to capture individuals with whom we will interact with from our customers to try and garner business.

Customer Contacts Columns

In Image 1, we identify the eight columns excluding the system columns to be used for this post.  This post will break down each column, point out any alterations, and give explanations to the choices of the configurations made.  Most will be straight forward; however, it’s good practice to identify when using default configurations or altered when building a solution.

Customer Contacts column listing

Image 1

Customer Contacts Column Breakdowns

  • Title – This is the field that is created when using a blank List template. This field by default is a text field. This is used to identify what role the contact plays within the customer company. It is not required as this information is not always available.
  • Prefix – This field is a choice field to ensure uniformity with the data collected. It is required as it will be part of any potential email campaign. Currently there are four choices. (Mr., Miss, Mrs., Dr.)
  • First Name – This field a is text field with nearly all default settings. First name is required to create a customer contact.
  • Last Name – This field is a text field with nearly all default settings. Last name is required to create a customer contact.
  • Company – This field is a lookup field, pointing towards the list Customer. This field is required. (See the section “Company Column – Deep Dive” below.)
  • E-mail – This field is a text field with nearly all default settings. Email column data is required to create a customer contact.
  • Phone Number – This field is a text field with all default settings. The phone number field is not required.
  • Mobile Phone – This field is a text field with all default settings. The mobile number field is not required.

Company Column – Deep Dive

With the creation of a lookup field, there are additional options available to take into account. (See Image 2) For those who work with databases, this will make sense. To ensure the customer data is accurate, the “Enforce relationship behavior” has been turned on. Once selected two potential choices are made available, “Restrict delete” and “Cascade delete”. Restrict delete will not allow the deletion of a customer if there are any customer contacts assigned to that customer. Cascade delete will delete all assigned contacts connected to a deleted customer.

Image 2

For the CRM solution, “Restrict delete” is a better choice. This will reduce the chances of numerous customer contacts from being deleted in one sweep. Enforcing the restricted delete will force deliberate actions to remove contacts from the solution.

Conclusion

In this post, a breakdown of building the second list, (Customer Contacts), was explained. This is the first post in a multipart series. Building this CRM mashup requires the setting up of multiple pieces similar to the solving a multi-piece puzzle. Be sure to keep an eye out for the release of the next step in the series, “Building a CRM Mashup”. If you have questions or comments, please feel free to watch the corresponding video on YouTube and leave them there.

The post Building a CRM Mashup Part 2 – Customer Contacts first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
288
The Mashup in SharePoint is a Powerful Solution Builder https://www.djpileggi.com/2025/05/14/the-mashup-in-sharepoint-is-a-powerful-solution-builder/ Thu, 15 May 2025 00:57:56 +0000 https://www.djpileggi.com/?p=273 Forward SharePoint is beyond a file repository, and this post is just the beginning of showing you what SharePoint can do for you. When asked what SharePoint is, many who work with it will tell you it is a great place to collaborate on files. A great place for collaboration […]

The post The Mashup in SharePoint is a Powerful Solution Builder first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Forward

SharePoint is beyond a file repository, and this post is just the beginning of showing you what SharePoint can do for you. When asked what SharePoint is, many who work with it will tell you it is a great place to collaborate on files. A great place for collaboration is true, but only for the first ten percent of what is possible. Just like an iceberg, there is so much more to SharePoint than file collaboration and sharing. This post is the first in a series of posts to design and create a CRM (Customer Relations Manager) using out-of-the-box SharePoint tools and features. We may even take a step further and add other features to our CRM with different apps native to M365. I know dozens of CRM tools are out there; that is the point. Most of you who will read this series will understand what I am trying to do. I am here to show you how you can develop ideas of what could be by creating a mashup.

You may ask what a mashup is. It takes different parts of SharePoint and puts them together meaningfully to create a greater solution when they interact. Think of multiple SharePoint lists, libraries, and pages combined into a solution like the CRM we will build throughout this series. The SharePoint lists will capture the data the same way a database would. The document libraries will contain digital artifacts about our clients and customers. The pages will allow us to present the different moving pieces in one seamless presentation so that the employees of X-Stream Widgets can interact with our CRM. Use this series to develop amazing ideas of how SharePoint could assist you, your team, or your company with exceptional solutions to business challenges.

The Mashup Story

For reference, we will pretend to be a company from the 1950’s future (Think the Jetsons). We are X-Stream Widgets. We have just started our venture, and we need to be able to take care of our current customers while trying to bring in new customers. Trying to keep track of customers in notepad, email, or a spreadsheet is not scalable. We have several clients and customers but would like to grow that over the next six months to get our production figures in the black. We will need to keep track of the company we are doing business with, the contacts working for that company, and any documentation we may receive from them. As the series unfolds, we will most likely identify more features to show other potential and possibilities of M365.

The First Building Block in Our Mashup

Create a new SharePoint list with the best practices in mind. Always use an underscore (_) instead of a space when creating a list or library. The underscore accomplishes a couple of things. One, the URL will be much more legible, and the second will shorten the base URL by two characters per space. Return to list settings and replace the underscores with spaces if you desire. Doing so will not change the URL. The list name we will use is “Customers”. (See Image 1) Be sure to fill in the list description as well. The description is valuable because it will help elevate the items within them in search results if the search connects the description to the search query.

Image 1

The customers X-Stream Widgets work with are companies of different sizes that sell widget wares. Knowing the pertinent information about their client headquarters is essential and the cornerstone of our CRM Mashup. The information captured is specific to the headquarters building. See the list below for details on identifying our client’s location.

  • Company Name (Changed the Title column that comes with a new list)
  • HQ_Address (The street address)
  • HQ_Address_2 (To identify if there is a suite, floor, etc.)
  • HQ_City
  • HQ_State
  • HQ_Zip_Code
  • Main_Phone (either a toll-free number or number to the front desk)
  • Fax_Phone (to work with companies still using Fax technology)

There is one thing we did in addition to the Company Name field. We checked the box to force it to be unique. We do not want to have duplicates of our clients and customers by accident. Duplicates could confuse our sales staff and have adverse effects. One such effect would potentially be more than one sales representative contacting the customer with the same offer. When a new customer is added, all the fields except HQ_Address_2 and Fax_Phone should be required. (See Image 2)

Image 2

X-Stream Widgets CRM Mashup Step One Conclusion

By creating the Customers list in SharePoint, we have completed the cornerstone of the CRM mashup solution we are building in this series. We have covered the high-level concepts of a mashup. We have also created a fictitious company, X-Stream Widgets, to help us visualize our goal for this series. Be ready for the next post in this series, where we will cover another essential piece: contacts.

The post The Mashup in SharePoint is a Powerful Solution Builder first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
273
A Powerful Trick Debugging Power Apps Bugs Like a Pro https://www.djpileggi.com/2025/03/01/a-powerful-trick-debugging-power-apps-bugs-like-a-pro/ Sun, 02 Mar 2025 00:24:41 +0000 https://www.djpileggi.com/?p=249 Debugging Power Doesn’t Have to Be Overwhelming For anyone who isn’t a professional coder, programmer, or tech wizard, tackling debugging Power Apps can be quite frustrating.  Due this seemingly unscalable wall, many great ideas have died on the vine.  For those who have ventured into the world of Power Apps, […]

The post A Powerful Trick Debugging Power Apps Bugs Like a Pro first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Debugging Power Doesn’t Have to Be Overwhelming

For anyone who isn’t a professional coder, programmer, or tech wizard, tackling debugging Power Apps can be quite frustrating.  Due this seemingly unscalable wall, many great ideas have died on the vine.  For those who have ventured into the world of Power Apps, there’s good news: a built-in tool can save the day.  Yes, even if you’re clueless about coding, you can debug like a seasoned expert.  This post will walk you through how to use this tool.

Debugging Power Apps Using the Formula Bar

Once your app is ready for testing, you might notice things aren’t working quite as planned.  The Power App may show a sea of squiggly red lines in numerous areas within the formula bar.  Even worse, a button could have a red circle with a white X.  (See Image 1) The formula bar (See Image 2) will assist in numerous ways to help you catch the bugs that are causing issues with the Power App.  This handy tool is your key to spotting and squashing the bugs plaguing your Power App.

Debugging Power Apps broken submit button

Image 1

Formula Bar used for debugging as well.

Image 2

Debugging Power Apps by Mouse Hover

Picture this: you’re typing away in Microsoft Word, and that trusty red squiggly line pops up to nudge you about a typo.  This same behavior works in Power Apps formula bar the same way.  When the pointer hovers over the red squiggle, a description of the issue is given.  (See Image 3) Some descriptions are clear while others leave you scratching your head.  Despite cryptic error messages using the hover method is a great way to try and identify the issue to allow debugging Power Apps quickly.  In Image 3 the message identifies there is a missing parenthesis at the end of the formula when the cursor hovers over the red squiggly line.

Hover over a red squiggly line when debugging power apps.

Image 3

Debugging Power Apps by Cursor Situational Awareness

Placing a cursor into the formula bar on a specific function will allow you to visually see what issues is. When looking at Image 4, the cursor is in the center of the called object dpdAMPM. On the bottom of the formula box on the notification panel, the object is identified followed by an equal sign. Beyond the equal sign one of two things will appear. A valid value of the object or an error message to assist you with debugging the app.

Image 4

Debugging Power Apps with Color-Coded Clues

Looking at Image 4 on the far right, you can see a red filled rectangle on the second row of the grey bar going along the right side. That red rectangle is a visual indicator the issue with the formula will be found on the second line. Only the equal sign has a red squiggly line under it so may be easily looked over. With the color coding on the right side, it will assist with identifying issues when debugging Power Apps. Warnings will be a mustard yellow color on the far right.

Conclusion

Debugging Power Apps doesn’t have to feel like a chore—think of it as a treasure hunt with a toolbox full of clever gadgets! When debugging Power Apps, there are many tools available to assist you. Take the time to understand how to use the tool effectively. Have patience and fun when debugging. With a little practice, you’ll be debugging like a pro in no time.

The post A Powerful Trick Debugging Power Apps Bugs Like a Pro first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
249
Simplifying Power Apps Dates Makes Users Happy https://www.djpileggi.com/2025/02/01/simplifying-power-apps-dates-makes-users-happy/ Sat, 01 Feb 2025 15:32:32 +0000 https://www.djpileggi.com/?p=239 Frustration With Power Apps Dates The manipulation of dates in Power Apps can be a source of irritation for both developers and business users alike. Developers often grapple with the complexities of date handling when working with databases or SharePoint lists, while business users might find themselves at a loss […]

The post Simplifying Power Apps Dates Makes Users Happy first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Frustration With Power Apps Dates

The manipulation of dates in Power Apps can be a source of irritation for both developers and business users alike. Developers often grapple with the complexities of date handling when working with databases or SharePoint lists, while business users might find themselves at a loss for words – and not the polite kind. If you’ve ever struggled with this, rest assured, you are in good company. the challenge isn’t unique to Power Apps; it’s a common headache across software dealing with dates. Here we will focus on easing one particular pain point: choosing between AM/PM vs. military time.

Automation for Power Apps Dates Uses Military Time

When an Edit form is created by the standard method of selecting from the add menu, date and time fields are bound to surprise. The date field is divided into three fields, not one (See Image 1). This is how Power Apps dates are applied to a form automatically.

  • First Field – Date Picker – Allows interaction with a calendar to choose the correct day, month, and year.
  • Second Field – Dropdown Box – Allows selection of the desired hour, using military time. (The hours span 00 – 23 by military standards.)
  • Third Field – Dropdown Box – Allows the selection of the desired minute ranging from 00 – 59.
Image 1

Setting Up Power Apps Dates Using AM/PM

To utilize AM/PM vs military time, you will need to skip over the easy, automated way of the Edit form from the Insert menu. The following portion of this post will show you how to build a form manually and submit it to a SharePoint list connection creating a new item. To simplify this example, we will only have two columns within the list, “Title” and “Date_of_Doom”. Please look at Image 2 to follow along with the explanation.

Image 2

Set up for Power Apps Dates Form

To achieve simplification for Power Apps Dates, two functions are going to be used. Patch to create the new item manually and DateTime to put the date and time collected in the appropriate formatting. The form in Image 2 contains two text labels, one text input box, one date picker, three drop down, and a button. Place the controls as shown in image above giving each a noteworthy name. (For Example: dpdHours for the drop down for hours.)

Configuration of the Submit Button

Below in the Code Snippet is the full configuration string needed to make this work. I will break down the controls in a list format to bring understanding to what control is being referenced.

  • txtTitle = text input box for free text for the title
  • calTestDate = date picker for selecting a date
  • dpdAMPM = drop down box for selecting AM or PM
  • dpdHours = drop down box for selecting hour
  • dpdMinutes = drop down box for selecting minutes
Patch(Testing_Dates, Defaults(Testing_Dates),{Title:txtTitle.Text,Date_Of_Doom:DateTime(Year(calTestDate.SelectedDate),Month(calTestDate.SelectedDate),Day(calTestDate.SelectedDate),If(dpdAMPM.SelectedText.Value = "PM",Hour(dpdHours.SelectedText.Value+12),Hour(dpdHours.SelectedText.Value)),dpdMinutes.SelectedText.Value, 0)})

The secret sauce that makes this work is the If statement identifying if dpdAMPM is AM or PM. If PM is selected, for the time to be correct, 12 hours must be added to make turn it to military time. Behind the scenes, a date is nothing but a floating number. There are 24 hours in a day. For the number to portray the correct date and time, military time is necessary.

Conclusion

Power Apps Dates use military time due to the way dates and times are managed in the background of computers in general. Though most countries use military (24 hour) time, some use AM and PM to discern what part of the day you are in. To simplify working with dates and times for some of your application users, you will need to increase the difficulty level in how you deal with them yourself. Following the steps provided is a way to do this.

The post Simplifying Power Apps Dates Makes Users Happy first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
239
A Trick to Obtaining Good Data Using Microsoft Forms https://www.djpileggi.com/2024/12/31/a-trick-to-obtaining-good-data-using-microsoft-forms/ Tue, 31 Dec 2024 20:32:33 +0000 https://www.djpileggi.com/?p=224 There are a lot of cliche sayings when it comes to obtaining good data. Data is out there, it is plentiful, but is it any good?  When it comes to making decisions using data or understanding data in general, there must be a trust that the data is good.  Bad […]

The post A Trick to Obtaining Good Data Using Microsoft Forms first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

There are a lot of cliche sayings when it comes to obtaining good data. Data is out there, it is plentiful, but is it any good?  When it comes to making decisions using data or understanding data in general, there must be a trust that the data is good.  Bad data could lead decision makers astray.  In today’s economy, a poor decision due to inaccurate data could cause a company irreparable damage to a company’s bottom line.  Finding ways to ensure quality data captured by Microsoft Forms is priceless to the creator of those forms.  This blog post will show you how to use Microsoft Forms to gain an advantage in business.

Obtaining Good Data by Using Restrictions

Microsoft Forms can add restrictions to each data field.  Restrictions are not a silver bullet.  There are ways data could be manipulated via faulty information entered into the form, which could interfere with the quality of your data, despite best efforts.  Despite people’s best efforts data corruption may occur, restrictions can guide entered data to be of higher integrity.  With restrictions, obtaining good data will be made easier by guiding your form submitters.  Take a look at the available field choices Restrictions has to offer to assist with vetted data. (See Image 1)

Choices of restrictions to obtain good data with Microsoft Forms.

Image 1

Obtaining Good Data Using Email and URL Restrictions

Both restrictions are straightforward.  The user need only select it in the drop down and no additional configuration is necessary.  Email will automatically ensure there is a standard string build of the email.  It will ensure there are characters followed by the @, followed by more characters, a “dot”, finished off by more characters.  If the string entered does not have the needed @ and “dot” in the correct order, it will flag the form to not allow the user filling out the form to submit it until it is fixed.

The URL restriction works in the same way.  It will ensure the field starts with either “http:// Or https://” without either starting the answer, it will be rejected, and the form will not be allowed to be submitted.  Very easy to understand and quite straightforward.  These two restrictions, Email and URL, ensure the user will understand what information is needed, but remember, it could still be false information by either a typo or malicious intent.

Text Restrictions

When it comes to the text restrictions, it becomes more interesting.  Text restrictions check to see if something is either present or not.  Refer to Image 2 and you will see the second drop down has two choices “Contains” or “Doesn’t contain”.  For example, you expect three letters to start or finish a specific contract number such as CTR.  You would select “Contains” in the drop down and enter CTR in the text field.  This will ensure the text field will have the string “CTR” present in the response to the question.  This would guide your responders to fill the form properly to obtain good data.

Using Restrictions on a text field in Microsoft Forms to obtain good data.

Image 2

Number Restrictions

Numbers are interesting as they can easily cause poor decisions if one forgets to add a zero.  There is a huge difference between $100,000 vs $1,000,000.  You can see by the number of choices on how to identify the number field, this could be tricky (See Image 3).  You need to have a clear understanding of what you to accomplish with a number.  Do you want it to be a number that allows decimals?  What about a whole number so your employees round to the nearest ones.  If your question is asking for a number between 1 and 10 you would utilize the “Between” option.  If you’re expecting numbers greater than 1,000,000 you could use either “Greater than” or “Greater than or equal to” as a good option.  I reiterate, you need to understand what you want with a number to use this restriction effectively.

Microsoft Forms Restrictions with numbers to obtain good data.

Image 3

Length Restrictions

I think length is the restriction that will need the most practice in order to understand.  Length restriction set up is not difficult to understand.  The question is how to use it effectively.  You can see in Image 4; you can place either a minimum or maximum count around the string length given for an answer.  The number text box is the number of characters you want to set as the minimum or maximum limit.  Oddly, the one thing that jumps to my mind around using the “Min Count” is an essay question with word minimums.  There are other good uses, you just need to know what they are for your business use cases obtaining good data.

Microsoft Forms Restriction using string length to obtain good data.

Image 4

Conclusion

Data is important.  The amount of data information workers digs through on a daily basis can be daunting.  If your workers must worry about the quality of the data on top of all of their other responsibilities, it could be quite overwhelming.  When collecting data from Microsoft Forms, be sure to use restrictions where they make the most sense.  It could assist you with peace of mind and quality data.

The post A Trick to Obtaining Good Data Using Microsoft Forms first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
224
Using Co-Organizers for Meetings is a Must https://www.djpileggi.com/2024/12/06/using-co-organizers-for-meetings-is-a-must/ Fri, 06 Dec 2024 21:51:32 +0000 https://www.djpileggi.com/?p=217 It is imperative that you use co-organizers for meetings that are important, repeating, or for a team member.  Through video conferencing it allows us to connect with people around the world.  Most information workers have created numerous meeting invitations to create human connections.  For some workers, they have been asked […]

The post Using Co-Organizers for Meetings is a Must first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

It is imperative that you use co-organizers for meetings that are important, repeating, or for a team member.  Through video conferencing it allows us to connect with people around the world.  Most information workers have created numerous meeting invitations to create human connections.  For some workers, they have been asked to create meetings for others within their team or department.  This indicates the need to add co-organizers to meetings to ensure success.

Why Use Co-Organizers for Meetings?

The most common need for assigning co-organizers to your meetings is when creating a reoccurring meeting.  You may intend to participate in all the meetings however, that may not always be the case.  You may get sick or take a vacation over two weeks leaving your team in the dark.  Even with your absence the meeting must go on.  A second common scenario would be an individual on a team, (think Corporate Communications or Training and Development departments) is designated to be the one to create all meetings for the team to ensure uniformity.  This could cause the organizer to have meetings overlapping.  It would be impossible to attend all meetings created causing a huge gap in ability to properly host each one.

In Microsoft Teams there are certain things that only the organizer of the meeting can do.  For example, only the organizer can create break out rooms.  The organizer would be the only one to look over the attendance report.   In some cases, only an organizer will be allowed to start a meeting or allow those in the meeting lobby to join.  Without an organizer a meeting may not be able to run smoothly.

How to Add Co-Organizers

Anyone who has used M365 for any length of time, knows it is constantly evolving and changing.  Originally, to get to the meeting options to add co-organizers a button would appear on the ribbon once a meeting was fully created.  During my team’s office hours, we noticed that button was no longer available.  The link to get to the meeting options is now built into the actual invitation.  Look at image 1 below and notice the link in the bottom left labeled for organizers.

Meeting Options link highlighted.

Image 1

When the link is clicked, the meeting organizer is taken to a web page to finetune the meeting options to their specifications.  The initial page the meeting creator is greeted with is shown in image 2.  Notice on the left part of the page there are five different categories to choose from.  The category “Roles,” is where you will have the option to add meeting organizers.  A word of warning, only attendees from your organization may be added as a co-organizer.  It is also worthy to note, only those invited to the meeting may be promoted to co-organizers for meetings.

A screenshot of the web page with meeting options.

Image 2

Once on the “Roles,” page you will find adding a co-organizer to the meeting straightforward.  There will be a dropdown labeled, “Choose co-organizers,” where any eligible attendees can be promoted to a co-organizer. Select the appropriate individuals for the role.  Once selected you will see those individuals in the appropriate location.  See Image 3 for a reference.  Once added, do not forget to hit the save button at the bottom of the screen.

Screenshot to add co-organizers for meetings.

Image 3

Conclusion

Creation of meetings is easy.  Just ask any information worker with a full calendar and they will be happy to confirm it.  Ensuring success of those meetings will take extra thought, but the end result would be worth it.  To ensure success be sure to add co-organizers for meetings.  This will allow your peers and coworkers be able to use important meetings even when you are not available.

The post Using Co-Organizers for Meetings is a Must first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
217
Using Power Automate to Collect Microsoft Form Data https://www.djpileggi.com/2024/11/15/using-power-automate-to-collect-microsoft-form-data/ Fri, 15 Nov 2024 23:44:07 +0000 https://www.djpileggi.com/?p=198 Using Power Automate to collect Microsoft Forms data and place it into a SharePoint list will take your business to a new level of data utilization. This post is going to take you through the process of building a Power Automate to collect Microsoft Forms data and place it into […]

The post Using Power Automate to Collect Microsoft Form Data first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>

Using Power Automate to collect Microsoft Forms data and place it into a SharePoint list will take your business to a new level of data utilization. This post is going to take you through the process of building a Power Automate to collect Microsoft Forms data and place it into SharePoint list. We are making the assumption the Microsoft Form and the SharePoint list is already created using best practices. You can think of this as a level 200 tutorial built off of what we have learned from past posts.

Creating a New Power Automate Flow

When creating a new Power Automate flow, on the home page left navigation bar, click Create. You will be met with several types of flow types to choose from. For this example, we will be selecting the “Automated cloud flow.” (See Image 1) When working with M365 apps (Microsoft Forms and SharePoint Online), this is the most common selection.

Screen shot of Power Automate new flow choices.
Image 1

Once the “Build an automated cloud flow” screen is available, you have two choices to make. The first is easy, the name of the flow. Give the flow a short but descriptive name. Second you need to select the trigger to cause the flow to start. In our case we want the trigger “When a new response is submitted” for Microsoft Forms. Most often this trigger should be near the top if not in the first spot as you can see from Image 2. This is a testament to the popularity of this type of Power Automate flow.

Screenshot of the Build an automated cloud flow screen.
Image 2

Inside Power Automate Designer

At the time of my writing this post, Microsoft currently has two designers available to you for use. It will most likely default to the new designer, but you do have the option to switch between the previous designer and the new designer with the toggle in the top right corner. (See Image 3) You will be able to use either, but the location where you will do the configuration will vary slightly depending on which designer you are working it. For this post I will use the new designer.

Screenshot of Power Automate designer toggle.
Image 3

Connecting Power Automate to Collect Your Microsoft Form Data

You will be greeted with a single box in designer as a visual reference to identify the trigger that is to start the Power Automate flow. Click the box to view the settings of the trigger. In the new designer, a flyout from the left will appear to allow you to make the configurations you need to make. You will be presented a list of Microsoft Forms that are connected to your account. In the case of this post, I have gone with the best practice and tied the Microsoft Form to a Microsoft Team called “Woodology”.

The easiest way to get the Microsoft Form ID is by opening the form in design mode and getting the ID information from the URL. Be sure to click on Custom Value at the base of the drop down to allow you to input the raw ID or the designer will not take the input otherwise. The ID information is at the end of the URL after “&ID=”. Please See Image 4 to understand what you should copy to place in the Power Automate trigger configuration.

Image 4

Once you capture the ID of the Microsoft Form, place that into the appropriate text box under parameters. This will tie this Power Automate to collect data to the appropriate Microsoft Form and the following steps will be easy to configure. See Image 5 to see what the parameters text box for Form id looks like.

Form ID to help Power Automate to collect data.
Image 5

Add the Action to Get the Data

We may have taught Power Automate which form to collect the data from when we configured the trigger, but that is not enough. We need to have Power Automate get the data associated with the Microsoft Form next. To do this we will point just below the trigger box and click the + button that will show when we hover our cursor within the area. Search for the action “Get response details” associated with Microsoft Forms and click to add to your flow. (See Image 6).

Adding the action Get response details box
Image 6

Just like we have done with the trigger box, we will click on the action box “Get response details” to open the fly out to allow us to configure the action. Under parameters you will have two text boxes. The first is straight forward. It is looking for the Form ID again. Unless you copied something between the first two steps, the Form ID should be on your clipboard still. Click the drop down and select custom value, once selected, just pasted the Form ID. See Image 7 to see what it should look like.

The second text box is asking for the Response Id. That is also available to you without much difficulty. When you place your cursor in the text box, you will see a blue lightning bolt and function symbol show up at the end of the text box. Select the lightning bolt which will allow you to choose dynamic content. Only one thing will be available. Click Response ID and it will automatically fill in the text box for you. That takes care of the configuration for this action. (See Image 7)

Screenshot of Get response details fully configured.
Image 7

Place the Collected Data into a SharePoint List

This is the final step to configure for this Power Automate to collect data and place it into a SharePoint list. Click on the + found below the previous action Get response details. Search for the SharePoint action Create Item and select it. It will be added to your Power Automate flow and will look like Image 8. As we have done for the previous steps, click the box so the left flyout to configure this action can be seen.

Added the action Create Item to the Power Automate to collect data.
Image 8

Initially, you will see only two dropdown options. They need to be configured in order. The first dropdown is to select the SharePoint site where the list is located. If you do not see the site, you have the option to select custom value where you can copy and paste the home page URL to the site that contains the SharePoint list. Once the site is selected, the second dropdown will show the lists that are available. Select the appropriate one and wait for a moment for the configuration box to add the columns from the list. (See Image 9)

Create item action completely configured
Image 9

Within each text field you will now add using the blue lightning bolt to add dynamic content. Each filed in SharePoint will expect the variable type you configured it for. In image 9, you can see Plot Location and Start_Date both were taken directly from the form. Size_in_Acres and Project_Cost both are numbers. In the form we declared them numbers and forced only numbers to be allowed, however, when passed to Power Automate, they are considered strings. We had to use the int() function to revert it from a string back into a number of which SharePoint was expecting. (See Image 9)

A Power Automate Best Practice

Once you create a Power Automate to collect data or any other type of functionality, be sure to share the flow with a Microsoft Team. You want to be sure any flow that is business critical will be able to run beyond your tenure with the company you are working for at the time. This will make sure your parting ways with the company will not leave your team in a bad situation. In this case I have added the team Woodology as a co-owner. (See Image 10)

Power Automate to collect data owned by Microsoft Team Woodology
Image 10

Conclusion

Utilizing Power Automate to collect data is a creative way to capture data, without relying solely on spreadsheets. Excel has its place, but there are better solutions when dealing with potentially large data sets. Capturing data in a SharePoint list can open up a myriad of other possibilities, such as reports in PowerBI or an application built in Power Apps. Power Automate gives you a multitude of options at your fingertips to propel your business in a data driven world.

The post Using Power Automate to Collect Microsoft Form Data first appeared on David J Pileggi Jr: Blogging to Make a Difference.

]]>
198