Populate contact and opportunity lookup in Survey Response - dynamics-crm

I created a survey in Voice of the Customer app. I included piped data as below :
I created a workflow to send an email when an opportunity is won:
I am able to see the piped data in the survey. But, the contact lookup and opportunity lookup is not getting populated in the survey response form :
Am I missing something?
How does these lookups get populated?

You can do a similar workflow (or pre create/post create plugin) on create of survey response, to map the opportunity lookup value from survey in survey response as well.

When we send an email containing the survey, a survey activity is formed. This survey activity has a unique invitation link, regarding field (populated with opportunity in my case) and is tied to the survey.
When I submit the response, the survey response gets tied to this survey activity. Hence, we are able to tag survey responses with different opportunity records.

Related

How to get servicenow survey responses using api

How can we get the servicenow survey questions and responses using API?
I need to get all the responses for a survey I created including the question, answer and the ticket number.
I tried to get the responses from asmt_metric_result table, got the string value only. How can I get the question and ticket number as well?

How to populate look up field based on text field - Dynamics 365

I am trying to populate contact field (Potential Customer) based on text field (Email Address) set. To bear in mind, it should be unique based on the customer record.
Condition is if Email address field is set, look up field (Potential Customer) value should be fetched based on the Email address field.
Wherever you are trying to fill that contact lookup from (plugin, form script, console job, web app, ETL, MS Flow, etc), you have to fetch the contact by filtering the email value and set it in lookup entity reference.
You can use web api or fetchxml to achieve that. Here is how it should look like.
https://crmdev.crm.dynamics.com/api/data/v9.0/contacts?$select=fullname&$filter=emailaddress1 eq 'test#gmail.com'
C# example
Javascript example
Once you fetch the lookup field based on email address using web api which is suggested by Arun. To set lookup field on form using javascript see below article.
https://xrmdynamicscrm.wordpress.com/2020/06/17/dynamics-crm-365-set-lookup-regarding-field-while-using-xrm-navigation-openform-formparameters/
Please mark my answer verified if i were helpful

How to programmatically set the subject (title) of an Outlook 365 meeting from user data entered at runtime

Background
Our Training team uses an Excel worksheet to track our online training, listing the date, customer, topic, type of training, type of meeting (Teams live event or Teams meeting), presenter, and moderator. In addition to the information in the worksheet, we create an Outlook 365 meeting for each workshop. The subject (title) of the Outlook meeting takes this format: {Customer} {Topic} {Event Type} {Meeting Type} {Start}.
Goals
Replace the Excel worksheet with an Outlook 365 view in table
layout, eliminating a time-consuming and redundant step in our process.
Minimize data entry.
Do 1 and 2 in such a way that I can distribute the solution to our Training team without involving a request to systems admins or requiring our team to do any heavy lifting code- or configuration-wise.
Problem
I've tried two methods and am getting stuck at the same spot: I can't figure out how to set the meeting request subject equal to the information entered by the user.
Progress
Method 1: Outlook form or template
I modified P.2 in an appointment request in Outlook 365 to be a data entry form for the custom fields Customer, Topic, EventType, MeetingType, Presenter, and Moderator. Another custom field, TrainingEvent, is a read-only Boolean set to Yes when the appointment is created. I use this field to filter non-training events out of the new calendar view. Another custom field, EventID, has an initial value that concatenates the other fields in the order we need for the meeting subject. I saved the modified request as both a form and an Outlook template to test each method.
Both work fine, right up to the point of setting the actual meeting subject equal to the EventID. That is, when I submit the request the meeting is created and all the fields are populated with what I entered. The subject remains empty. I can't find any guidance, using VBA or otherwise, on how to populate the subject based on user entry at runtime.
Method 2: Microsoft Forms + Automate
So I tried another way: I created a form in Microsoft Forms to collect the same data, then ran it through Microsoft Automate modifying an existing template that creates an Outlook 365 event when a form is submitted. Same result: The event is created with all my entered data, but the subject remains empty.
Obviously, I could just ask our team to enter all the separate fields and also the subject, but that defeats goal #2.
What am I missing? This feels like it should be such an easy problem to solve.
I found the answer. I added the Subject field to my custom P.2 (data entry form). In the field properties on the Value tab, I changed "Property to use" from Value to Text and set the initial value to the concatenated field EventID. Voila!

Show Survey Responses for a survey in Opportunity entity

I need to show survey responses for a particular survey in Opportunity entity.
Basically, I need to see below information for a survey in an entity.
Can we do something so that the Survey Responses tab can be seen in the navigation as below ?
Edit : I want to email a survey when an opportunity is closed. Then, I want to tag the survey responses related to that opportunity.
Create a survey lookup in opportunity entity
Create a quick view form for survey entity with whatever look & feel you want (fields & subgrid of survey responses)
Insert the quick view form in opportunity form using the lookup created in step 1
Fill the lookup with survey id you want, this will work nicely

CRM Dynamics - Voice of the Customer (VoC) survey - Update Standard/Custom entities based on Survey Responses?

Is it possible to update standard and/or custom entities based on responses provided from a Dynamics CRM Voice of the Customer (VoC) survey?
According to Joel Lindstrom in this blog, this is possible (at least for the Contact entity) via a workflow, but it doesn't actually show how to update a field on the contact entity.
Notes:
When I tried creating a workflow (as described in the link):
I added an Update step, but the Contact entity wasn't available from the list of entities to update.
I then added an Insert step and the contact entity was available. (I don't count this as an acceptable option, because I want to update a record. I don't want a second record.)
If your workflow (W1) is on child Question response (QR), no direct Contact relationship is available. Only available on parent Survey Response (SR).
So you need a new Contact relationship in QR and another workflow (W2) to update this QR contact from SR. Then the W1 can be used to update the Contact fields like Phone # from one of the Survey Question response.
The blog post clearly says:
The first challenge we are going to hit is that since the answer doesn’t have a direct relationship with contact, we can’t easily update the Contact record from a question response workflow. One way to resolve this is to add a relationship between question response and contact, and if the response is related to a contact, update the contact field on the question response to link it to the contact.

Resources