cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
GC87
Frequent Visitor

Adding email to an existing formula

Hello,

 

Currently I have started testing and even created an updated version of Service Desk App. However what I would like is that the second someone creates a new ticket it sends all IT staff an email notification of that new ticket.

 

Currently I have the following code on create ticket

 

If(IsBlank(Subject.Text) || IsBlank(Description.Text) ,UpdateContext({msg_visible:true}),SubmitForm(NewTicketForm);UpdateContext({New:Patch(Tickets,LookUp(Tickets,ID=Text(Max(Tickets,ID))),{Subject:Subject.Text,Description:Description.Text})}))

 

Is there a way to add something like the following?

 

Office365.SendEmail(
          DataCardValue12.Selected.Email, // To field
           "Text",                        //  Subject Field
           "<b><font color=blue>HTML</font></b>text"           // Body Field, this could also be HtmlText1.HtmlText     
           {IsHtml:true}                  // the record elements for other parameter          
       )

 

I am a real novice when it comes down to these things.

1 ACCEPTED SOLUTION

Accepted Solutions
timl
Super User
Super User

Hi @GC87

In theory, you should be able to add your call to the SendMail function after the calls to SubmitForm and Patch. The formula would look something like this:

 

 

If(
    IsBlank(Subject.Text) || IsBlank(Description.Text),
    UpdateContext({msg_visible: true}),
    SubmitForm(NewTicketForm);
    UpdateContext(
        {
            New: Patch(
                Tickets,
                LookUp(
                    Tickets,
                    ID = Text(Max(Tickets,ID))
                ),
                {
                    Subject: Subject.Text,
                    Description: Description.Text
                }
            )
        }
    );
Office365.SendEmail(
          DataCardValue12.Selected.Email, // To field
           "Text",                        //  Subject Field
           "<b><font color=blue>HTML</font></b>text"           // Body Field, this could also be HtmlText1.HtmlText     
           {IsHtml:true}                  // the record elements for other parameter          
    ) )

 

View solution in original post

14 REPLIES 14
timl
Super User
Super User

Hi @GC87

In theory, you should be able to add your call to the SendMail function after the calls to SubmitForm and Patch. The formula would look something like this:

 

 

If(
    IsBlank(Subject.Text) || IsBlank(Description.Text),
    UpdateContext({msg_visible: true}),
    SubmitForm(NewTicketForm);
    UpdateContext(
        {
            New: Patch(
                Tickets,
                LookUp(
                    Tickets,
                    ID = Text(Max(Tickets,ID))
                ),
                {
                    Subject: Subject.Text,
                    Description: Description.Text
                }
            )
        }
    );
Office365.SendEmail(
          DataCardValue12.Selected.Email, // To field
           "Text",                        //  Subject Field
           "<b><font color=blue>HTML</font></b>text"           // Body Field, this could also be HtmlText1.HtmlText     
           {IsHtml:true}                  // the record elements for other parameter          
    ) )

 

View solution in original post

GC87
Frequent Visitor

Thank you timl for the response I had another question if I wanted to specific the emails instead of DataCardValue12.Selected.Email do I just place the email addresses I want? Im not sure exactly how that portion works or do I need to create a flow for that value to know where it needs to go?

Hi @GC87

Yes, you can just replace DataCardValue12.Selected.Email with your desired email address (enclosed within double quotes).

GC87
Frequent Visitor

If(
    IsBlank(Subject.Text) || IsBlank(Description.Text),
    UpdateContext({msg_visible: true}),
    SubmitForm(NewTicketForm);
    UpdateContext(
        {
            New: Patch(
                Tickets,
                LookUp(
                    Tickets,
                    ID = Text(Max(Tickets,ID))
                ),
                {
                    Subject: Subject.Text,
                    Description: Description.Text
                }
            )
        }
    );
Office365.SendEmail(
          "email1@company.com", "email2@company.com", "email3@company.com", // To field
           "Text",                        //  Subject Field
           "<b><font color=blue>HTML</font></b>text"           // Body Field, this could also be HtmlText1.HtmlText     
           {IsHtml:true}                  // the record elements for other parameter          
    ) )

I have legit email addresses instead of email#@company.com

 

This is what I have currently placed and so far it is giving me an error.

 

Unexpected characters. The formula contains 'ParenClose' where 'CurlyOpen' is expected. This error occurs, if for example, a formula contains '{Val@7}' instead of '{Val:7}'. When you set a variable, the syntax requires a colon instead of an "at" symbol.

Can you try comma separating the email addresses into a single string to see if that works?

"email1@company.com,email2@company.com,email3@company.com"

 

GC87
Frequent Visitor

If(IsBlank(Subject.Text) || IsBlank(Description.Text) ,UpdateContext({msg_visible:true}),SubmitForm(NewTicketForm);UpdateContext({New:Patch(Tickets,LookUp(Tickets,ID=Text(Max(Tickets,ID))),{Subject:Subject.Text,Description:Description.Text})});
Office365.SendEmail(
"cramsey@antunovich.com, gcordova@antunovich.com, blane@antunovich.com", // To field
"Text", // Subject Field
"<b><font color=blue>HTML</font></b>text" // Body Field, this could also be HtmlText1.HtmlText
{IsHtml:true} // the record elements for other parameter
))

 

 

The areas highlighted in red are where errors are located. For some reason it has the an error with the semi colon after (new ticket form), not sure whats going on between SendEmail and the bracket, as well as infront of the curly bracket from IsHtml:True.

 

If I remove the whole portion of the email my previous code works without any errors.

GC87
Frequent Visitor

I just fixed the SendEmail and NewTicket Form errors. Apparently I forgot to place Outlook into the data source.....whoops. However I get {IsHtml:true} with an error, is this because for the curly brackets?

Perhaps you're just missing a comma after the previous line?

"<b><font color=blue>HTML</font></b>text" ,
GC87
Frequent Visitor

Thank you again timl looks like that did the trick. Going to test and see if I can get an email response. Thank you

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Welcome Super Users.jpg

Super User Season 2

Congratulations, the new Super User Season 2 for 2021 has started!

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Users online (1,510)