Callout design issue

Last week I noticed some weird behaviour in MS CRM. For a business requirement I created a callout. The callout would perform some business logic as soon as an appointment gets created. The business logic should only run if the activty gets created by a quick campaign. Don't ask me for the reason, but that was requested.

No problem, I created a pre callout which runs on the appointment's OnCreate event. It checks for the regarding field and if this is a quick campaign, then continue, otherwise stop. Fine, I tested the callout by creating an appointment with the regarding field set to an existing quick campaign. After saving the appointment, it appeared that the callout worked.

Unfortunately the testing people did not agree with that test. They tested the callout as it should be used by creating a quickcampaign which finally creates the appointments. In this case it does not work! After some research I have had contact with the product team and they did confirm this behaviour. The quick campaigns do not use the webservice and therefore it will not fire the OnCreate callout. The way to go is to use the MS CRM 1.2 approach which will work. They have promised to work on this for the Titan release, but no feature is in there for sure until it is in the RTM version. Let's just hope that this does gets fixed.

I have updated the list with possible solutions for a callout which is not working. See the list here: Callout not working


Joseph said...

Thanks for posting this as I've been trying to figure this problem out for myself. You mention a 1.2 approach, can you elaborate on that or point me to where I can learn more? I need to be able to capture an email activity created by a quick campaign and change the "from" address.


Ronald Lemmen said...

Hi Joseph,

It's a while back that I created callouts for CRM 1.2, but there should be sufficient information in the SDK for CRM 1.2 and on the internet. The callout mechanism worked with com plugins and changing values in the database to trigger the callout.

Hope this helps,

Ronald Lemmen