2 of 2 people found this helpful
CA have a few limitations that CO do not have, amongst which:
- Limited length of text fields
- Cannot be updated nor deleted, only inserted (which can be an advantage if you want to keep a strict log of event that cannot be tempered with)
- Cannot be used in Velocity
- Cannot be linked to a secondary object
CO have also their own drawbacks
- Do not show in the activity logs, except for a limited "add to XXX" line
Thanks very much Greg. So could an option be to use both for the one action if you need to reference the data in an email but also want to show it as a custom action?
1 of 1 people found this helpful
Hi again Daniel,
just edited slightly my answer.
All in all, except if you want them to be used for compliance issues and the details / untempered activity log is mandatory, I would go for CO.
If you have the developper bandwidth and the API bandwidth, using both would also be a good choice. Just keep in mind that you will consume more API calls doing so.
You shouldn't use the same object implementation as a CA and as a CO because this isn't good data design. You might have a Custom Activity that is specifically "Added a CO" and mirror some of the fields from the CO, but there needs to be a distinction between the two.
Like Greg mentions, CA has a specific semantic meaning: it is meant for time series data, which by definition cannot be deleted (as in the real world, you cannot undo the fact that an action occurred). In your case, a room reservation may be considered an undoable action, while the act of making a booking is something that will always have happened.
You should also be aware of API limits. It's already touchy with COs; if you double your usage, that's going to bring the limits that much closer.
Great, thanks very much for the input