How to make sure workflow in salesforce does not fire of there are no records in the email template/ - email

I have a requirement to send an email to a group of people. However I do not want to send any mail if there are no records matching my criteria. Currently I am using Time based workflow to send the emails. But the problem is it sends an email with zero records as well. I want to make the workflow intelligent enough. I am looking for some option which uses configuration and not programmatically.

Have a roll up summary that counts total of top priority cases.
Use that roll-up summary field in your workflow entry criteria.

I have used 2 workflow rules to achieve this requirement.
1. Time-Dependent WF Rule to update certain fields in contact which will be used to save the run time for the next email.
2. WF Rule with immediate actions which read a particular field value updated by the Time-Dependent WF Rule for a certain contact and triggers an Email Alert picking the Case Template.
I also use the Update event on the Contact Trigger to update the check box on Contact.

Related

Prevent Dynamic CRM Workflow from sending an email to a Disabled User

I am using Microsoft Dynamic CRM Online and have a workflow issue. When the status of a case is modified, there is a workflow that kicks off to send members of the case team an e-mail. The problem is, it is sending the message to members of the team that have been recently disabled.
Example: User Jack Bauer is added to Case FOX24. One month later, Jack's account is marked as disabled. The following week, the status of the case is updated and a workflow is triggered to send team members an e-mail.
Is there a way inside a workflow to prevent the email from being sent if the user is disabled?
So far, I haven't found anyway to stop the email.
I solved my problem by creating a child workflow to remove any disabled users from the case specific attributes before the email is sent. The new process contains the nine checks for disabled users as well as an Update Record action for each check to {clear} the value of the associated attribute. It is marked as "Run on demand" so users can clean the Case record anytime they desire.
The child workflow will be called once per email in the parent workflow because they are sent using different timeout periods. Even if a user is disabled in the week or so between the first and second message, they shouldn't receive the messages.
Add a condition into the workflow which checks the status of the record in the 'To' field of the email.

Using SmartSheet API for "Smarter" email notifications

Currently in SmartSheet, users are able to assign email notifications to users, which are triggered when "Anything Changes" or a pre-specified column changes in a sheet.
While this is useful, there is a common business case where a sheet administrator needs to notify users based on the contents of a cell. For example, if the drop down option in Column A is set to Option A, User A gets notified, or if set to Option B, User B gets notified, etc.
Is this sort of conditional notification logic possible in the SmartSheet API v2.0?
The Smartsheet API doesn't currently support creating or managing alerts (i.e., notifications and reminders). So, to achieve the type of scenario you've described, you'd need to create an integration that:
is able to know when the specified changes occur in the Sheet (ex: Column A is set to Option A for any row)
contains the logic to determine which user(s) to email (ex: if Column A is set to Option A for any row, then email User A)
sends the email(s)
At a high level, you have a couple of different options for accomplishing what I've outlined above:
Poll Smartsheet periodically (ex: hourly) to determine if the Sheet has changed (Get Sheet Version) and if it has changed, evaluate sheet data (Get Sheet); if data meets your criteria for sending email(s), then send email(s).
Alternatively, you could use "Smartsheet Webhooks" such that your integration will be notified when changes occur in the Sheet, then react to such notifications by subsequently using the API to evaluate sheet data (Get Sheet or Get Row); if data meets your criteria for sending email(s), then send email(s). Smartsheet Webhooks are currently in Private Beta -- if you'd like to be considered for the private beta, you can apply by completing this web form.

Fire SendGrid webhooks only for specific categories,

SendGrid's webhooks, once enabled, will fire with every e-mail sent. Or so that seems to be what the documentation implies.
I'm wondering if there's anyway to have the webhooks fire only if certain filters match a pre-defined set. In particular I'm interested in the category filter matching something specific, and only fire webhook when matched, and not fire it by default on all e-mails sent.
There's no way to limit events by category, but you could probably set up a simple filter that would check for the existence of a specific category.

Best way to notify users of an account that needs to be updated?

I am using Microsoft CRM 4.0. I currently have many accounts that need to be updated by the sales person assigned to the account. What would be the best way to notify the user of the update? Also, It would be nice if there was also a way to notify me back that the task had been completed. I was thinking the best way would be through a workflow but It does not allow me to select multiple accounts at once to notify the user, of which ones need the update. I also have mobile access with CRM.
You're on the right track. You could use a combination of workflows to accomplish this. I don't know what exactly it is they need to update but you could create a bit flag called new_isrecordupdated and then create workflows that wait until the fields needing to be updated are changed. When they are you can set that flag to true. Then have another workflow sleep for X days and verify that the field is false, if so send out an email to the user.
If you need them to complete tasks, then the workflow will need to sit on the tasks if they're regarding an account. On a status change of completed, update the flag to false.
Again, I'm not sure what you're looking for them to update so I can't say with 100% certainty that this is what you need.
Depending on how many accounts you are talking about, you may want a scheduled console application to find all of the outstanding accounts that still require attention. It could then create a single email for each sales person each day with links to each of the accounts that still required attention.
You could also have a single daily report letting you know which accounts had been updated and which were still needed updating.
These could be done with a scheduled application or an SSRS Report.
In addition it would be helpful to add a view for your sales reps that showed them the complete list of accounts that they needed to update. You would also want a similar view sorted by the assigned owner.
This way you have notification, but not abusive notification if a lot of these are happening and you have a way for both you and your salesmen see anything outstanding with a simple glance at a view.
You would probably need to have a boolean to set an account as needing an update, and then you could use a plug-in to reset that flag whenever the owner updated it along with setting a last updated date. This would give you the fields to flag an account as needing to be updated and the date would allow you to see which accounts had been updated by their owners.

Multilevel Approval Workflow Using Sharepoint Designer

I need to create a multilevel Approval Workflow for following scenario:
Workflow starts once item is created employee (Say in a ProductList) for certain Amount.
Manager Approves the workflow.
If Amount is < $5000, email goes to Employee as approved.
If Amount is > $5000, further approval is required. Item goes for further approval to VP and then CEO.
I am getting many examples on workflow, most of the examples are sending just an email based on condition. I need sending for further approval based on condition.
Create a list with the following columns
a. Product Name (Text box)
b. Price(Text box)
c. Mgr approval (choice)
d. Final approval(Choice)
Hide column c & d using JavaScript when user enter the value
a Create a workflow in item created for sending mail to manager
Show the column c using JavaScript or the manager
Create another workflow for send mail to final approval on item edited event after checking following conditions
a. Amount >5000
b. Mgrapproval (c) status is approved
Show the column d using JavaScript for the final approval
You can use simple JavaScript if the mgrapprover and final approver does not change. If these values are dynamic it is better to create a webpart for generating JavaScript by checking the login user group.
I would do the following:
Create a list with your approval items in it
Create an approval request as you have done
Check whether the amount >= 5000
If it is ask for approval from the VP and CEO (follow the same steps as you do for step 1 but this time using VP and CEO prefixes for your variables and collection tasks).
If possible, I'd also reference external lists for the amount to check at, and for the VP and CEO names - so that you dont have to redeploy the workflows when the amount changes or the VP/CEO change.
Theres a good write up of a similar multiple approval SP workflow scenario here
As an Aside, you might not want to send the emails with the task url, I'd suggest coding the actual edit page urls into the email so that users (i.e. Managers, VP and CEO) dont have to view the task, then click edit item, then approve, by viewing the Edit screen you can get the url and input your Workflow TaskItemID into the url directly which will give the end user a better overall experience. Only one button click to approve/reject instead of multiple clicks to just get to the screen.
I did this kind of thing by having a workflow like yours on the first list and when a certain condition is fullfilled(like >5000$), I move the item in another list where another workflow process it for approval like you need to. It may seem like your multiplicating workflow, but I usually prefer to have more pretty simple workflow than one workflow that does a lot of things.