Conversation attribute mappings allow storing attribute values to a conversation and making them available later in other rules. Conversation attribute mappings differ from normal mappings in that the value will not be sent to outbound messages. Instead, the value is stored in the conversation and can be used in conversation conditions or as the source value of regular attribute mappings.
A typical use case would be to store the status/state of a ticket as a conversation attribute so that subsequent update rules can "know the previous status".
Conversation variables are mapped within the routing rules. They can be used if the rule action is Route to target or Process only. All mapping features, including formatters, are available with conversation variables.
When defining a conversation variable in edit mode, you doen't need to add the sf:conversation: -prefix. This gets added when you save the changes to the rule. For instance, a conversation variable test123 is saved as sf:conversation:test123 and it will be displayed as such in the in the view mode.
You can use conversation variables as a source in Outbound Mappings, Runtime Variables, and Conversation Variable Mappings. The names of the source attributes must always start with sf:conversation: -prefix. This is to distinguish them from normal attributes in the source message.
You can monitor the state of the conversation variables in the Message feed. In the left column, you see the value before the rule is executed and the right side shows the value(s) after.