Connecting Microsoft Forms to Productboard with Power Automate

Pricing banner: The following capabilities are available on all Productboard plans.

 

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

  1. Copy this form to use as a template (or use your own form if one already exists)
    1. If using the template, review each question and make edits as needed.
    2. The subtitle of the questions in the template explains what part of the Productboard note they map to
  2. Go to the Power Automate app
  3. Click on + Create and then Automated Cloud Flow.
    Screenshot_2023-03-29_at_2.56.12_PM.png
     

     

  4. Within Choose your flow’s trigger, search for “When a new response is submitted”, select the result, and click Create.
    Screenshot_2023-03-29_at_3.11.48_PM.png
  5. Pick your form for the first trigger.
    Screenshot_2023-03-29_at_3.14.36_PM.png
  6. Add a New Step, search for the “Get response details” Action, and select it.
    Screenshot_2023-03-29_at_3.21.22_PM.png
  7. Select the same form for the Form Id and Response Id for the Response Id using the Dynamic content pop-up.
    Screenshot_2023-03-30_at_11.25.56_AM.pngScreenshot_2023-03-29_at_3.37.59_PM.png
  8. Add a New Step, search for the “HTTP” Action, and select it (it might be a few options down).
    Screenshot_2023-03-29_at_3.39.53_PM.png
  9. 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....
  10. 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"
           }
         }
       }
    
  11. Add a New Step, search for the “HTTP” Action again.
    Screenshot_2023-03-29_at_3.39.53_PM.png
  12. 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....
  13. 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"
            }
          }
        ]
      }
    }
    
  14. 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.

Screenshot_2023-03-30_at_11.25.56_AM.png

See also:

Was this article helpful?
6 out of 22 found this helpful

Articles in this section

See more
Our Support hours:
Monday to Friday from 9:00 am - 2:00 am CET. Monday to Friday from 0:00 am - 5:00 pm PST.
Productboard Academy
Become a Productboard expert with self-paced courses, quick tip videos, webinars and more.
Product Makers Community
Connect with product leaders, share and find product jobs, and learn how to approach similar challenges. Come join our Product Makers community.