Rapidly deploy Microsoft’s Return to the Workplace solution and leverage the underlying technology for future growth

Today, Microsoft announced the release of the Return to Work, Return to Growth strategy in a white paper developed jointly with AIS. We’re also releasing our Return to Work implementation service via Microsoft App Source, and are excited to begin working with large enterprise organizations rolling out Microsoft’s Return to the Workplace solution and then using the Power Platform to empower citizen developers, build enterprise solutions, and leverage pre-built functionality.

Organizations around the globe have turned their attention to the task of returning to work even as virtual work continues to blossom. We find these large enterprise organizations asking questions in two key areas when it comes to the future of work and its organizational and economic impacts.

How do we return to work safely? Rapidly deploy Microsoft technologies that support our safe return to the workplace and adopt the underlying technology with future growth in mind.

How do we then return to growth? Leverage today’s investment so that we may return to growth and prosperity in the months and years to come. This is a once-in-a-generation opportunity.

We’re thrilled to have now fundamentally written the book on how to leverage large enterprise organizations’ return to work technology investment for return to growth. Our methods, patterns, and technical tooling will help these organizations get the most from Power Platform.

I hope that you find the white paper and the solution itself to be useful, and look forward to perhaps working with you to launch your return to work, return to growth strategy with Power Platform.

RETURN TO WORK, RETURN TO GROWTH WHITEPAPER
Rapidly deploy Microsoft’s Return to the Workplace solution and leverage the underlying technology for future growth.

How do you know you’re ready to present at a conference? You may have a good understanding of how something works, or you can build and explain how you reached a specific solution. I’m writing this article not because I am a presentation expert, but because I presented once at a large conference (and have seen a fair share of live presentations). If you follow the path that I took, presentations don’t have to be scary, but an opportunity for you to present your work to your peers!

Background Info

I presented at the Power Platform World Tour in DC. My manager suggested I put together a few ideas for a proposal, and he would help guide me in the right direction. I submitted three different plans, and the one below was accepted!

Screenshot of Breakout Session

Pre-Presentation Day

  1. Prepare in advance – This blog is for a 1-hour presentation
    • About one month before presentation day, start building out a slide deck
    • Don’t include YouTube videos; the audio will probably fail or slow you down
    • Try a screen recorder for videos instead!
    • Add more images than text
  2. Practice going through your slides on your own a few times
  3. Record yourself presenting and play it back
    • Time yourself to ensure you don’t go over 30 minutes
  4. Build a demo – this should bring your slide deck to life
    • It can be a live walk-through or pre-recorded
    • Go through your demo alone to expose any bugs or technical difficulties you run into
  5. Demo to some colleagues/friends
    • A demo is a safe place to get input and ideas and run into more technical challenges to troubleshoot later

At this point, you should be ready to present

To Be Safe!

  1. Do a dry run of your slide deck and demo the day before – this will give you peace of mind
    • Fix any last-minute bugs
    • Ensure you are within the allocated time
  2. Set up your demo material and prepared for your presentation
  3. Have a backup demo prepared
    • If all else fails and you’re in the middle of your demo, and things start to break, have a backup demo plan, one that already works
  4. Have a few ideas prepared if your presentation runs fast
    • You could allocate time in the end for questions, but you also run into the risk of there being no questions, so have something in mind to present or demo if you run 10-15 minutes short
  5. Bring an extra adapter for your laptop and plenty of business cards
  6. Optional: purchase a presentation slides clicker

Day of Presentation

If you’ve followed the pre-presentation day steps, you should feel prepared. If you still feel nervous/anxious, imagine that you are a member of the audience. The audience does not know that you are worried. As an audience member, you walk into a presentation, not knowing much about the topic or the presenter (for the most part). The audience has come prepared to listen and isn’t focused on how nervous the presenter might be. Loosen up, make sure to have fun, and remember your practice!

Don’t skip meals and drink plenty of water.

  1. Arrive at your session 10-15 minutes before your allocated start time
    • Connect your machine to the display board
    • Set up your microphone
    • Pull your slides up on your laptop.
    • Have your demo ready in the background
  2. Go through your presentation, just like you practiced.
    • Don’t forget that you are the subject matter expert in the room. Your presentation is what they have come to listen to.  Be confident.
  3. Pay attention to the time.
  4. Thank everyone for coming, provide QR codes on the display screen for any social media and remind them to take your business card

Presenting at a Conference

Final Thoughts

You’ve completed your first conference speaker gig! Even if it didn’t go as planned, presenting in front of a crowd is an accomplishment, you should be proud. Try not to be too hard on yourself and learn from your experience. Most importantly, don’t shy away from the next one. It can only go up from here.

This blog is part of a series of hands-on labs on leveraging the Power Platform and Microsoft Azure. To break this series up into more manageable chunks, in this installment, we’ll focus on setting up the On-Premises Gateway that will connect to our local SQL Server and the Azure Logic App that will use the new gateway to connect to our local SQL Server 2017 and return customer data using an HTTP request and response.

We’ll wrap it up by using Postman to test our Logic App. If you don’t have Postman installed, you can download it here.

Stay tuned for the next lab in this series, Azure API Management, and Custom Connectors.

Scenario

The company has an on-premises SQL Server database that contains customer data that needs to be available to various apps built on the Common Data Service.

High-Level Steps

  1. Install and configure an On-Premises Data Gateway to connect to the local SQL Server
  2. Create an Azure Logic App to connect to the SQL Server through the gateway

On-Premises Data Gateway

As you can imagine, there are already plenty of good write-ups on installing and configuring an On-Premises Data Gateway, including an official version from Microsoft. It is very straight forward, but I’m here to offer you a couple of pro-tips.

Pro Tip #1: Pay attention to the account you use for installing the gateway. This account needs to belong to the same Azure tenant as the account you’ll use for building your Azure Logic Apps that will use this gateway.

Pro Tip #2: Pay attention to the region that is automatically selected when installing the gateway. For this example, the gateway needs to be installed in the same region as your Azure Logic App.

Azure Logic App

Now I’m going to step you through building an Azure Logic App that can be executed using a simple HTTP Request. The Logic App will accept a single parameter (CustomerId), or no parameter at all. If no id is presented, the Logic App will return all customer rows. Otherwise, it will filter on the passed in CustomerId.

  1. Create a new Azure Logic App.Logic App
  2. When the deployment of the Logic App is complete, start with the common trigger “When HTTP request is received”.Logic Apps Designer
  3. Add the following JSON schema for the Request Body and click Save. Once you save the Logic App you should see the HTTP POST URL field populated automatically.
    {
    "properties": {
        "CustomerId": {
          "type": "integer"
        }
    },
     "type": "object"
    }

  4. Add an Initialize variable step named CustomerIdVariable, type string, and set the value to the passed in CustomerId parameter.
  5. Add a new Condition step to the Logic App (Controls -> Condition) and change the operator to “Or”. Add a second line row to the condition step and configure as follows.
      1. CustomerIdVariable is equal to null
      2. CustomerIdVariable is equal to 0
      3. Where null is a function, and CustomerIdVariable is set from the Dynamic content. Save the Logic App.
  6. In the “true” block, add a SQL Server, Get rows (V2) action. We will need to set up a new connection here so let’s do that. Since we were sure to set up the On-Premises Gateway in the same Azure Subscription, you should see the gateway automatically available in the Connection Gateway dropdown. We are using Windows Authentication for authenticating to the SQL Server.
  7. Once the connection is created, set the server name, database name, and table name on the SQL Server Get rows (V2) action. Save the Logic App.
  8. Repeat this process for the False side of the conditional, using the same connection that was created in a previous step. When creating this action, click the Add new parameter button and add a Filter Query parameter.
  9. Set the Filter Query parameter to powerappscontactid eq CustomerIdVariable where the CustomerIdVariable is filled in using the Dynamic content. Save the Logic App.
  10. After the Get rows (V2) action in the False side of the conditional, add another conditional. Use the following expression for the conditional.
    length(body(‘Get_rows_(V2)_2’)?[‘value’]) is equal to 0.
    Where the first part is an expression.
  11. For this new conditional we’ll leave the False side empty, but we want to add a Response Request action to the True side. Configure the Response to use Status Code 200, and [] as the Body. Save the Logic App.
  12. Finally, outside of the conditionals, we’ll add another Response Request Action with a Status Code of 200. For this response, we’ll use Dynamic content and send back the ‘values’ from both SQL Server Get rows (V2) actions.
  13. The Logic App should look like this.
  14. Time to save and test your Logic App. We’re going to use Postman to do that since we haven’t set up our API yet in Azure API Management. Open up Postman and start a new request. Use HTTP Post and the URL from the “HTTP Request Received” trigger on your Logic App. I also tweaked that URL to include our CustomerId query string parameter.

Once the URL is put into Postman, the other parameters should be auto-populated in your Postman environment. Here is a snippet of the URL that shows how I included the CustomerId, followed by a screenshot of the Logic App run (after completion), the Postman results, and the contents of the table displayed in SQL Server Management Studio.

…triggers/manual/paths/invoke?CustomerId=2&api-version=2016-10-01…

Conclusion

I hope this helped demonstrate how quickly you can start querying data in your on-premises data stores from a cloud resource like an Azure Logic App. Please keep in mind that you’ll most likely want to secure this Logic App since right now, anyone can send a request to it. We’ll cover that in more detail in another write-up.

AIS is the 2019 MSUS Partner Award Winner – Business Applications – Dynamics 365 for Sales. This is our vision for the Power Platform era.

I am incredibly excited to share that AIS has been announced as the 2019 MSUS Partner Award Winner – Business Applications – Dynamics 365 for Sales at #MSInspire!

Some background on how we won:

Story for MSUS Win Dynamics 365 SalesWhen the National Football League Players Association (NFLPA) needed to score a big win for its members, they brought in the AIS team to build a single, shared player management system, called PA.NET. AIS extensively customized Dynamics 365 for Sales to meet the unique needs of NFLPA, integrated it with Office 365… and then took it all to the cloud with Microsoft Azure.

Using Dynamics 365 for Sales, PA.NET provides one master set of player data and powerful reporting tools. Now employees across the organization can turn to the same system to answer questions, uncover marketing and licensing opportunities, and identify other ways to help members. When a specific licensing request comes in, they can find the right person, or people, in minutes.

So where do we go from here? From Dynamics to Power Platform.

Our Business Applications & Automation Practice is investing heavily in Dynamics and the Power Platform. We recognize that an organization’s adoption of the Power Platform should be thought of as a journey, not a one-off “app of the moment” solution. By focusing on enterprise management and leveraging the Common Data Service (CDS) as much as possible, we help clients like NFLPA scale their adoption as they migrate workloads and make use of Power Apps, Power BI, Flow, and Dynamics 365.

Power Platform Technologies

Earlier this year, we worked with friends in the business applications community around the world to launch our Power Platform Adoption Framework. Mature organizations realize that rigor, discipline, and best practices are needed to adopt the platform at scale.

The Power Platform Adoption Framework is the start-to-finish approach for adopting the platform at scale.

It helps enterprise organizations:

  • Get to value quickly
  • Educate, train, and grow their community of developers and power users
  • Create durable partnerships between business, IT, and the user community
  • Continuously improve ROI on the platform by identifying and migrating new workloads
  • Blend agile, rapid app development with rigorous, disciplined enterprise management

I hope that the framework will continue to become a worldwide standard for enterprise-grade adoption of the Power Platform. I’ve been lucky to collaborate with Power Platform experts and users around the world to create the Power Platform Adoption Framework. I’m proud to say that AIS is fully behind the framework, sharing it with the community, and committed to its future development as best practices for scaled adoption evolve. We’re sharing it so that everyone can use it because we believe that a vibrant and thriving community around this technology is good for everyone who uses it.

Please join me in congratulating the AIS team, and please join us on this journey to scale the Power Platform to meet the challenges of the years to come.