One of the toughest and most time-consuming tasks for home buyers is researching whether the location of a prospective home will fit their needs. They need to consider factors such as schools, public transit, safety, shopping, traffic, and more for every listing they are interested in, whether it comes from an agent or online search. Comparing these factors across multiple listings makes it even more complex.

Homitat can help solve this tough problem with its intuitive iOS and Android apps. In just a few minutes, users can set their preferences and then score and compare prospective homes on how they match up to their lifestyles. It takes away the guesswork and saves time.

Microsoft teamed up with Homitat to automate the process of sending messages to Office 365 groups for its subscribed users.

Core team:

  • Raj Konduru – Managing Partner, Homitat
  • Mostafa Elzoghbi – Senior Technical Evangelist, Microsoft

Customer profile

The mission of Virginia-based Homitat is to help users make faster, better, and more accurate decisions about home buying and renting.

As most people know, the key factors in real estate are “location, location, location.” Homitat addresses this key issue for home buyers and renters with its innovative mobile app. With this app, home buyers can find out how a prospective home’s location matches up to their individual lifestyle. In less than a minute, they can rate and compare homes according to such factors as schools, transit, commute, and safety, all of which have a significant impact on their daily life.

Homitat platform

Homitat website

Problem statement

Homitat is striving to increase customer engagements to its platform daily. It would like to expand user engagements to keep them up to date with system scoring and ranking updates to Office 365 users by providing platform features, comparison capabilities, neighborhood scoring updates, and geographical-based rankings through Outlook connector notifications. Homitat was looking to automate sending comprehensive messages to Office 365 groups for subscribed users.

We looked at building a WebJob that is deployed to Azure App Service to automate the process of sending custom messages to Office 365 groups.

Homitat would like to expand product outreach through Outlook Groups by providing their customers with deep engagement links back to their platform. This provides deep engagements with critical announcements and product updates.

Solution, steps, and delivery

I met with the Homitat team to discuss how we could integrate group registrations into their product back end.

First, I demonstrated the process of registering users’ groups into their back end by giving them various options. They were interested in how to integrate that into their platform back end.

I demonstrated the steps in accepting the returned response from the Microsoft website upon selecting a group to register into their database through their platform API.

Breakdown for group registration process

Office 365 Groups Registration Process

I provided code for Homitat by sharing the Office 365 Connector SDK code base, which illustrates how to register groups into the Homitat back end.

public ActionResult Redirect(string state, string webhook_url, string group_name)
        {
            string responseString = string.Empty;


            var restClient = new RestClient(webhook_url);
            var restRequest = new RestRequest(Method.POST);
            // add header format json
            restRequest.AddHeader("Content-Type", "application/json");
            restRequest.RequestFormat = DataFormat.Json;

            #region one way to add simple body as in anonymous object
            restRequest.AddBody(new
            {
                title = "Thank you for installing Homitat Groups Connector",
                text = "Welcome to our community! we will keep you posted with up to date information for our platform",
                themeColor = "#3479BF"
            });
            #endregion
                    

            // Store group info to send future messages
            DBManager dbMgr = new DBManager();
            dbMgr.AddGroup(group_name, webhook_url);

            var response = restClient.Execute(restRequest);

            ViewData["Message"] = "You have successfully subscribed to our Outlook connector";
            ViewData["Details"] = "A welcome message has been sent to your group, and you will start receiving updates to this group";

            return View();
        }

After that, we successfully integrated the group registration process into the Homitat website after expanding the Homitat database to accept group information. We can use this information later to send recurrent or ad-hoc messaging to Homitat customers.

Second, we built a WebJob that is integrated into a web application. This WebJob is deployed as an Azure App Service so we can send custom messages to registered groups.

The Azure App Service pushes notifications through the subscribed Outlook group webhook URLs when one of the below events occurs:

  1. Update of top cities ranking
  2. Update of top-ranked homes/rentals in certain locations
  3. Update of compare-ranking score for cities, with facts showing in a custom layout canvas
  4. Update of location ratings by lifestyle

We started by creating the Outlook group connector registration process and worked on building various customization options into constructing canvas messages. Then we integrated it within the Homitat back-end platform. This includes some changes to the Homitat back end to start accepting the registered groups into their system.

Upon integrating this into the Homitat website, we started to work on the WebJob to automate sending custom canvas messages to the subscribed groups.

The following screenshots show the canvas messages that were sent by the Azure WebJob.

A group message from the Azure WebJob with a deep link

Group Connector Integration

A group message from the Azure WebJob with a couple of deep links

Group Connector Integration

Homitat solution architecture in Azure

Homitat Solution Architecture

A video that demonstrates deploying a WebJob to Azure App Service and running it from the Azure portal

Project Demo video

Key learnings

We learned how to integrate Outlook Group SDK source code along with ASP.NET MVC into the Homitat platform. We also learned how to deploy WebJobs to Azure App Service.

Code artifacts

We worked with the Homitat development team to build this solution using the following solution components:

General lessons

The Homitat team was extremely excited when I shared with them the Office 365 SDK GitHub repository that includes various technologies to integrate group registration into applications and systems. I have expanded the SDK samples based on their request to use ASP.NET 4.5 runtime framework.

Also, they were happy to automate and configure Azure Scheduler for WebJobs in Azure App Service.

Additional resources

Homitat website

Homitat blog