Wednesday, December 1, 2021

Do you want to build a connector? Let's do it together.

                                         "Talent wins games, but teamwork and intelligence win championships."

                                                                                                                         – Michael Jordan

 

With a common goal of making for the community, a team of two  Microsoft Learn Student Ambassadors from different backgrounds collaborated to create a Microsoft Power Platform connector for the Microsoft Student Ambassadors Power Platform connector hackathon attended by the Microsoft Learn Student Ambassador Program.

 

Meet our Team:

 

AnkitaSingh_0-1637883959576.png

 

Aaryan Arora, an Alpha Microsoft Learn Student Ambassador from Delhi Technological University, India. He is in his 2nd year of college and loves exploring new and upcoming fields like Machine Learning, Artificial Intelligence, and Blockchain. And I am Ankita Singh, Beta Microsoft Learn Student Ambassador from Vellore Institute of Technology, India. I am a lifelong learner who loves to try out new technology and build something useful. Interested in web development 

 

Why Orb Intelligence ?

 

Orb Intelligence provides the data backbone to many of today's most well-known B2B sales, marketing, and analytics organizations focused on digital marketing or sales initiatives.

 

Orb Intelligence provides a Firmographic database of over 45MM companies globally, ranging from a single employee to large enterprises (incl. private companies).

 

What our connector does?

Our connector operates the database of Orb Intelligence. It provides the data, including name, address, corporate hierarchy, revenue, headcount, industry classifications, web/email domains, list of branches/offices, technologies used.

 

Our connector helps users determine the company's corporate hierarchy, core firmographic data (e.g., revenue, industry classification) and use websites to conduct advanced analytics and the affiliated company with the day it is associated with the company. It covers the firms of the US, Europe, Asia, Latin America.

 

Operations of Orb Intelligence API

 

We build a connector where Orb Intelligence provides a framework of API calls for our clients to use the Orb database for their various use cases. Match, Fetch, Search, Lookalike, and Corporate Tree

 

These are the five rings that comprise the framework.

  • To match a customer record to an Orb Intelligence profile, use the Match call.
  • Based on the Orb Intelligence Number, the Fetch call retrieves the entire company profile from the Orb database.
  • The Search method retrieves a list of companies from the Orb Intelligence database that meet the specified search criteria.
  • The Lookalike call returns a list of companies from the Orb database with similar profiles to a target company.
  • A Corporate Tree call is used to retrieve information about a company's parent and all subsidiaries.

Understanding the ORB API

Responses of Operations

 

Match operation ResultMatch operation Result

 

Fetch Operation ResultFetch Operation Result

 

 

search operationsearch operation

 

A brief introduction about the connector's (Orb Intelligence) functionality: to know more about the connector, check out the GitHub repository.

 

Prerequisites

  • API Key (We use orb Intelligence API)
  • Azure Subscription
  • Power App Account
  • Visual Studio
  • Paconn CLI

Connector Building Process

 

The first step was to find a suitable API, and that was the challenging part because we had to find a new API which is not previously used, and most of them were private and not accessible. After a lot of searching on the web, we finally found the API (Orb Intelligence), and then we used the swagger file of the connector and the power apps connector interface to make the connector.

 

API DocumentationAPI Documentation

 

 

We tested various operations and completed the missing details and some other finer things like the security requirements of the API.

 

In the next step, we corrected the request scheme as there were some compatibility data type issues.

 

 

 

Power Platform Connector Builder InterfacePower Platform Connector Builder Interface

 

Finally, we formatted the various details and functions for ease of use.

Then we moved on to the testing phase. We tested each operation using the testing tool provided in the connector builder interface. We were glad that all functions worked fine except one. We had to correct the type mismatch on one operation, which was not detected initially.

 

After testing all operation work perfectlyAfter testing all operation work perfectly

 

Testing on flow

With this, we were done with the first step of creating our connector. Then we moved on to testing it for users. We tested the various operations provided by our connector on flow to check if everything worked fine and gave the expected results. It allowed us to understand any issues the users might face while using the connector as well. After a few minor corrections, we moved on to the next stage.

 

Once we are with connector then we check the triggers and flow

 

Search OperationSearch Operation

 

 

Match OperationMatch Operation

 

 

Match OperationMatch Operation

 

 

Look alike OperationLook alike Operation

 

 

Co operate treeCo operate tree

 

Validating with Paconn CLI

 

Now we moved to the unexpectedly hard part. Till now, things have been exciting and a bit challenging. But then came the time for the final testing procedure before making our pull request.

 

We had to use Paconn CLI, which allows us to test that the swagger file is prepared correctly and there are no issues. The first screen we saw was a horrifying sight. See the image for the number of errors.

 

Downloading the connector artifacts from power platform using paconnDownloading the connector artifacts from power platform using paconn

 

 

The first error screenThe first error screen

 

 

 

Eventually, it turned out to be minor issues of formatting and some missing metadata. This part was when we got a bit perplexed initially. Finally, we figured the stuff out using some common sense (for understanding the error messages), the Microsoft docs, and some google searches.

 

Creating the Pull Request 

 

At last, after correcting all these issues, we can make a pull request to the power platform connector repository.

 

Then Srikanth Yenagandhula and Mahbub Murshed reviewed our publication and suggested the following issue:


To know more about the issues, we faced do checkout our pull request

  1. Indentation of the JSON file
  2. The version was not correct
  3. Unnecessary empty values

We used Visual Studio Code to solve the indentation issue, and we changed the name and modified version v2 as per the official requirement that our reviewer suggested.

 

Once we updated all the changes, then our connector got into the certification process. It took about a week to process the connector.

 

 

Published Connector for usePublished Connector for use

 

Final Remarks

That marks the end of our solution, and it would not have been possible to complete it without the help of the teammates. We learned that a solution that is not found on the internet could be achieved with teamwork.

It also highlights how low-code/no-code is the future, and one can build perfectly scalable solutions with it.  

 

Key Learnings

This project acted as a learning curve, as we delved deeper into Azure and Power Platform and found ways by which we could connect various Microsoft services.

Solving a real-life problem gave us an experience of the wonders of technology can perform, how to work in production environments, and most importantly, we learned how to work in a team, keeping everyone's views, time-constraint, time zone difference into consideration.

To conclude, it was a fantastic learning experience, and the guidance received from the Microsoft team helped us improve our solution and think out of the box. The learnings that we carry ahead will help us in our career and is a testimony of our skills.

 

Special thanks to Microsoft Learn Student Ambassador Program .To join the program check out this link https://studentambassadors.microsoft.com/

Links

GitHub Repositories

 Our Connector Repository

Our Connector Pull Request

Microsoft power platform connector Repository

 

Our Published Connector

Orb Intelligence connector

 

 

Resources to build your own connector

 

 

Posted at https://sl.advdat.com/3DfBLEC