Hi @angel.mendoza@daveramsey.com, welcome to the community!
Since you referenced a post that I answered in, thought I’d chime in. As far as I know, you’re right and you can’t use a dynamic value from the event (e.g. event.list_key) as a value to update a property in the “Update Profile Property” action of a Flow. Currently, it seems the property value can only be a hard-coded literal.
However - assuming you are sending events via the Javascript Client Library, one possible work around for you is to follow up with your Track Event to use the Identify API, given that you have access to the email address (or ID) at the time of the event, to pass in the properties you want to append to that profile’s custom property (e.g. list_key) at the same time you pass in the Event/Metric.
See the example in the API Docs:
<script>
var _learnq = _learnq || [];
_learnq.push(['identify', {
'$email' : 'thomas.jefferson@example.com',
'$first_name' : 'Thomas',
'$last_name' : 'Jefferson'
}]);
_learnq.push(['identify', {
'Plan' : 'Free Trial',
'SignUpDate' : '2016-01-27 12:10:05',
'HasFilledOutProfile' : false
}]);
</script>
In this example, they are also adding custom properties like “Plan, SignUpDate, and HasFilledOutProfile” with their respective values.
If you are sending “Track Events” via the Server Side Library, then you can just add those properties along with the Server Side track event.
See this example:
{
"token": "PUBLIC_KEY",
"event": "Ordered Product",
"customer_properties": {
"$email": "bob@klaviyo.com",
"pet-type":"Dog"
},
"properties": {
"item_name": "Dog Collar",
"$value": 15
}
In this example, they are adding a custom profile property “pet-type” with the value “Dog” to be part of the Profile at the time of the event/metric being passed in.
Hope this helps!