web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Service | Customer Service, Contact Center, Fie...
Answered

Setting Recipient and Regarding Field When Replying to an E-mail in Dynamics 365 CRM

(1) ShareShare
ReportReport
Posted on by 227
 
0

I am working with Dynamics 365 CRM and need some assistance with handling e-mails in the interactive experience form. Specifically, I am trying to reply to an e-mail directly from the timeline.

Here’s what I have achieved so far:

I can modify the sender’s address to a default e-mail using JavaScript. Our own system sends the initial e-mail, so the sender is our own domain. When replying, the e-mail address defaults to this. I have a workflow that parses the e-mail and creates the contact and case according to customer values.

However, I am encountering two issues:

Recipient Address: I want to automatically set the recipient to the Case’s customer e-mail address when replying. Currently, I have to set this manually. Regarding Field: The ‘Regarding’ field is empty when replying, and I need it to be automatically set to the related case.

I'm not sure how to proceed as I'm not experienced.

Here's my default e-mail JS:

function setSender(executionContext, entityType, name, ID){
    var formContext = executionContext.getFormContext()
    // Set the "From" field
    var lookup = new Array();
    lookup[0] = new Object();
    lookup[0].id = ID; 
    lookup[0].name = name; 
    lookup[0].entityType = entityType;
    formContext.getAttribute("from").setValue(lookup);
    console.log("Default e-mail is set");
}
  • Cui Hao Profile Picture
    Microsoft Employee on at
    Hi,

    I created a Case, set Customer as a user, and then sent him an email in the timeline, and found that the /Regarding/ field, as well as the email address, were already populated.



    Then after the user replied to the email, I replied to that user's email directly in the timeline again and found that the To and /Regarding/ fields were also already populated.
    So following the correct process, the /Regarding/ fields and the recipients are auto-populated.

    I'm not sure which steps you're having trouble with, if it's easier, could you provide a full screenshot for me to see?


    Best regards,
    Cui Hao
  • Verified answer
    Barış Kuzu Profile Picture
    227 on at
    I was able to solve it with this script
     
    function onReplyButtonClick(executionContext) {
        var formContext = executionContext.getFormContext();
        var regardingObject = formContext.getAttribute("regardingobjectid").getValue();
    
        if (regardingObject && regardingObject[0].entityType === "incident") {
            var caseID = regardingObject[0].id;
    
            Xrm.WebApi.retrieveRecord("incident", caseID, "?$select=_customerid_value,incidentid").then(
                function(result) {
                    console.log('result',result)
                    var customerID = result._customerid_value;
                    var customerEntityType = result['_customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname'];                ;
                    var customerName = result['_customerid_value@OData.Community.Display.V1.FormattedValue'];
    
                    var toLookup = [];
                    toLookup[0] = {
                        id: customerID,
                        name: customerName,
                        entityType: customerEntityType
                    };
                    formContext.getAttribute("to").setValue(toLookup);
                    console.log("Recipient is set to case's customer email");
    
                    var regardingLookup = [];
                    regardingLookup[0] = {
                        id: caseID,
                        name: result._regardingobjectid_value_formatted,
                        entityType: "incident"
                    };
                    formContext.getAttribute("regardingobjectid").setValue(regardingLookup);
                    console.log("Regarding field is set to related case");
                },
                function(error) {
                }
            );
        } else {
            console.log("The regarding field is not set to a case entity.");
        }
    }

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the August Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Service | Customer Service, Contact Center, Field Service, Guides

#1
Daniyal Khaleel Profile Picture

Daniyal Khaleel 62 Most Valuable Professional

#2
Travis South Profile Picture

Travis South 31

#3
ParthPatel249 Profile Picture

ParthPatel249 19

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans