CRM 2011 odd behavior of a simple workflow - triggers

I have a simple workflow that re-assigns contact to an API user when the country is equal to 'France'. This workflow is triggered on Create, On Change in field (Country) and on Demand. Scope is set to Organization level.
This workflow fires off for some contacts and not for others. So in my report, I can see that it had re-assigned x number of contacts but has missed a few contacts all together. These few missed contacts do meet the criteria and should have been picked up by the workflow. To confirm this, I ran the workflow on some of these missed out contacts manually. and it worked.
My question is, why did this workflow didn't pick up these contacts? as I said, the criteria are quite simple, if country equal to France, re-assign. I found no difference in the contacts that got moved and those that didn't. Same owner, same business unit and same created on date etc. (also to confirm, the contacts I compared were both newly created contacts so the wf should have triggered on Creation)

Related

How can I trigger a contact workflow on a specific date in Bitrix24?

I would like to trigger a workflow resetting a sum on all contacts every 1st January of the year. The workflow is implemented. It could be triggered on the specific date or even everyday, because the date is verified in the workflow before resetting.
How can i run it on every contact?
Hello and welcome to Stackoverflow, the answer to your question is as the following:
You need to create a Rest API outbound webhook in your Bitrix account with "CRM" & "Business Process" permissions.
You will write down a PHP code that will be executed on the exact date/time of you choice
The PHP script will do 2 process:
Will retrieve all the contacts that you have on your Bitrix account and store them into a string value.
It will run that Business process and pass the list of all the found contacts, and inside your Business process you're going to set it up in a way that it will run the required actions on every contact from eh contacts IDs passed by the first step.
The PHP script can be hosted in a webhosting or even on your local machine since it's once a year.
This is only the concept of the solution, I can't share the script code because I don't have it at the moments, please contact me if you faces problems.

Dynamics CRM Workflow: Verifying that Item is assigned to a User (vs. Team) Before Sending Notification

I have reviewed all the past questions as well as scoured google results, but I can't find a good answer to this.
In our MS Dynamics CRM 2016 Cloud implementation, we have added email notifications to the owner of a Lead, or Opportunity, based on certain events. Sometimes the owner is a Team, and in those cases, we want to avoid sending to the team (it causes the workflow to get stuck in "waiting for retry based on error").
I added a qualification to all the workflows to say: If OwningUser.PrimaryEmail Contains Data ...
My theory was that if a user were associated with the Owner field, this would pass (all of our users have primary emails except service accounts), and if a team were associated, it would fail. However, that is not happening - it is still trying to send the email and failing.
I was concerned that it could be an issue if no user were assigned and the system tried to reference a null value.
However, I can't see another way to do this and no one I've talked to seems to know either.
Try adding a condition like this. This should hopefully tell you if the owner is populated with a team record, if not then you are safe to send the email.

Analysis class diagram - associating classes

New user so I can't post images. Image link provided below:
http://i.stack.imgur.com/EXf0G.jpg
This is for a walk-in booking system not an online reservation system.
Normal Booking scenario:
User/Member gives information to receptionist. Users can book up to a month in-advance.
Receptionist searches user/member info. Receptionist must be logged in to search user/member or make a booking.
if details are found the booking continues as normal, if not user details are added to the users file.
Booking time/date/type is then checked for availability. If available then a booking is made.
Extra:
There are two types of staff account 'normal-user' (Receptionist) and 'admin' (Manager).
Manager can reset staff account passwords and create new staff accounts.
Manager can edit session details on the timetable (time, date, type) etc. Do i need a timetable class here??
In order to answer that, we would need a much more developed specification.
I would suggest you develop with what you have, meeting only the minimum requirements for each iteration. Then, if you find your users need a timetable of some sort, then add it at that point.
In general, don't add more complexity than you need until you know you need it. The more moving parts a system has, the harder it is to maintain and use and to put together in the first place. Get the application up and functioning and in the users' hands. Until you get real feedback from them, you are just taking stabs in the dark. Let the users' tell you what they need and want.

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.