There have been multiple posts that we can connect to Survey Monkey accounts through Power Automate (which I have done), but then you cannot actually retrieve and view the survey responses (only a link to to the account), so the usefulness is very limited. Has anyone tried getting an API key from their Survey Monkey account, which then allows access to the responses and more details about a survey, then in Power Automate, use an HTTP call and possibly JSON parsing to get responses from Survey Monkey? Lots of work.
I may try this, but if anyone has already done it, I would love to know.
Solved! Go to Solution.
Hi @Runner55552
I just delivered a project integration with Survey Monkey to D365.
There are two ways you can retrieve the responses.
1. Use the standard Survey Monkey trigger "When a new survey response is added". This is used when you want to capture the response immediately and process it. Here you get the response in JSON format. You need to parse the JSON and process the responses against each question id.
2. The other method is a batch process. So here I have used a HTTP Request action step to get all the responses specified from a particular date onwards. The URL is https://api.surveymonkey.net/v3/surveys/yoursurveryid/responses/bulk . Here you need to replace your survey id.
To retrieve the response via HTTP you need to register your app
https://developer.surveymonkey.com/api/v3/#getting-started
Once you followed the above documentation you get the following details from Survey Monkey.
Client ID, Secret Key, Access Token & OAuth Redirect URL
You don't need to register the OAuth Redirect URL initially.
Your app will be registered under the below address.
https://developer.surveymonkey.com/apps
Once the app registration is done you need the Client ID, Secret Key & Access Token.
Next you need to create a custom connector in Flow using the above details Client ID, Secret Key, Access Token .
At this stage you will have the redirect URL. Copy and paste the URL under Survey Monkey App registration OAuth Redirect URL.
Once you successfully created the custom connector you can create the action step to retrieve the responses from Survey Monkey.
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogHi @Runner55552
I just delivered a project integration with Survey Monkey to D365.
There are two ways you can retrieve the responses.
1. Use the standard Survey Monkey trigger "When a new survey response is added". This is used when you want to capture the response immediately and process it. Here you get the response in JSON format. You need to parse the JSON and process the responses against each question id.
2. The other method is a batch process. So here I have used a HTTP Request action step to get all the responses specified from a particular date onwards. The URL is https://api.surveymonkey.net/v3/surveys/yoursurveryid/responses/bulk . Here you need to replace your survey id.
To retrieve the response via HTTP you need to register your app
https://developer.surveymonkey.com/api/v3/#getting-started
Once you followed the above documentation you get the following details from Survey Monkey.
Client ID, Secret Key, Access Token & OAuth Redirect URL
You don't need to register the OAuth Redirect URL initially.
Your app will be registered under the below address.
https://developer.surveymonkey.com/apps
Once the app registration is done you need the Client ID, Secret Key & Access Token.
Next you need to create a custom connector in Flow using the above details Client ID, Secret Key, Access Token .
At this stage you will have the redirect URL. Copy and paste the URL under Survey Monkey App registration OAuth Redirect URL.
Once you successfully created the custom connector you can create the action step to retrieve the responses from Survey Monkey.
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogThanks, this is great! A couple of questions: 1. Are you able to share screenshots of your Flow, if not confidential?
2. You mentioned using an HTTP Request action step. Would this be an HTTP request inside the Flow, then follow that with the custom action step that parses/retrieves the responses?
I have already registered an app, and successfully connected to Survey Monkey through an HTTP step in the Flow, but have not yet managed to retrieve a list of questions and answers to a survey. It sounds like the custom action step would be more efficient.
Hi @Runner55552
Thanks for your reply. I could do a screenshare later this evening. Will send you some details in your email.
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogUpdate: managed to parse out survey questions and responses and push to a flat table in SQL database. Used the Get request as stated above (bulk responses), then a parse json action to get the entire list of questions/responses in a json object, then a Select action to map individual questions to answers. Finally, an insert row to SQL action, referencing the output from the Select action.
I do have one more question. We managed to get this all working in Power Automate, using a get request (bulk responses), then a Select statement to map out the individual questions and answers. However, I noticed that the output from the HTTP Get request would completely eliminate a question and its answer in cases where the user did not insert an answer to an optional question. We did not have Skip logic in the survey design, but when answers were left blank, it appears, the Get request simply eliminated that question and answer in the response. This caused problems in our Select statement, because we used array references (0 to 6) to refer to the 7 questions. For those responses with skipped answers, I received this error in Power Automate:
"'The template language expression 'items('Apply_to_each')?['pages'][0]?['questions'][6]?['heading']' cannot be evaluated because array index '6' is outside bounds (0, 5) of array."
And when looking at the output from the HTTP Get request action, that is correct. One of the questions where the respondent did not answer a question was eliminated in the HTTP response, thus reducing the array length from 6 to 5.
Have you encountered anything like this? I have emails in to SurveyMonkey support to see if we can return ALL answers, regardless of whether the answer is blank, but have not heard back yet. Is there any workaround to this, to check for skipped answers, then increment the array as needed? Seems that may be complicated.
Thanks.
Mark
Hi @Runner55552
You could add an option called Not Applicable and make it mandatory.
The other option is find the count of the questions and iterate using a Do while loop to get the answers.
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogGot a response from SurveyMonkey confirming that their API works by essentially removing array elements when not present, which changes the structure of the data. We created tests and checks with conditions in our Flow to work around this, and literally change the numbering of our array elements as needed with "counter" variables.
The better method is to make sure you design your survey as simple as possible. As you stated below, having all questions mandatory, and where possible, having choices (on choice fields) like NA, would help. Our survey had optional questions, and some questions with a main heading and two parts to the question. This is fine if just manually exporting an Excel file from SurveyMonkey, but definitely causes complications when using the API. However, it is working fine now, and in "maintenance" mode, running once a day to check for new survey responses and push the new responses into our SQL database.
Thanks for your help on this. It was definitely a learning process.
Hi @Runner55552
Thanks for your reply. Yes making the survey simple is the best way especially integrating via API. What survey monkey lacking is when it designing the question and answers it should have given an optional text where we can store the target system reference such as name or id. Later this will be really helpful from JSON result sets where we can easily extract the answers against the target system reference/id/name (sql column name or something).
Thanks again for all the communications related to this topic. Definitely this will be useful for others.
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogHi @Runner55552 great post!
I'm trying to achieve a very similar outcome and wondered if you wouldn't mind sharing this Flow in a little more detail?
It is possible to screen grab the actions in an expanded state to see the inner working?
Thanks in advance
I am sorry I haven't responded yet. The screenshots would be fairly complicated, so I would need to expand some actions, then put together the images. I am still hoping to do this at some point. The complicated part was parsing the json to get the questions/answers formatted correctly.
Hi,
Can we create a public app and just deploy, i see a message that surveymonkey has some criteria to deploy a public app. If we have to create a private app where could we deploy it?
Also if we use surveymonkey connector, When we get response for a survey. Do we get actual question and answer text or do we get question_id and answer_id/choice_id where we need to map to get actual question or answers
Dear Community Members, We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd. During this period, members will not be able to Kudo, Comment, or Reply to any posts. On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities. What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!
We are excited to announce the Summer of Solutions Challenge! This challenge is kicking off on Monday, June 17th and will run for (4) weeks. The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities. Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”) - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024 Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods. You must enter into each weekly Entry Period separately. How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different. Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers. At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing. Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner. A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random. Individuals will be contacted before the announcement with the opportunity to claim or deny the prize. Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners. Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event. ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE** Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24 17 @Anil_g 7 @ManishSolanki 13 @eetuRobo 5 @David_MA 10 @VishnuReddy1997 5 @SpongYe 9JhonatanOB19932 (tie) @Nived_Nambiar 8 @maltie 2 (tie) @PA-Noob 2 (tie) @LukeMcG 2 (tie) @tgut03 2 (tie) Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate @Deenuji 12@ManishSolanki 19 @Anil_g 10 @NathanAlvares24 17 @VishnuReddy1997 6 @Expiscornovus 10 @Tjan 5 @Nived_Nambiar 10 @eetuRobo 3 @SudeepGhatakNZ 8 Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22 Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2 Anil_g2 SharonS2
On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners. The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights. Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.
We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for. We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer. Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together. Here's to new beginnings and endless possibilities! If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport. To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages