Trigger when a certain appointment is changed - triggers

Is there a way to trigger execution of code when a certain appointment is changed in Exchange?
I push into Exchange via EWS some appointments created from information stored in our application, and when any of these appointments is deleted or rescheduled, I want to execute my own actions (like, send out complaint emails or update the information in our application).
Can I somehow hook a trigger to these appointments?

You can't scope it to specific appointments, but you can get notifications on the calendar. https://msdn.microsoft.com/EN-US/library/office/dn458791(v=exchg.150).aspx

Related

Flutter: delete calendar events in Gmail

I'm creating some local notifications for my users to remain them different events. I achieved this by using https://pub.dev/packages/flutter_local_notifications. These notifications are scheduled and can be removed easily.
I was thinking in other hand to move this to the private calendar wit Gmail. I have done this in the past and I know how to create them but I was wondering if I could remove also them.
In my app I have different portfolios. These contain rents and each rent has leases. When the user creates a lease an event is created with the different payment days.
If the user deletes either the event, the lease, the rent or the portfolio, I need to remove automatically all the notifications. Right now, since this is created with local_notifications I can do it, but would it be possible by having the events created in Gmail?
Could I created/remove a bunch of events without displaying the Gmail calendar app?

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.

Office365 Exchange and Exchange 2010 give different responses to the same getEvent operation

I have Exchange on Office365 and a local Exchange 2010 both of which I use for EWS communication. When I issue request to the Exchange on Office365 I get back a response in a certain format, this format differs from the content I get back from the local Exchange 2010.
Specifically, I have pull notifications up and running. Every minute I issue a GetEvents request to get the events that were created/modified/deleted since the last notification. The issue is that when I modify an event in the calendar, I do get a notification of a modified event, but I get several of them and I also get a notification that an event has been created, but no, only one event was modified.
So why does EWS send back a response with multiple modified objects and a single created object.
This is only an issue when an event is modified, creating an item works fine.
Also are there any other specific issues I need to look out for when dealing with notifications?
Sometimes I wish Exchange Documentation wasn't as bad.
The reason why you get many items in a single event is because the event also contains the parent folder of the item that was modified because most things in Exchange occur at the folder level. With that said you get 2 types of objects literally ItemEvent and FolderEvent. You can filter them using linq of some if statement ex.
lstCreatedContactIds = From e In pArgs.Events.OfType(Of ItemEvent)()
Where e.EventType = EventType.Created
Select e.ItemId

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.

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.