Connecting your Microsoft form to Productboard can bring several benefits, such as streamlining your feedback collection process and facilitating collaboration between your team members. Additionally, automating the feedback collection process can save time and increase efficiency, allowing Product teams to focus on analyzing and acting on feedback.
In this article:
Requirements
The requirements to build this integration are:
- Productboard Admin permissions
- Power Automate Premium account
- General knowledge of APIs/JSON will help
Copying the form and creating the flow
- Copy this form to use as a template (or use your own form if one already exists)
- If using the template, review each question and make edits as needed.
- The subtitle of the questions in the template explains what part of the Productboard note they map to
- Go to the Power Automate app
-
Click on + Create and then Automated Cloud Flow.
- Within Choose your flow’s trigger, search for “When a new response is submitted”, select the result, and click Create.
- Pick your form for the first trigger.
- Add a New Step, search for the “Get response details” Action, and select it.
- Select the same form for the Form Id and Response Id for the Response Id using the Dynamic content pop-up.
- Add a New Step, search for the “HTTP” Action, and select it (it might be a few options down).
-
Fill out the HTTP action with the following information (the queries and cookie section can be left blank):
Method: POST URI https://api.productboard.com/v2/entities Headers Authorization Bearer <your Productboard API Token> Headers Content-Type application/json Body <copy the code block below>
The authorization token should look something like:Bearer eydjawYndH1Jd2Kdas8.Idasdlh.... -
Use the code block below as the body of your HTTP request. For the “Select * response” sections, use the Dynamic Content pop-up to find the responses to your questions and enter them into the body. The field mapping in the code block is what is suggested, but these can be changed to support your use case.
This API call is needed in order to create the customer entity before we can send the next API call of creating the note/feedback and associating the customer to it. If you are not creating new customers, you can ignore this step.
{ "data": { "type": "user", "fields": { "email": "Select Customer Email Address response" } } } - Add a New Step, search for the “HTTP” Action again.
-
Fill out the HTTP action with the following information (the queries and cookie section can be left blank):
Method: POST URI https://api.productboard.com/v2/notes Headers Authorization Bearer <your Productboard API Token> Headers Content-Type application/json Body <copy the code block below>
The authorization token should look something like:Bearer eydjawYndH1Jd2Kdas8.Idasdlh.... -
Use the code block below as the body of your HTTP request. For the “Select * response” sections, use the Dynamic Content pop-up to find the responses to your questions and enter them into the body. The field mapping in the code block is what is suggested, but these can be changed to support your use case.
{ "data": { "type": "textNote", "fields": { "name": "Select Title response", "content": "<h2>Type Question 1 here</h2><p>Select Question 1 response</p><h2>Type Question 2 here</h2><p>Select Question 2 response</p><h2>Type Question 3 here</h2><p>Select Question 3 response</p>", "tags": [ { "name": "Select Product Area / Tag response" } ] }, "relationships": [ { "type": "customer", "target": { "type": "user", "email": "Select Customer Email Address response" } } ] } } - Click Save.
Testing your flow
After saving the flow, you can run a Test by clicking on the button located in the top right corner. If no responses have been submitted to your form, you must first submit a response.
Troubleshooting and debugging
Below are some common errors you may receive when saving or testing the flow.
Invalid JSON in the Body of your HTTP request
To fix this, copy your JSON into your favorite code editor or an online service to help you with the formatting.
Any 400-type response from the Productboard API
The flow will save the errors it receives in its run history. If you click on any of the run logs, it will provide you with the type of error received, which will typically explain what you will need to do to fix the error. For more information, read through our Notes API documentation.