Hope you can help:
We've built a rather simple, custom workflow in SPD which is connected to a custom list. In the list there is a Status column, with a choice-drop down and one of the values being "Complete".
For the Workflow Start Options, we selected both:
- "when new item is created" and
- whenever an item is changed.
We built the workflow with two steps:
Step 1:
(Condition): When a new item has been created, (Action) Send an Email to "created by" (a "thank you for your submission..." )
Step 2:
(Condition - lookup) when the "Status" column equals "Complete" (Action) Send an email to "Created by"/User who created item ("your order is complete...").
Good news is, in testing we receive both the "Thank you" email when a new item is created and also the "order complete" email when we update the status field to "Complete." Bad news is if we update the record with other status values before marking it "Complete" ("Hold", etc), then the first "thanks for your submission" email is sent again to the 'created by' user. As you can guess, they should only receive a total of two emails during the entire process.
Could this be because of the start option also being set to "change", even though we specified the parameters for the change? Perhaps the two steps need to be defined as two separate workflows? It seems simple and specific enough that they can be contained in the same workflow.
Appreciate any feedback, thanks.
You are correct in that your email is probably being sent again because you have the workflow trigger on both create and change. What you can do to isolate the create event is to only send that email conditionally when the "Created" date of the item is the same as the "Modified" date. That will only occur when you initially create the item. This will save you from having to create 2 separate workflows.
Related
I am writing some code to integrate with our installation of NetSuite. We use a service by CData to replicate the primary NetSuite tables down to our local SQL Server. My code will send an electronic invoice (outside of NetSuite) but I don't want to send it if it has already been emailed from within NetSuite using their built in feature.
The "Invoice" table contains all the main header info for invoices and there is an "Email" column in there. If that field has a value in it does that mean the invoice has been emailed? Or can someone fill in that field WITHOUT emailing the invoice? (I need to know if the invoice has in fact been sent)
The email column should be the email on the communication sub tab.
You can see if an invoice has been sent the "Message" sub tab in communication. If the record in there is a type = "email" then the message has been sent through Netsuite's internal functionality.
Does that help? Also, can I ask if you were successful with this? I am also looking to send emails using a CData connection.
I was looking for a status that would indicate if the invoice had been printed or not. Didn't find it. The solution could be to build a custom field on the transaction called 'Print status'. It would be a drop down list with 3 possible values: Pending, Printed Original and Printed copy. Set the field to 'Disabled' and its default value as 'Pending'.
We could go further and add a custom field called 'Date last printed' and even a 'Last printed by'.
Then we can build a workflow of action type 'Set field value', the condition of Field value = 'Pending' and an action to set the 'Print status' to 'Printed original' once the invoice is first printed.
A second action to set it to 'Printed copy' if someone reprints the invoice.
Using 'Set field value, we can also chane the transaction form to one that points to a pdf template with 'COPY' on it.
My issue is that the standard Action, Print of the invoice does not trigger any action on the workflow. So I guess we should look into building this via script.
Let me know if you find an easy workflow alternative.
Good luck.
I created in SharePoint a list. with column Assigned To. What I want is that an email is sent to the Assignee, if the Assignee is added to this column. But the problem is that Workflow is started only automatically if any changes are made in an element or when an element is created.
So my question is, is there a possibility to trigger an email by content changes in a specified column without sending 2 emails.
I think, If you are using SharePoint 2010 or 2013 workflow then you can set workflow to triger only for create and edit of item of list. But If you use Microsoft flow, you can trigger flow base on column change. But if you want to implement into 2010 and 2013 workflow then below step will work.
1) create one extra field and make it read only and hidden for every one.
2) trigger the workflow when item change into list.
3) if Assigned field is not null and not equal to extra field then send email and make extra field value same as Assigned field value.
after selecting lead and if Email button from ribbon is selected , then email form opens , here is it possible to set time and date for email to be send.
i tried "Actual start , Actual end , Due date etc" but mails sends immediatly after send button is pressed.
Is there any other ways to set Date and time for sending email.
Thanks in Advance.
I don't think there is a great out of the box solution for what you are looking for. However, depending on which version of CRM you are using (online vs on premise) You can create workflow that will fire off of one of those date fields being set (or a custom one) and wait until that specified time. To actually send it you will have create a workflow assembly (on prem only at this time I believe) to send that e-mail record out.
If it is online or you want to not add any code you can still do this trick. There are some drawbacks such as the e-mail would be text only, not able to recreate the activity party lists and some other things. Here is what I would do.
Create a new entity called Scheduled E-mail
Create all of the e-mail fields that you need to recreate as well as a date field to send the e-mail out by.
Create the workflow on the Scheduled E-mail entity to wait until the specified date.
After the step use the "Send E-mail" step to send the e-mail and copy over all of the fields you need.
This isn't a perfect solution, but will work with no code.
Hope this helps!
i have a personalized list let's call it "tasks" with a field "assigned to", the user can add
a task with empty "assigned to" but after 7 days if the user didnt complete this information
an email will be sent to the admin.
How can i perform this?
"Sorry for my bad english"
This should be easy to do with a list workflow in SharePoint designer.
In SharePoint Designer 2010, it should look something like this:
Make this workflow run when an item is added to the list, and you should be all set.
There are of course many different ways to do this, but I believe this is the simplest one.
We've created a pretty standard issue tracking system based off of SharePoint's template with just a few extra columns. On the list view (AllItems.aspx), the first column is called "Issue ID" and has a number. Our developers and QC use that number in discussions. However, that number doesn't seem to want to show up on the detail form (DispForm.aspx) nor in the alert email.
Can this field be included in at least one of these communication methods? If so, how?
Thank you.
We did something similar and used workflow via SharePoint Designer to copy the ID field into a field called "Issue Number". The workflow gets triggered automatically on Create / Edit (we included edit because the field can be modified by the user on the edit form and if that happens we want the number refreshed with the actual ID).
Before you create the workflow in SharePoint Designer, you need to add a column called "Issue Number" to the list you want to tweak.
List item
Open Sharepoint Designer
List item
Click File New -> Workflow
Give a name for the workflow
a. select the list from the dropdown
b. Uncheck Allow this workflow to be manually started and check automatically start on new and change then press Next
Give the step a name like "Assign Issue Number"
Create a Condition
If Compare a field -> If Issue Number not equals Current_Item:ID
Create an Action
Update List Item -> Set Issue Number to Current_Item:ID
Press Finished and test out by creating a new issue.
*The Issue Number will appear on the form and if you have emails setup to notify on assignment it will appear in the reassigned template.
*It will not appear in the created email confirmation because the workflow gets triggered after that email was executed.
I just added the issue ID using a total of 4 characters. Create a new column, set it to a Calculated column, in the formula type [ID]. Voila! The ID is now in your detail view.
The ID link returned the for me, however, the work around which sufficed for me was to enter 'Created' in the Calculated Column formula and ensure it is set at date and time. That then creates a unique idenity (unless you receive more than 1 list update per minute) than can be viewed in the email alert message