Send Email based on Approval Status

I'm working on a SharePoint workflow in which data can be entered into a form and an email is then send to a supervisor for approval. I have this working successfully. Next, if this information is approved an email will be sent to one email address,
if it is rejected it will be send to a different email address. This what I'm having trouble figuring out. What is the best way to accomplish this? I'm using SharePoint online via Office 365 and SharePoint Designer 2013 to create the workflows. I'm
pretty new to SharePoint so I apologize if this is a simple task. Thanks.

Hi rdoss,
You can refer the below thread
http://social.msdn.microsoft.com/Forums/sharepoint/en-US/8e637216-b277-448a-8656-0d73c920e2cb/trying-to-send-email-when-a-content-is-approvedrejected?forum=sharepointcustomizationprevious
Similar to send notification section in the above thread, based on workflow status you send the email to the respective recipient. 
My Blog- http://www.sharepoint-journey.com|
If a post answers your question, please click Mark As Answer on that post and Vote as Helpful

Similar Messages

  • Update Approval Status of parent Folder based on approval status of folder items

    Hi,
    I have a SharePoint list which contains folders. Each folder contains one or more items. I wish to update the folder approval status to "Approved" when all the items inside the folder are approved.
    The workflow should trigger whenever the approval status of one or more items inside the folder is changed and is expected to check the approval status of all other items inside the folder. If all the items are approved the folder's approval status should
    be set to "approved".
    I am designing the workflow via SharePoint Designer 2013 and using SharePoint Online 2013 .
    Thanks a lot in advance.

    Hi,
    According to your post, my understanding is that you wanted to update Approval Status of parent Folder based on approval status of folder items.
    Per my knowledge,
    there is no out of the box way to accomplish this with SharePoint.
    Though we can loop the
    folder items to set the content approval status, we can not get the parent folder and then set the content approval status.
    As a workaround, I recoemend to create event reciever to get set the content approval status of the folder items.
    For more information, you can refer to:
    How to: Create a remote event receiver
    How to create a simple Remote Event Receiver for a Custom List in Office 365 SharePoint 2013 site
    Regarding SharePoint Online, for quick and accurate answers to your questions, it is recommended that you initial a new thread in Office 365 forum.
    Office 365 forum
    http://community.office365.com/en-us/forums/default.aspx
    Thanks,
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

  • Sending email-based newsletters

    Is there a way to send email-based newsletters using Mail. The newsletter has been designed in a popular WYSIWYG editor. I know there are lots of dos and dont attached to designing them and thats not what Im interested in learning. Everyone discusses sending them using outlook and entourage but rarely ever Mail - can it be done and how?

    If you mean a newsletter composed with HTML then the answer is yes.
    RTF with Tiger Mail is really HTML but Mail does not include an HTML composer/editor.
    Save the completed HTML document created by the editor of choice.
    Open the saved document with Safari.
    At the Safari menu bar, go to File and select Mail Contents of This Page.
    The document rendered with Safari will be copied to a new Mail.app message which will be sent in its entirety.

  • Could not able to send email notification through approval workflow

    Hi,
    I am trying to send an email notification to the requester and approver on request creation and when the approver approves the request then an email should get triggered to the request with approve/reject outcome. All the SOA configuration has been done and also able to send test email through SOA console but could not able to send email through SOA composite.
    For configuring an email notification, I am using notification tab in ApprovalTask, but still problem is not resolved.
    Please help me in resolving the issue.
    Thanks.

    Use this link to check again whether you have configured the Email driver properties properly. http://www.iamidm.com/2012/09/oim-11g-r2-lab-6-managing-notifications.html
    Also check whether any firewall issue is there which is preventing OIM to contact the email server in sending out emails. Check the logs if there are any issues.
    Also check this system property 'RequestNotificationLevel'. This property indicates whether or not notification is sent to the requester and beneficiary when a request is created or the request status is changed. If the value is 0 for this system property, make it 1.
    I was facing a similar type of issue due to two reasons:
    1. System property
    2. Firewall
    Check both of them and try again.
    Edited by: Durgaprasad on Apr 15, 2013 2:08 AM

  • Send email based on the date

    Hi,
    Does any one know how to send emails automatically based on a date. For example in the database we have birth days of all employees. All the employee details are being maintained using a JSF web application. An email has to be sent as birthday reminder. If any one has any ideas as to how to accomplish this from a webapplication or database please let me know.
    Thanks a lot,
    HeMan

    If U are usingOracle db, then there is a plsql package called ut_mail. It has a procedure that sends emails :
    utl_mail.send(sender => 'myName',
    recipients => '[email protected]',
    subject => myTopic',
    message => 'myMessage',
    mime_type=>'text/plain; charset=ISO-8859-2'); If U want to do it in java, write application and use JavaMail.
    Martin

  • Powershell scripting to send emails based on events in event viewer **PROBLEM IS SENDING attachment of log**

    $emailFrom = "[email protected]"
    $emailTo = "[email protected]"
    $subject = "$env:COMPUTERNAME : A VM was successfully migrated."
    $body = "$env:COMPUTERNAME : A VM was successfully migrated."
    $smtpServer = "smtp.domain.com"
    $smtp = new-object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($emailFrom, $emailTo, $subject, $body)
    this is a template of a ps1 script i wrote. This will send the above email based on a specific event ID for the microsoft failover cluster / operational, say ID 5143 for example. My question is how do i include in that script to also include a copy of the
    log for that event ID in the body of the email ?

    You problem with this code is that the SMTPClient send method does not handle attachements.
    Instead, try creating the message, using the system.net.mail.mailmessage class to create the message.Then create a mail attachment. Finally, add the attachment to the message. This allows you to craate an attachment, then use the SMTPServer object to send
    that mail.
    The code should look something like this:
    $To      = "[email protected]"
    $From    = "[email protected]"
    $Subject = "Using the .NET SMTP client."
    $Body    = "Using this .NET feature, you can send an e-mail message from an application very easily."
    # Create mail message
    $Message = New-Object System.Net.Mail.MailMessage $From, $To, $Subject, $Body
    $AttchmentText = get-content C:\foo\aaaaaaa.txt  # or whatever
    # Now create Attachement content type
    $ct = new-object System.Net.Mime.Contenttype
    $ct.name = 'text/plain'
    # Now create an attachment of that type
    $attachment = [System.Net.Mail.Attachment]::CreateAttachmentFromString($attchmenttext,$ct)
    # Next add Attachment to the message
    $message.Attachments.Add($attachment)
    # and now create smtp server
    $smtpServer = "COOKHAM8"
    $smtp = new-object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($message)
    I tested this script on my system and it works. You may need to play around a bit with the attachment, in terms of content type, etc.
    Thomas Lee <[email protected]>

  • Sending Email if PO approver does not approved after 2 days

    Hi Experts,
    I am not sure whether I am posting to the right forum, but I will still try to asked.
    We have a requirement that we need a certain agent or report that will run checking all POs need for approval then sending it to each PO's approver outlook email daily?
    Is this can be done in ABAP, like creating a report like ME28, get all PO per approver then send it to their respective outlook mail stating to them that this are the PO's need their approval? Or other thing like workflow is suitable?
    I am thinking of doing it in a ABAP program to avoid implementation of workflow if possible.
    Hoping for your positive feedback.
    Thanks.

    Hi Tina,
    1.         Firstly I would suggest you to check this report RSSCD100
    2.         Using workflow if you want to solve this then thi slink may help you http://help.sap.com/saphelp_srm30/helpdata/en/ec/fe163ff8519a06e10000000a114084/content.htm
    3.      Now the way you are looking for is :
             3.a Table EKKO to get Purchase Doc No. , Purch. Doc Category, Release Status (FRGZU)
             3.b Pass these 2 values in  FM ME_CHANGEDOC_SELECT to get Username (Approver Name) aginst required status 
                that  is FRGZU = 'X'
             3.c Use FM SO_NEW_DOCUMENT_ATT_SEND_API1 to send mail (put date logic to compare)
             3.d If you are maintaining E-mail IDs in some Z table then okie, otherwise this FM may help you BAPI_USER_GET_DETAIL.
    Just give a try & let me know if this was intended.
    Regards,
    N. Singh

  • Send Email based on choice

    Hello,
    I'm trying this in SharePoint designer but what I'm doing is creating an approval process for a 3rd party application using SharePoint (it's a workflow I'm setting up in SharePoint Designer). In this process the user has to choose different group that their
    access will give them. They can choose one or more groups. I've created the column and listed out all the different groups with check boxes.
    How would I check to see which item is flagged and based on if that item is flagged or not then it would start and approval process?
    Note: We do not have InfoPath.

    You can use the IF condition to check if the field in the current item contains a specific group name
    If CurrentItem:YourFieldName contains GroupA  set Variable:MyVariable to EmailGroupAIf CurrentItem:YourFieldName contains GroupB set Variable:MyVariable to [%Variable:MyVariable%]; EmailGroupBIf CurrentItem:YourFieldName contains GroupC set Variable:MyVariable to [%Variable:MyVariable%]; EmailGroupC
    Create such an IF statement for each Group. In the second and subsequent IF statements, use the String Builder dialog to concatenate the email group names.
    [%Variable:MyVariable%]; EmailGroupB
    You can then send an email and in the To field use MyVariable, which will contain all the groups.
    cheers, teylyn

  • Sending email based on checked items in checkbox

    I have a page where a user checks all of the applications he wants to see updates on. Then when the people responsible for those applications create updates, I want to send an email to everyone who has checked that particular application.
    I have tried the following options:
    CREATE OR REPLACE TYPE vc_array_1 AS TABLE OF VARCHAR2 (50);
    CREATE OR REPLACE FUNCTION get_array (
    p_array IN VARCHAR2,
    p_delimiter IN VARCHAR2 DEFAULT ':'
    RETURN vc_array_1 PIPELINED
    IS
    v_delimiter VARCHAR2 (1) := p_delimiter;
    v_string VARCHAR2 (400) := p_array || v_delimiter;
    v_count NUMBER;
    BEGIN
    LOOP
    EXIT WHEN v_string IS NULL;
    v_count := INSTR (v_string, v_delimiter);
    PIPE ROW (LTRIM (RTRIM (SUBSTR (v_string, 1, v_count - 1))));
    v_string := SUBSTR (v_string, v_count + 1);
    END LOOP;
    RETURN;
    END get_array;
    to create an array, and then:
    SELECT EMAIL
    FROM EMP
    WHERE APPLICATION IN (SELECT COLUMN_VALUE
    FROM TABLE (get_array (:p7_APPLICATION)))
    This one gives me no data found
    If I change it to (SELECT APPLICATION FROM TABLE(get_array(:P7_APPLICATION)))
    it sends it to everyone.
    I have tried
    SELECT EMAIL
    from EMP
    where INSTR(':'||:P7_APPLICATION||':',':'||APPLICATION||':')>0
    and get no data found
    Could someone, please stear me in the right direction?
    We are using Oracle 10g with Apex 3.1.1
    Thanks.

    Bonnie,
    When the user selects these checkboxes where and how are they stored? Is that what goes in the column EMP.APPLICATION?
    The simplest way to look for values in a colon delimited array is like this
    INSTR(':' || :P7_APPLICATION || ':', ':' || emp.application || ':') > 0
    Your function is built like it is going to pipe rows of a cursor out but in reality it is just returning an array type. It might work if you remove the pipelined stuff.
    CREATE OR REPLACE FUNCTION get_array (
    p_array IN VARCHAR2,
    p_delimiter IN VARCHAR2 DEFAULT ':'
    RETURN vc_array_1
    IS
    v_delimiter VARCHAR2 (1) := p_delimiter;
    v_string VARCHAR2 (400) := p_array || v_delimiter;
    v_count NUMBER;
    -- add a type to return
    l_get_array vc_array_1;
    BEGIN
    LOOP
    EXIT WHEN v_string IS NULL;
    v_count := INSTR (v_string, v_delimiter);
    -- set the array value by position
    l_get_array(v_count) := LTRIM (RTRIM (SUBSTR (v_string, 1, v_count - 1)));
    v_string := SUBSTR (v_string, v_count + 1);
    END LOOP;
    RETURN l_get_array;
    END get_array;
    Greg

  • Send Approval - Status and Tracking System

    Hi..
    I want to create planning approval before data save to cube.
    I have been setting subplan & planning Sessions like below :
    Subplans
    1.Select the option Define Subplan and choose Execute.
    2.Enter the names of the subplans
    Planning Sessions
    1. Select the option Define Planning Session and choose Execute.
    3. Enter the names of all required planning sessions.
    After it had been finished, it didn,t work.
    Can you tell me how to fixed the problem, so if I input data planning, it will send email to request approval before save to cube.
    Thanks.
    Siandari

    Hi
    Maybe it doesn't work because SAP deliver these  services in inactive status.
    Try to active them in SICF
    Try to check this link for procedure
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ff/3deba47cf511d5b3e30050dadfb23f/frameset.htm
    Hope it helps
    Andrea

  • Send email to multiple users

    I am using Apex 4.1 and need to send email based on certain condition.
    I need to send email to two people A and B if APPUSER is based in APAC and otherwise send email to person C
    I have the cursor that gets this information but do not know how to use this in the code for apex_mail.send
    How do I apply the values returned from cursor to the below code ????
    open mailcursor (this cursor returns A and B or just C )
    apex_mail.send(
    p_to => XXXXXXXXXX ( it has to send to two people or one based on value fetched from cursor ) ,
    p_from => '[email protected]',
    p_cc => NULL,
    p_body => '***** This is a system generated message, please do not reply to this *****'||
    chr(10) || utl_tcp.crlf || 'Please check for the data '||
    chr(10) || utl_tcp.crlf || 'As Employee '||:P8_EMP_EMAIL||' has raised request on application '||
    chr(10) || utl_tcp.crlf ||'Thanks',
    p_subj => 'New Request Alert' );

    LKSwetha wrote:
    I am using Apex 4.1 and need to send email based on certain condition.
    I need to send email to two people A and B if APPUSER is based in APAC and otherwise send email to person C
    I have the cursor that gets this information but do not know how to use this in the code for apex_mail.send
    How do I apply the values returned from cursor to the below code ????
    open mailcursor (this cursor returns A and B or just C )Please post code using <tt>\...\</tt> tags.
    apex_mail.send(
    p_to => XXXXXXXXXX ( it has to send to two people or one based on value fetched from cursor ) ,
    p_from => '[email protected]',
    p_cc => NULL,
    p_body => '***** This is a system generated message, please do not reply to this *****'||
    chr(10) || utl_tcp.crlf || 'Please check for the data '||
    chr(10) || utl_tcp.crlf || 'As Employee '||:P8_EMP_EMAIL||' has raised request on application '||
    chr(10) || utl_tcp.crlf ||'Thanks',
    p_subj => 'New Request Alert' );As it says in the documentation<tt>apex_mail.send</tt> documentation for the <tt>p_to</tt> parameter:
    Valid email address to which the email will be sent (required). For multiple email addresses, use a comma-separated list

  • Send email to a non-sap email address

    Hi,
    I have to send a notification when one of the condition occurs. I have to send email based on the role of the users, i.e first find the email addresses of the users based on the role and then send email to their non-sap email addresses(like the company outlook email). Can someone tell me the detailed steps need to be followed here..
    Thanks in advance,
    Henry.

    hi David,
        WELCOME TO SDN
           Use FM <b>SO_NEW_DOCUMENT_SEND_API1.</b>
    SAP Send mail via ABAP functions SO_NEW_DOCUMENT_SEND_API1
    This abap mail sending program demonstrate how you can send a mail to the user SAP Office mailbox.
    REPORT ZSEND .
    TABLES: KNA1.
    data for send function
    DATA DOC_DATA  LIKE SODOCCHGI1.
    DATA OBJECT_ID LIKE SOODK.
    DATA OBJCONT   LIKE SOLI OCCURS 10 WITH HEADER LINE.
    DATA RECEIVER  LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE.
    SELECT * FROM KNA1 WHERE ANRED LIKE 'C%'.
      WRITE:/ KNA1-KUNNR, KNA1-ANRED.
    send data internal table
      CONCATENATE KNA1-KUNNR KNA1-ANRED
                             INTO OBJCONT-LINE SEPARATED BY SPACE.
      APPEND OBJCONT.
    ENDSELECT.
    insert receiver (sap name)
      REFRESH RECEIVER.
      CLEAR RECEIVER.
      MOVE: SY-UNAME TO RECEIVER-RECEIVER,
            'X'      TO RECEIVER-EXPRESS,
            'B'      TO RECEIVER-REC_TYPE.
      APPEND RECEIVER.
    insert mail description
      WRITE 'Sending a mail through abap'
                     TO DOC_DATA-OBJ_DESCR.
    CALL FUNCTION <b>'SO_NEW_DOCUMENT_SEND_API1'</b>
         EXPORTING
              DOCUMENT_DATA              = DOC_DATA
         IMPORTING
              NEW_OBJECT_ID              = OBJECT_ID
         TABLES
              OBJECT_CONTENT             = OBJCONT
              RECEIVERS                  = RECEIVER
         EXCEPTIONS
              TOO_MANY_RECEIVERS         = 1
              DOCUMENT_NOT_SENT          = 2
              DOCUMENT_TYPE_NOT_EXIST    = 3
              OPERATION_NO_AUTHORIZATION = 4
              PARAMETER_ERROR            = 5
              X_ERROR                    = 6
              ENQUEUE_ERROR              = 7
              OTHERS                     = 8.
    http://sapr3.tripod.com/abap011.htm
    Regards,
    Santosh
    Note: Reward Points if helpful

  • Send email when first record updated problem

    Hi guys i have problem
    this code send email based on timer every 5 minutes
    it working ok but my problem i need to determine first rcord updated not inserted
    and send email this is starting work
    this is my code
    ---timer1_Tick---
    Sales.SalesClass SalesClass1 = new Sales.SalesClass();
    DataTable dt = SalesClass1.ShowSalesData("Data Source=192.168.1.5;Initial Catalog=Altawi-last06-01-2015;User ID=admin;Password=123");
    dataGridView1.DataSource = dt;
    dataGridView1.Refresh();
    namespace Sales
    class SalesClass
    public DataTable ShowSalesData(string ConnectionString)
    SqlConnection con = new SqlConnection(ConnectionString);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "showsales1";
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataSet ds = new DataSet();
    da.Fill(ds);
    DataTable dt = ds.Tables[0];
    return dt;
    SELECT     ROW_NUMBER() OVER (ORDER BY dbo.[Jeddah-Live$Sales Header].No_) AS [م], dbo.[Jeddah-Live$Sales Line].[Document No_] AS 'رقم الطلب',
    dbo.[Jeddah-Live$Sales Header].[Bill-to Name] AS 'العميل', dbo.[Jeddah-Live$Sales Line].Area AS 'نوع الصبه', dbo.[Jeddah-Live$Sales Line].Description AS 'البيان',
    dbo.[Jeddah-Live$Sales Header].[Pump No_] AS 'المضخه', CAST(ROUND(dbo.[Jeddah-Live$Sales Line].Quantity, 0, 1) AS int) AS 'المطلوب',
    CAST(ROUND(dbo.[Jeddah-Live$Sales Line].[Quantity Shipped], 0, 1) AS int) AS 'المصبوب', CAST(ROUND(dbo.[Jeddah-Live$Sales Line].[Outstanding Quantity], 0,
    1) AS int) AS 'المتبقى '
    FROM         dbo.[Jeddah-Live$Sales Header] INNER JOIN
                          dbo.[Jeddah-Live$Sales Line] ON dbo.[Jeddah-Live$Sales Header].No_ = dbo.[Jeddah-Live$Sales Line].[Document No_] AND
                          dbo.[Jeddah-Live$Sales Header].[Sell-to Customer No_] = dbo.[Jeddah-Live$Sales Line].[Sell-to Customer No_]
    The code above not have any problem and working
    When first record updated send email
    Example to show
    orderno   quantity  shipped quantity
    12            20               0
    13            30               0
    14            25               0
    15           22                0
    suppose order no 14 shipped quantity updated be 10 (meaning 0 be 10
    then send email with starting work
    after this any updated to any record not send
    no problem i dont need any send email code but how to get record updated first

    Hi guys i have problem
    this code send email based on timer every 5 minutes
    it working ok but my problem i need to determine first rcord updated not inserted
    and send email this is starting work
    this is my code
    ---timer1_Tick---
    Sales.SalesClass SalesClass1 = new Sales.SalesClass();
    DataTable dt = SalesClass1.ShowSalesData("Data Source=192.168.1.5;Initial Catalog=Altawi-last06-01-2015;User ID=admin;Password=123");
    dataGridView1.DataSource = dt;
    dataGridView1.Refresh();
    namespace Sales
    class SalesClass
    public DataTable ShowSalesData(string ConnectionString)
    SqlConnection con = new SqlConnection(ConnectionString);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "showsales1";
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataSet ds = new DataSet();
    da.Fill(ds);
    DataTable dt = ds.Tables[0];
    return dt;
    SELECT     ROW_NUMBER() OVER (ORDER BY dbo.[Jeddah-Live$Sales Header].No_) AS [?], dbo.[Jeddah-Live$Sales Line].[Document No_] AS '??? ?????',
    dbo.[Jeddah-Live$Sales Header].[Bill-to Name] AS '??????', dbo.[Jeddah-Live$Sales Line].Area AS '??? ?????', dbo.[Jeddah-Live$Sales Line].Description AS '??????',
    dbo.[Jeddah-Live$Sales Header].[Pump No_] AS '??????', CAST(ROUND(dbo.[Jeddah-Live$Sales Line].Quantity, 0, 1) AS int) AS '???????',
    CAST(ROUND(dbo.[Jeddah-Live$Sales Line].[Quantity Shipped], 0, 1) AS int) AS '???????', CAST(ROUND(dbo.[Jeddah-Live$Sales Line].[Outstanding Quantity], 0,
    1) AS int) AS '??????? '
    FROM         dbo.[Jeddah-Live$Sales Header] INNER JOIN
                          dbo.[Jeddah-Live$Sales Line] ON dbo.[Jeddah-Live$Sales Header].No_ = dbo.[Jeddah-Live$Sales Line].[Document No_] AND
                          dbo.[Jeddah-Live$Sales Header].[Sell-to Customer No_] = dbo.[Jeddah-Live$Sales Line].[Sell-to Customer No_]
    The code above not have any problem and working
    When first record updated send email
    Example to show
    orderno   quantity  shipped quantity
    12            20               0
    13            30               0
    14            25               0
    15           22                0
    suppose order no 14 shipped quantity updated be 10 (meaning 0 be 10
    then send email with starting work
    after this any updated to any record not send
    no problem i dont need any send email code but how to get record updated first

  • Send Email when built in approval workflow status column changes to approved

    I Implemented the built in approval work flow in a document library,I want to send an email when the column indicating the status of the workflows changes from in progress to approved.

    Hi ,
    According to your description, my understanding is that you want to send email when the built-in approval workflow status was approved.
    For the default built-in approval workflow, per my knowledge, there is not a way to modify it. As a workaround, you can create a Reusable Workflow with SharePoint Designer 2010, and publish it to your SharePoint, then you can use it like the built-in approval
    workflow.
    You can do as the followings:
    Install SharePoint Designer 2010.
    Open your site with SharePoint Designer 2010.
    Click Workflow under Navigation.
    Click Reusable Workflow, and type a name.
    Add “Start Approval Process” action, in the ‘these user’ , type the approvers.
    Click ‘Approval’ field, and under Customization, click “Change the behavior of a single task”.
    On the “When a Task Completes”, add “Send an Email” action in the approved condition,like the screenshot below.
    Then save and publish the workflow, then you can use the workflow in your SharePoint site .
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • Send Email from approval task form

    In my reusable workflow, I have added an approval action. Everything works perfectly. What I want is - When approver comes to approval form, he should be able to send notification email to the initiator (From that form) that he has started working on that document.
    What I have tried - I have added a button clicking on which will submit the form to initiator. 
    But it fails. possible reason - when I create a data connection in workflow's infopath form to submit form as email, I am getting following warning
    "Domain trust form templates cannot be sent as email attachments. to fix this problem, modify the form option to change the security level of form template to restricted".
    I also tried to update status field and wait for it to changes in workflow and send an email from sp designer workflow. it didn't work.
    Please help or suggest any other possible way to achieve this functionality (Send Email from approval task form to initiator).

    Hi mry,
    I could reproduce on my SharePoint 2013 on-premise based on your another
    post.
    Based on the the following article, SharePoint workflow cannot use the InfoPath form in restricted mode which doesn't allow the data connection, but as your image warning message shows sending InfoPath form as mail attachments will need restricted level.
    http://msdn.microsoft.com/en-us/library/office/ee526352.aspx
    You can consider to send a mail to initiator in "Whe a Task Completes" step when you click button approved/rejected, and construct the current task form link format as follow,
    http://sp/_layouts/15/WrkTaskIP.aspx?List=WorkflowTasksListGUID&ID=[%Current Task:ID%]
    Thanks
    Daniel Yang
    TechNet Community Support

Maybe you are looking for