Email customization

I wanted to change the email wordings that is sent out of CoreId 7.0.4 during an approval of self registration workflow. We require to do this as the default email wordings are too cryptic and techi for general users.
Any idea how to do it ?
Thanks
Pankaj

You need to create a custom email style sheet (XSL file). This should be put in the /identity/oblix/lang/en-us/style0/ directory. The format is WORKFLOWID_STEP#_Pre/PostNotify.xsl
The workflow looks for this everytime it runs, if it's there, it uses it. You'll see some defaults in the directory that you can modify if off of. I'm typing this off the top of my head. You can find more detailed info in the customization guide.
.: Adam

Similar Messages

  • Task Email Customization

    I start a task process with multiple people in parallel.  I wait for FIRST response.  At that time an email is sent to the others saying:
    "One of your tasks was canceled and deleted. You do not need to take any further action on that task."
    My users don't like the language and want me to modify it.  Does anyone know if and how I can do this in Sharepoint 2013.  I'm using SP Designer and not Visual Studio.
    Thanks.
    Tom
    Tom

    Hi Tom,
    In SharePoint 2013 workflow, we can only customize Task creation email notification and Task Overdue email notification with Email Options under Start a Task Process wizard, but no OOB option for canceled or deleted email notification.
    Please try using 2010 workflow and see if it can meet your requirement, there you could customize email notification in Change the behavior of a single task:
    https://support.office.com/en-us/article/Use-the-task-process-editor-for-approval-workflows-8680b4a4-36b1-441c-b070-e515976078aa?ui=en-US&rs=en-US&ad=US#__toc264538566
    Bring up the SharePoint designer, create a workflow on 2010 platform, then add an Approval task. Then click on Approval, you will be redirected to overall task process settings page as below:
    Regards,
    Rebecca Tu
    TechNet Community Support

  • EPrint Job Status Notification Email Customization

    Dear All HP experts,
    I am new to this eprint service, i just purchased a hp printer with model Deskjet Ink Advantage 4615, after i setup it properly, now i am able to send email to the printer, after the printer receive the email print job, it will return a email message to my email account with subject "ePrint Job Received" if success print the email or "ePrint Error" if incase failed to print the email.
    However, i have a business need to customize the email subject and also email body for the notification email that i received, when i send a email that contain PO with number 00000123 to the email printer, it should be able to return me the alert email with subject that contain my PO number as well, so that i can recognized whether my PO is successfully print or not and also for record keeping.
    Can I know whether this is possible to done or can't be done? Any help from HP experts are highly appreciated.

    Hi Kklee,
    I understand that you want to customize the notification email you receive after sending an ePrint job.  I am sorry there is no way to customize the notification email. 
    Hope this helps.
    **If you find this helpful or want to say thanks make sure to click the white star under my name to give me Kudos. **

  • Email subject line with Alert unique Identifier,host name, instance name

    Is there any way that i can set the following information in the notification email subject line,
    Alert Unique Category,
    Host name,
    instance name.
    Please advise.
    Thanks.

    Yes I did look under the email customization section. But i am unable to get how to place alert Unique ID with in the subject line as i don't see any variable to place under it.
    Please advise.
    Thanks.

  • [Forum FAQ] A content management tool with dashboard based on SharePoint List

    1. 
    Scenario:
    The SharePoint OOTB List has saved us a lot of time on managing mess data. It provides three forms to create/view/edit items, the ability to save the views we want with some specific filtering and sorting condition, versioning for easy restoring, and we
    can make it advanced with workflow contains the specific business logic.
    However, if there is a need for better user experience, interacting with the public APIs and a bit of script to customize the web page would be required.
    Suppose there is a requirement like this:
    We need a content collection tool which collects ideas from contributors, the newly ideas will be reviewed by reviewers.
    We may need to filter the list in a convenient way, get the wanted result with the data from the list and display in a chart or rank list. 
    We can add some buttons in Metro style to display the counting result of the data from the list dynamically. When we click them, the list will be filtered and sorted to display a friendly set of items. Also, we need to display a trend of the mess data graphically
    in some beautiful charts.  If we want to find out some outstanding contributors, top contributor board would be more comfortable than the top N items in the OOTB list view.
    The page would look like this:
    2. 
    Introduction:
    Engineers will come up with some ideas in the daily job and write a content to enlighten others. Reviewers will help to review ideas or contents and publish the contents if qualified.
    The complete process looks like this:
    As we can see, only the approved idea can be written as a content and only the approved content can be published.
    2.1
    How it works
    We build the whole tool in one page. All ideas and contents will be saved in a custom list. This is how it looks like:
    There are three parts in this page:
    1       
    2       
    2.1       
    2.1.1       
    Top menu
    The top menu contains three elements:
    A Drop Down menu for filtering data by team, it will refresh the other two parts with the filtered data:
    A hyperlink “STATISTIC” links to a PowerBI report whose data source is the custom list.
    A hyperlink “FEEDBACK” for collecting feedbacks:
    The feedbacks will be saved in another list:
    2.1.2       
    Information menu
    This part will display the calculated data retrieved from the list within tiles, chart and ranking list.
    The tiles can be clicked to filter and refresh the list view.
    2.1.3       
    List view
    A list stores all ideas and contents with the properties needed. It can be filtered by the Top menu and Information menu.
    The customization on the OOTB custom list template makes it more powerful and more suit for this scenario:
    1. An item leveled comment feature (based on OOTB Tags & Notes feature) for other users make comments to an idea or content:
    2. Title column: When there is no attachment in the current item, it redirects to the default DisplayForm page. If there is, it will open the attachment (usually a .docx file) in Word Online in a new tab.
    3. ECB menu: Add some custom shortcuts for popular actions:
    4. A hyperlink column stores the hyperlink points to the website where the content is published to.
    3.   
    How to achieve it
    This solution will be hosted in SharePoint Online environment, so we do all the job using JavaScript, REST API and Client Object Model.
    The Drop Down menu, tiles, rank list are generated with some HTML+CSS.
    The Trend Chart, we take advantage of the Combo chart in the Google chart library.  
    The list view is hosted in a <iframe> which can be easily filtered and refreshed by just passing a generated URL with query string.
    For the customization on the list view and the ECB menu, JSLink with Client Object Model would be OK.
    3.1
    Specific to every part
    3.1.1       
    Top menu
    3.1.1.1 
    Drop Down menu for retrieving filtered data and refreshing the display of the related controls
    When user selects a team here, there will be a request sent out for retrieving items of the list. By default, the limit is 100 when using REST API to get list items, so we can append a “$top=1000” to require more items from server.
    Code snippet like this:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items?$top=1000",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log("getListItems succ");
    console.log(data);
    error: function (data) {
    alert("getListItems error");
    //failure(data);
    Then we will get the “data” as a JSON format string, it contains all the values we need from the list:
    We can get the values we want like this:
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    for(var ii=0; ii<len; ii++)
    var team = data.d.results[ii].Team;
    var month = data.d.results[ii].Month;
    As we need to know the counts of each type of ideas or contents, we use an array for saving the counters:
    //ary to store all counters for tiles: all/pendingIdea/pendingContent/my/approvedIdea/approvedContent
    var aryAllCounters = [0,0,0,0,0,0];
    for(var ii=0; ii<len; ii++)
    //get pendingIdeaCount
    if(data.d.results[ii].Statuss === 'Pending')
    aryAllCounters[1]++;
    Once all the numbers are ready, we can do the refreshing.
    As the list view page is hosted in a <iframe>, all we need to do is passing a constructed URL with query string:
    url_team = URL + "?FilterField1="+FIELD_MYTEAM+"&FilterValue1=" + sel_val;
    $iframe.attr('src', url_team);
    3.1.1.2 
    Hyperlink for popping up a dialog to collect feedbacks
    The feedback dialog hosts another page which contains two buttons and one text area.
    The HTML code of the FEEDBACK button:
    <a id="feedback" href="#" onclick="javascript:openDialogBox('../SitePages/Feedback.aspx');">FEEDBACK</a>
    The openDialogBox() function:
    function openDialogBox(url){
    var options = SP.UI.$create_DialogOptions();
    options.url = url;
    options.height = 130;
    options.width = 425;
    options.title = "Feedback";
    SP.UI.ModalDialog.showModalDialog(options);
    In the Feedback.aspx page, when user click submit button, we will save the content of the text area into the feedback list:
    function addListItem()
    this.clientContext = new SP.ClientContext.get_current();
    this.oList = clientContext.get_web().get_lists().getByTitle('Feedback');
    var itemCreateInfo = new SP.ListItemCreationInformation();
    this.oListItem = this.oList.addItem(itemCreateInfo);
    //set person field
    var userValue = new SP.FieldUserValue();
    //userValue.set_lookupId(this.currentUser.get_id());
    userValue.set_lookupId(_spPageContextInfo.userId);
    oListItem.set_item('Provider', userValue);
    //Sets the specified field value
    oListItem.set_item('Title', str);
    //datetime field
    var currDate = new Date();
    oListItem.set_item('Submit_Time',currDate);
    oListItem.update();
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded_add), Function.createDelegate(this, this.onQueryFailed));
    3.1.2       
    Information menu
    3.1.2.1 
    Tile shortcut
    In the click event of the tiles, the code will pass a generated URL with query string to the <iframe>:
    //filter list only
    $tile.click(function(){
    //distinguish tiles by id
    var v = $(this).attr('id');
    switch(v)
    case S_MY_CONTENT:
    url_team1 = URL + "?FilterField1="+FIELD_COMPOSER+"&FilterValue1=" + currentUsername;
    break;
    case S_PENDING_IDEA:
    url_team1 = url_team + "&FilterField2="+FIELD_STATUS+"&FilterValue2=Pending&FilterField3="+FIELD_IDEATYPE+"&FilterValue3=Idea";
    break;
    $iframe.attr('src', url_team1);
    3.1.2.2 
    Trend chart
    The chart will be initialized with the numbers by month stored in a 3D array:
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawVisualization);
    function drawVisualization(ary)
    // Some raw data (not necessarily accurate)
    var data = google.visualization.arrayToDataTable(ary);
    var view = new google.visualization.DataView(data);
    view.setColumns([0, 1,
    { calc: "stringify",
    sourceColumn: 1,
    type: "string",
    role: "annotation"
    2]);
    // Create and draw the visualization.
    var ac = new google.visualization.ComboChart(document.getElementById('chart1'));
    ac.draw(view, {
    //legend: 'top',
    legend: {
    title : '',
    //width: 0,
    //height: 285,
    vAxis: {title: "", format:'#',viewWindowMode:'explicit',
    viewWindow:{
    min:0
    },ticks: ticks
    //hAxis: {title: ""},
    lineWidth: 4,
    bar: {groupWidth: "60%"},
    seriesType: "bars",
    series: {1: {type: "line"}},
    chartArea:{
    colors: ['#A4C400', '#F9A13B']
    3.1.2.3 
    Top contributors rank list
    When retrieving list items, we can get the “AuthorId” which represents the id of the user in the siteUserInfoList. We run another request to retrieve all items in the siteUserInfoList which stores the username with the URL of profile.
    Then we can use a hash table(provided by jshashtable.js) to store the user id, username and profile URL:
    $.ajax({
    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/siteUserInfoList/Items",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log(data);
    //get item Count
    var arr = [], len;
    for(key in data.d.results)
    arr.push(key);
    len = arr.length;
    var ht_authors = new Hashtable();
    for(var ii=0; ii<len; ii++)
    if(authorSet.contains(data.d.results[ii].Id))
    if(data.d.results[ii].Picture != null)
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|'+data.d.results[ii].Picture.Url);
    else
    ht_authors.put(data.d.results[ii].Id, data.d.results[ii].Title+'|');
    console.log("ht_authors.keys(): "+ht_authors.keys());
    console.log("ht_authors.values(): "+ht_authors.values());
    error: function (data) {
    alert("error");
    //failure(data);
    3.1.3       
    List view
    For the Comment button, custom title link and the custom published link of each item, we can use JSLink to achieve.
    Comment button: It is supposed to be the OOTB “Type” column, I change the icon and modify the click event of it to pop up a comment dialog which take advantage of the OOTB “Tags&Notes” feature;
    Custom Title link: As there will be two situations of an item: has attachment or not. We will need to run a request to get the URL of attachment and change the hyperlink of the Title field accordingly:
    (function () {
    // Create object that have the context information about the field that we want to change it output render
    var linkFiledContext = {};
    linkFiledContext.Templates = {};
    linkFiledContext.Templates.Fields = {
    //"Attachments": { "View": AttachmentsFiledTemplate }
    "LinkTitle": { "View": TitleFieldTemplate },
    "Published_x0020_Link": { "View": PublishedLinkFieldTemplate },
    "DocIcon": { "View": DocIconFieldTemplate },
    "MyTeam": { "View": MyTeamFieldTemplate }
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(linkFiledContext);
    function DocIconFieldTemplate(ctx)
    var htmlStr = "";
    var listId = ctx.listName;
    var itemId = ctx.CurrentItem.ID;
    var s = listId + "," + itemId;
    htmlStr += "<img width='16' height='16' class=' ms-draggable' alt='Comment' src='"+_spPageContextInfo.webAbsoluteUrl+"/Shared%20Documents/img/comment-icon.png' border='0' ms-draggableragId='0' onclick='CommentIcon(\""+ s +"\")'></img>";
    return htmlStr;
    function CommentIcon(s)
    var listId = s.split(',')[0];
    var itemId = s.split(',')[1];
    var url=_spPageContextInfo.webAbsoluteUrl+"/_layouts/15/socialdataframe.aspx?listid="+listId+"&id="+itemId+"&mode=1";
    console.log(url);
    openCustomDialog(url,"Comment",650,520);
    function openCustomDialog(pageUrl,title,width,height)
    SP.UI.ModalDialog.showModalDialog({
    url: pageUrl,
    width: width,
    height: height,
    title: title,
    dialogReturnValueCallback: function (result){
    if(result== SP.UI.DialogResult.OK)
    parent.window.location.href=parent.window.location.href;
    function PublishedLinkFieldTemplate(ctx)
    //console.log(ctx);
    var htmlStr = "";
    var itemPublishedLink = "";
    var itemPublishedLinkDesc = "";
    if((ctx.CurrentItem.Published_x0020_Link != ''))
    itemPublishedLink = ctx.CurrentItem.Published_x0020_Link;
    itemPublishedLinkDesc = ctx.CurrentItem["Published_x0020_Link.desc"];
    htmlStr = "<a href='" + itemPublishedLink + "' target='_blank'>" + itemPublishedLinkDesc + "</a>";
    return htmlStr;
    function MyTeamFieldTemplate(ctx)
    var htmlStr = "";
    var itemMyTeam = "";
    if((ctx.CurrentItem.MyTeam[0] != undefined) && (ctx.CurrentItem.MyTeam[0] != null))
    itemMyTeam = ctx.CurrentItem.MyTeam[0].lookupValue;
    htmlStr = itemMyTeam;
    return htmlStr;
    function TitleFieldTemplate(ctx) {
    console.log(ctx.CurrentItem);
    var itemId = ctx.CurrentItem.ID;
    var itemTitle = ctx.CurrentItem.Title;
    var listName = ctx.ListTitle;
    var siteUrl = _spPageContextInfo.webAbsoluteUrl;
    var listUrl = _spPageContextInfo.webAbsoluteUrl + "/Lists/" +listName;
    var fileNames = getAttachmentsNames(listName, itemId);
    console.log(fileNames);
    var fileNameAry = fileNames.split("|");
    var htmlStr = "";
    //check the attachment existence
    if(fileNameAry[0] != '')
    for(var j = 0; j < fileNameAry.length; j++)
    var fileName = fileNameAry[j];
    var s1 = "<a class=\"ms-listlink ms-draggable\" onmousedown=\"return VerifyHref(this, event, '1', 'SharePoint.OpenDocuments.3', '1";
    //1``https://microsoft.sharepoint.com/teams/spfrmcs
    var s2 = "/_layouts/15/WopiFrame.aspx?sourcedoc=";
    //2``/teams/spfrmcs/Lists/Content%20Pool
    var s3 = "/Attachments/";
    //3``137
    var s4 = "/";
    //4``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s5 = "&action=default'); return false;\" href=\"";
    //5``https://microsoft.sharepoint.com/teams/spfrmcs/Lists/Content Pool
    var s6 = "/Attachments/";
    //6``137
    var s7 = "/";
    //7``[Forum FAQ] Highlight the list tab in Quick Launch when the list view changes.docx
    var s8 = "\" target=\"_blank\" DragId=\"1\">";
    //8``Highlight the list tab in Quick Launch when the list view changes
    var s9 = "</a>";
    var s = s1+siteUrl+s2+listUrl+s3+itemId+s4+fileName+s5+listUrl+s6+itemId+s7+fileName+s8+itemTitle+s9;
    htmlStr += s;
    //console.log(htmlStr);
    if (j != fileNameAry.length - 1)
    htmlStr += "<br/>";
    //if no attachments, set the <a> point to displayForm
    else
    htmlStr += "<a class='ms-listlink ms-draggable' onclick='EditLink2(this,28);return false;' onfocus='OnLink(this)' href='" + siteUrl + "/_layouts/15/listform.aspx?PageType=4&ListId=%7BE54A4FBB%2DDDC2%2D4F7E%2D8343%2D8A1C78757CF4%7D&ID=" + itemId + "&ContentTypeID=0x010079A1D928FF77984C80BFEF1D65C3809F' target='_blank' DragId='0'>" + itemTitle + "</a>";
    return htmlStr;
    function getAttachmentsNames(listName,itemId) {
    var url = _spPageContextInfo.webAbsoluteUrl;
    var requestUri = url + "/_api/web/lists/getbytitle('" + listName + "')/items(" + itemId + ")/AttachmentFiles";
    var str = "";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    for (var i = 0; i < data.d.results.length; i++)
    if(i != 0)
    str += "|";
    str += data.d.results[i].FileName;
    error: function (err) {
    //alert(err);
    return str;
    3.2
    How to make them work together
    When selecting an option in the Drop Down menu, the Information menu and the List view will be refreshed separately.
    When clicking the tiles, only the list view will be filtered and refreshed, the other parts will not be influenced.
    When items created/modified, the whole page will be refreshed to keep all the numbers in each part updated.  A workflow will also be triggered to inform engineers or reviewers the progress of an item or content.
    3.3
    Other customizations
    3.3.1       
    ECB menu and permission control
    As we need to refresh the page when new item or modify item, we put all the form pages in a custom modal dialog and execute the refresh in the success callback function.
    There are three roles: Site owner, reviewer and engineer. They have limited privileges according to the roles they are:
    Site owner: Full control on the list, can see all the buttons in the ECB menu;
    Reviewer: There is another list which stores the names of each team and reviewers’ names of each team. The reviewer has limited full control only on the team they belong to. To other teams, the role can be seen as a visitor;
    Composer
    (create owner): The one who contribute an idea. For the ideas\contents from other teams, this role can be seen as visitor.
    The ECB menu they can see is:
    For the visitor, the ECB menu will only display a few buttons:
    The code:
    (function () {
    var viewContext = {};
    viewContext.Templates = {};
    viewContext.OnPostRender = OnViewPostRender;
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(viewContext);
    function OnViewPostRender(ctx) {
    $("a[title='More options']").removeAttr("onclick");
    $(".ms-list-itemLink").removeAttr("onclick");
    $("a[title='More options']").attr("onclick", "showMenuList(this);return false;");
    function showMenuList(obj) {
    var itemId = $(obj).parents("tr").attr("id").split(",")[1];
    //show ECB menu
    CoreInvoke('ShowECBMenuForTr', obj, event);
    var teamId = getCurrentTeamId("Content Pool", itemId);
    var styles = "";
    if (isSiteOwner("Technet SharePoint Team Owners")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isReviewer("List1_FAQ_team", teamId, "Reviewers")) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:block;} li[text='Reject']{display:block;} li[text='Add Publish Link']{display:block;}";
    } else if (isComposer(obj)) {
    styles = "li[text='Delete Item ']{display:block;} li.ms-core-menu-separator:last-child{display:block;} ul.ms-core-menu-list > li:nth-last-child(5){display:block;} li[text='Edit Item ']{display:block;} li[text='Upload Document']{display:block;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    } else {
    styles = "li[text='Delete Item ']{display:none;} li.ms-core-menu-separator:last-child{display:none;} ul.ms-core-menu-list > li:nth-last-child(5){display:none;} li[text='Edit Item ']{display:none;} li[text='Upload Document']{display:none;} li[text='Approve']{display:none;} li[text='Reject']{display:none;} li[text='Add Publish Link']{display:none;}";
    includeStyleElement(styles);
    //get current team id
    function getCurrentTeamId(listName,itemId){
    var teamId="";
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items("+itemId+")?$select=MyTeamId";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.MyTeamId!=null){
    teamId=data.d.MyTeamId;
    }else{
    teamId="0";
    error: function () {
    //alert("Failed to get details");
    return teamId;
    //check whether is owner
    //Technet SharePoint Team Owners
    function isSiteOwner(groupName) {
    var flag = false;
    var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/Web/effectiveBasePermissions";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    var permissions = new SP.BasePermissions();
    permissions.fromJson(data.d.EffectiveBasePermissions);
    flag = permissions.has(SP.PermissionKind.managePermissions);
    error: function () {
    //alert("Failed to get details");
    return flag;
    function isComposer(obj) {
    var flag = false;
    var userId = _spPageContextInfo.userId;
    var composerId = $(obj).parents("tr").find("a[href*='userdisp.aspx']").attr("href").split("ID=")[1];
    if (composerId == userId) {
    flag = true;
    return flag;
    //check whether is reviewer
    function isReviewer(listName,teamId,peopleColumn){
    var flag=false;
    var userId=_spPageContextInfo.userId;
    // begin work to call across network
    var requestUri = _spPageContextInfo.webAbsoluteUrl +
    "/_api/Web/Lists/getByTitle('"+listName+"')/items?$select=ID&$filter=(ID eq '"+teamId+"' and "+peopleColumn+"Id eq '"+userId+"')";
    // execute AJAX request
    $.ajax({
    url: requestUri,
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    async: false,
    success: function (data) {
    if(data.d.results.length>0){
    flag=true;
    error: function () {
    //alert("Failed to get details");
    return flag;
    //insert style into page
    function includeStyleElement(styles) {
    var style = document.createElement("style");
    style.type = "text/css";
    (document.getElementsByTagName("head")[0] || document.body).appendChild(style);
    if (style.styleSheet) {
    //for ie
    style.styleSheet.cssText = styles;
    } else {
    //for w3c
    style.appendChild(document.createTextNode(styles));
    3.3.2       
    Workflow email customization
    The email will only be sent to engineer or team reviewer in the three scenarios:
    When engineer uploads an idea or content, reviewer will receive an email;
    When engineer uploads a content to an existing idea, reviewer will receive an email;
    When reviewer approve/reject an idea or content, engineer will receive an email;
    The design of the workflow process  :
     The email design like this:
    Email to engineer
    Email to reviewer
    Let us know if you are interested in it. Happy coding!
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    A good solution. Liked it very much. Can you please make it a technet blog for others.
    [email protected]

  • Visibility of newly added target property in e-mails

    Hi,
    I manually added new property for oracle database targets and put some values there
    and would like to see the property reflected in e-mail alerts.
    The template for the e-mail has [USER_DEFINED_TARGET_PROP]
    already however new property not shown, only those which are coming
    our of the box for target type like comment, line of business, etc.
    Do you know how it should be defined or it is not shown simply due to a bug?
    Thank you,
    Andrey

    I do not believe we support target type specific User defined target properties in the Email Customization. Please file a ER. Thanks.

  • How to customize SharePoint Foundation 2013 workflow notification emails

    We have a SharePoint Foundation 2013 workflow that sends emails when certain criteria are met. We have tried to customize the emails using SharePoint Designer, but the emails that are received are different.
    Ho do we configure SharePoint to send the emails formatted as we specified in the workflow?
    The emails we receive are all formatted like this:
    Subject:
    [Company Name Workflow] - [Item] has been assigned to you
    Content:
    Task assigned by [User Name] on [Date].
    To complete this task:
    1.    Review [Item].
    2.    Perform the specific activities required for this task.
    3.    Use the Open this task button to mark the task as completed. (If you cannot update this task, you might not have access to it. Click here to request access.)

    Hi,
    According to your post, my understanding is that you want to customize SharePoint Foundation 2013 workflow notification emails.
    We’ll need to do a few things to replace SharePoint’s default notification with our own. The first thing we need to do is turn off SharePoint’s default notification. On the Workflow Tasks list, go the Advanced Settings and select
    No for Send e-mail when ownership is assigned. Then we need to create workflow to send email.
    There is an article for your reference, although it is about the SharePoint 2007, it still works for SharePoint 2013.
    Create a Detailed Custom Task Notification with a SharePoint Designer Workflow
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • How many emails can I have on my account? Can I have client folders to customize for each client?

    How many emails can I have on my account?
    Can I have client folders for each client to access their own survey/forms?
    Can I customize for each client?
    Do we need multiple subcription accounts for this?

    You need to have one FormsCentral subscription per email.
    At this time FormsCentral doesn't support folders.
    Gen

  • How to customize email notifications sent by Cisco Prime.

    Hi,
    We have been receiving email alerts for any unresponsive devices in Cisco Prime. I was able to find the option to customize the subject for such email alert under Admin-Network-Notification and Action settings, however I am not able to locate the option to change the email body.
    The email body for such alerts has lot of unrequired information which I would like to remove.
    Can someone provide me the options on how to get rid of such information in the email body.
    Regards

    Hi ,
    To customize the e-mail subject:
    Step 1 Select Admin > Network >  Notification and Action Settings > Fault - Email subject  customization.
    The available and selected lists of the subject attributes for e-mail  are displayed.
    To customize the e-mail subject, you can add and remove subjects from  the current e-mail subjects list. By default, following list of e-mail  subject attributes are displayed in the Selected Subjects for E-Mail  box.
    •Event ID
    •Device Name
    •Time
    •Severity
    •Event Name
    •Status
    To add a subject:
    a. Select the subject attribute  from Available Subjects for E-Mail.
    b. Click Add.
    The selected subject attribute is added to the Selected Subjects for  E-Mail list.
    You can add a subject attribute only from the Available Subjects list to  the Selected Subjects list. You cannot add a subject attribute from the  Selected subject list to the Available Subject list.
    To remove a subject attribute:
    a. Select the subject attribute  from Selected Subjects for E-Mail.
    b. Click Remove.
    The selected subject attribute is removed from the Selected list and  added to the Available subjects for E-Mail list.
    You can remove a subject attribute only from the Selected Subjects list  and not from the Available Subjects list.
    Step 2 Click Up or Down to rearrange the  order of the selected e-mail subject attributes.
    Step 3 Click Apply to save the customized e-mail  subject attributes.
    Note: Other than this you will not be able to customize any thing, User-defined fied option will not work.
    I hope this will help
    Thanks
    Afroz

  • How to customize email notifications in COREid

    Hi
    Customer trying to customize email notifications in workflow COREid.
    Documentation is not very clear on how to do this.
    Any help is appreciated
    Toly

    Hi ,
    To customize the e-mail subject:
    Step 1 Select Admin > Network >  Notification and Action Settings > Fault - Email subject  customization.
    The available and selected lists of the subject attributes for e-mail  are displayed.
    To customize the e-mail subject, you can add and remove subjects from  the current e-mail subjects list. By default, following list of e-mail  subject attributes are displayed in the Selected Subjects for E-Mail  box.
    •Event ID
    •Device Name
    •Time
    •Severity
    •Event Name
    •Status
    To add a subject:
    a. Select the subject attribute  from Available Subjects for E-Mail.
    b. Click Add.
    The selected subject attribute is added to the Selected Subjects for  E-Mail list.
    You can add a subject attribute only from the Available Subjects list to  the Selected Subjects list. You cannot add a subject attribute from the  Selected subject list to the Available Subject list.
    To remove a subject attribute:
    a. Select the subject attribute  from Selected Subjects for E-Mail.
    b. Click Remove.
    The selected subject attribute is removed from the Selected list and  added to the Available subjects for E-Mail list.
    You can remove a subject attribute only from the Selected Subjects list  and not from the Available Subjects list.
    Step 2 Click Up or Down to rearrange the  order of the selected e-mail subject attributes.
    Step 3 Click Apply to save the customized e-mail  subject attributes.
    Note: Other than this you will not be able to customize any thing, User-defined fied option will not work.
    I hope this will help
    Thanks
    Afroz

  • Customization of DAC to send emails in XML format

    Hi,
    We need to customize DAC to send emails in XML format to the support team whenever there is a failure of the ETL load.
    We use the HPSC ticketing system.
    Any help to achieve this functionality is much appreciated.
    we have tried to customize the existing email template of DAC, but it is not serving the purpose to generate the ticket in HPSC.
    To generate the HPSC ticket, we have a XML format. We need to customize DAC to use this format.
    This is the version of Oracle BI application we are using:
    Build: 10.1.3.2.1.070411.1900
    Release Version: Oracle Business Intelligence 10.1.3.2.1
    Package: 070411.1900
    Build: 7.9.1.032307.0900
    Release Version: Oracle Business Intelligence Applications 7.9.1
    Package: 032307.0900
    Regards,

    Hi,
    We have raised a SR with Oracle support and are in touch with Engineering also today onwards. However, would like to try out options while waiting for a solution/workaround for this issue.
    Regards,

  • Customizable Email Filters w/ Alerts in IOS8?

    Hi, I have an iphone5s which I bought after I lost my BB10 powered Z10.  On the Z10, there was an app that let me customize alerts according to filters I could set, either according to email address of the incoming email, or things like text strings found in the body or subject.  To some degree you could do this in the OS as it came.
    I have an online business for which I need to know about specific communications during the day, but don't want to be distracted by all of them.  For example, one email account might receive messages with "contact form" in the subject from my "info@[mywebsite]", and I want to hear a specific alert for this.  Another address receives two forms of communication from a specific email address (the payment gateway).  One is the daily settlement report.  The other is whenever a transaction fails. I want to play different alerts according to the text in the email -- ie, does it contain "settlement report" or does it contain "transaction failed"-- and play different alerts depending on the situation.  I also have a few customers who are volunteering to be "testers" who send feedback and others who are special cases for whom I often need to review their orders before they get filled by some other people.  I need to intercept these.. if only I could play an alert according to the text "order #" for example, or a regular expression in general.
    I'm really surprised that in 2014 I could not find a way to do this in IOS7 and I'm hoping that Apple will start adding feature conducive to business. I can't imagine holding out any longer when I upgrade in a few months.  Apple if you're listening, what wins me over are features and the ability to customize.  These are so easy to implement, why not just do it?  I'm such a low-hanging-fruit easy sale if you would just copy what's been done already on BB and Android. Please support filtering according to regular expression filter syntax

    This is a user-to-user support forum and not the best way to give a request or suggestion to Apple. You may want to make the suggestion at: https://www.apple.com/feedback/iphone.html

  • How do I customize the Email Attachment name in Email Bursting?

    I had worked on BI Publisher extensively on 10g and 11g. I have a client requirement with BIP email bursting to deliver the reports as email attachments. I'm able to do it, and also customize mail body etc. However the email attachment file name is randomly generated with some numbers. I read through the docs, and couldn't find any parameter mapping to the attachment/file name (like we do it with File bursting). How do I specify the mail attachment file names in my Busrting properties?
    Thanks,
    Padma

    Please go through the following link:
    http://garethroberts.blogspot.com/2008/03/bi-publisher-ebs-bursting-101.html
    I think after the 'Output' we can specify the filename

  • Email notification in human task: How to customize email subject.

    Dear all community members,
    I am using email notification service in human task to receive email notification if task is assigned to me. I have configured email notification in human task & I do receive the email in my inbox as assignee.
    The default email subject is like [Action Required: TASK_TITLE], I want to remove this [Action Required:] from email subject.
    I tried setting <%null%> in Notification Header in .task file but the email subject is still has Action Required.
    Is there any way to customize email subject so that I can get rid of [Action Required:] [FYI] in email subject.
    Thanks & Regards.

    I believe this will help - http://docs.oracle.com/cd/E23943_01/user.1111/e15175/bpmug_cust_res_bndl.htm

  • Customize ical server  email invitation to events?

    Is there a way to customize the email invitation that iCal server from snow leopard Server that sends to people outside of the organization when there is an event? maybe fonts? some custom text or company logo?
    Thank you.

    iCal Server sends invitations to internal users too if you remove the email addresses of your internal users under "Info" in Workgroup Manager.
    So the Open Directory does not have an entry for the users with your internal domain, which makes iCal Server see the user as an external one.

Maybe you are looking for

  • HP MediaSmart DVD - Need to Update Bluray Software - Advice??

    Hi Guys, So has there been any update to this issue after all these months? I recently bought an HP Pavillion Slimline 5500t and when I first got the system about a month ago the Blu Ray player worked although not very well. It skipped and stuttered

  • How to find out the Pixel Dimensions and Document Size of placed images?

    Is it possible to find out the placed image details like Pixel Dimensions(Width,Height) Document Size(Width,Height) in illustrator through scripting. Kindly advice me with some examples.

  • PO for Finished Goods with Tax Code - Inventorise

    Hi All, Our Client is procuring Finished Goods from Domestic Vendor & Excise Duty is paid to the Vendor for that i am defining the tax code in PO. Over here For the Finished Good in Tax Code it is not capturing - (Condition Type - JMO2). I have check

  • Error - Maintain the entry CAMGB VCNYR in V_T7PIQSWITHCVAL - Campus mgt

    While saving student record (Transaction : PIQST00) system throws an error message "Maintain the entry CAMGB VCNYR in V_T7PIQSWITHCVAL " though I am not doing/have not done any GB(Great Britain) specific configuration. Can any one throw light on why

  • Time of 2.0 Software

    Everyone knows the new iPhone is being sold at 8AM on July 11th. But when (if the 2.0 software is released the same day) will the software be available for download? Does anyone remember when previous updates were available. Was it at midnight or a r