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 III
Super User III

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 III
Super User III

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?

timl
Super User III
Super User III

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.

timl
Super User III
Super User III

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?

timl
Super User III
Super User III

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
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Did you miss the call? Check out the recording here!

Top Solution Authors
Top Kudoed Authors
Users online (60,760)