I've created a custom entity that has a text-based ID field.

If I create a view referencing this entity, with a VBO field, and use "Load a list of entity ids from a VBO View." -- I can iterate over the list & develing each value returns the string I expect -- also within this loop, I can "fetch entity by id" passing this value and it seems to work.

However, if I try "Fetch entity id" without using VBO, it expects an integer value for the ID parameter even though the underlying field is not an integer (whatever I enter here will return nothing)

I think expected behaviour here is for rules to look at the type of entity provided, determine the type of field the entity key is, and use that as the type for the parameter when 'fetch entity by id' is used.

As a workaround, I can use 'fetch entity by property' -- this lists the ID field, and I can use a string parameter here -- but this is a list and I then need to iterate over the list to do anything.