We use a SOAP API to track Dietary Requirements of our customers for any event and latter add it to a static list.
We came across a particular scenario where the same customer updated his dietary preferences for an event. But his preferences got updated in all previous static lists of completed programs. How can we prevent data from getting updated in this static list?
I think you're misunderstanding how static lists work. What you're describing sounds like "this is a list of the information I had about this person on this specific date and time when I added them to the list". That's not how it works. Static lists are basically like empty folders. You add or remove people from them. However, the information about that person is pulled from their lead record. It does not remain static in time; it will always reflect the latest information we have about that person in the database. If you don't want a field to be overwritten, you can block updates to that in the Admin > Field Management section. If you want to permanently store information about someone's dietary preferences for every event, then really you would need to store this in separate custom fields or use an entirely different method. Sharing one field across all events will mean that the latest version is always replacing the previous event's info.
Thanks for clarifying the misconception Kristen!
However, is there a way I can permanently store this information for a particular event in a list and enable updates to be made to the same field for further events?
To store data on a Lead, you need either
- A custom field (1:1)
- A custom object (1:n)
Using a custom object you might create a preferences object linked to the lead which you'd add, update, remove data from using the REST or SOAP api. Using a single Lead attribute would mean the value gets overwritten.