You can define the duration to execute this project which can be completed in as little as 5 days, but this article highlights the steps you will take and resources that will be useful as you create and submit your very own independent publisher connector.
(Note: Even if you have never heard of connectors before, don't worry. If you have interacted with APIs before, this is a project you can easily get started on)
Skills that you will learn
- Working with APIs – You will select a public API to build a custom connector for.
- GitHub – You will submit your connector on the power platform connectors GitHub repository
- Postman – You may need to test out your API endpoints and verify your API requirements, postman is the best tool.
- Microsoft Power Platform Connectors CLI - Create & update a connector using the CLI (ALM)
- Create a free work account (****@***.onmicrosoft.com) Microsoft 365 Developer Account which provides you with a M365 E5 developer subscription to create your own sandbox and develop solutions. Steps to create a free work account.
- Connector builder tools
Introduction
Additional Resources
a) Understand connectors: Connectors overview
b) Understand custom connectors: Custom connectors
- Build your API (REST API or SOAP API)
- Secure your API (Authentication methods: Generic OAuth 2.0 or Basic Authentication or API Key)
- Describe the API (Use OpenAPI definition - formerly Swagger file or Postman collection)
Introduction to Key Concepts
Objective
Brief introduction to concepts that will be useful to know prior to creating your custom connector.
1. What is Power Platform and why is it important?
The power platform contains components that allow citizen developers to create business solutions without requiring a coding background. This concept is important to you since connectors are used by these citizen developers creating Power Apps, Power Automate and Logic Apps.
Read more about the power platform here
2. What is Fusion Development and why is it important?
Fusion development is the enablement of code-first developers (Pro-Devs) and citizen developers to cross-collaborate, each entity using their favorite development tools and environments. Citizen developers create business apps and flows used daily while the code-first developers extend the capabilities of power platform or solve complexities using code.
Read more about fusion development here
3. Understand connector types
For this project, you will be creating an Independent Publisher Connector since you will be working with an API that is available publicly and owned by someone else, and once certified, your connector can be accessed globally.
If you do not know which connector to build, see a list of the Top Connector Asks today for ideas.
List of Public APIs
Something important to note: Submit a proposal for the connector you intend to build before you start working on it to inform other developers and avoid duplication. Failure to do this might result in the submission of similar connectors and someone else might just beat you to it.
-
Title the pull request "Proposal - <Connector Name> (Independent Publisher)". For example, Proposal - HubSpotCRM (Independent Publisher).
-
Commit a readme.md file with as many details as you can provide, including your contact email (if you’re open to finding a collaborator).
Session 1: Build a Custom connector from scratch
Session Recording & Summary Blog
Objective
Build the chucknorris.io connector from scratch
Additional Resources
a) Documentation: Create a custom connector from scratch | Microsoft Learn
Session 2: Build a Custom Connector from scratch & from an OpenAPI Spec file and use it directly in a Power App
Session Recording & Summary Blog
Objectives
1. Build the SWAPI connector from scratch and show data in a Power App. Short video tutorial
2. Introduction to Triggers & policy templates
Additional Resources
a) Documentation: Create a custom connector from an OpenAPI definition | Microsoft Learn
b) OpenAPI extensions you can include to create your extension: Extend an OpenAPI definition for a custom connector | Microsoft Learn
c) Coding standards documentation (Best practices for your code): Coding standards | Microsoft Learn
d) Tool to convert to an OpenAPI 2.0 schema which is the only one currently supported:
Build a Custom Connector from a Postman Collection
a) Create a custom connector from a Postman collection | Microsoft Learn
Session 3: Validate your connector before submitting
Session Recording & Summary Blog
Objectives
1. Best practices when building connectors.
2. Additional tips and insights for you
Optional: Use your connector in Power Platform (Testing)
a) Use a custom connector from a flow | Microsoft Learn
b) Use a custom connector from a Power Apps app | Microsoft Learn
c) Use a custom connector from a logic app | Microsoft Learn
Submit your connector for certification
Independent Publisher Certification process
a) Read the Manifesto
b) Prepare the connector artifacts
c) Ensure your connector contains valid metadata
c) Open source your connector in the GitHub Repository
Microsoft Certification Engineers will review within 1-2 weeks, and you will be notified in GitHub (on your PR). Please include the below files in your pull request.
• apiDefinition.swagger.json
• apiProperties.json
• Readme.md (you can find an example here and for raw view for code here)
• Screenshots of the connector testing
d) Microsoft will test your connector, and we expect all tests to be completed within 1-2 weeks.
e) If your connector passes all tests, the deployment process begins, and it typically takes up to 3-4 weeks to deploy your connector to all our regions.
Additional References
Independent Publisher Full Step-by-step Guide by Tomasz Poszytek, Microsoft MVP
Chapters:
0:00 Introduction
3:00 1. Create custom connector
5:20 Actions and triggers in custom connector. Define requests and responses
20:00 Test custom connector
21:00 2. Test custom connector with cloud flow
23:00 3. Download custom connector
25:30 4. Tweak downloaded files, align to requirements
32:30 5. Validate custom connector
35:10 6. Create readme.md file
38:00 7. Create a fork on Microsoft dev branch
39:00 8. Clone repo with Visual Studio Code
39:50 9. Create branch for all your changes
40:20 10. Add files to commit and create commit
42:05 11. Create Pull Request to Microsoft dev branch
44:00 Summary
If you have development questions, go to the Power Automate Forum. This is where you can review answers to existing questions or submit a new question. You can reach out to us directly on this GitHub Discussion
Frequently Asked Questions (FAQs)
1. What are the limits for connectors and API requests? API Limits
2. Questions on connector certification. Certification
3. Questions on requirements. Requirements
4. Questions on Support. Support
5. Questions on Triggers. Triggers