In most cases, Process Flow activities expect a reference to a single object of the respective class (FlowItem, TaskExecuter, ...). So you always have to refer to a member of a group, not the group itself.
https://docs.flexsim.com/en/23.0/Reference/CodingInFlexSim/FlexScriptAPIReference/Data/Group.html#Op...
When assigning AGVs at the source, you can use "tokenIndex" which is a parameter that is available in the source only and numbers the tokens that were created through a single row. (Group(...)[tokenIndex])
For the park points it would make sense to add them as a resource and acquire one whenever it is needed (remember to release it when the AGV leaves the point).
However, with all that said. If you use more than one AGV in this system with two way paths everywhere, you will, more or less inevitably, run into deadlock situations when two AGVs travel toward each other on the same path. (Which is why I assumed the system was meant for a single AGV when I suggested to not use the AGV template)
While it is theoretically possible to build/program logic to avoid those situations, that is a very complex topic, even in a small system like this. And with AGVs constantly having to wait for each other, get out of the way of one another, take detours and so on, you might just end up with a system that is little more efficient than a single AGV to begin with.
So I would suggest to either
- Use mostly one-way paths, especially for long sections like the large loop (some two-way paths can probably be handled by using control areas and careful placement of control points)
- Assign the AGVs fixed areas of the network that they work, by using separate lists or partition a single list. Those areas could "touch" each other (have control points at the edge of the area belong to more than one) but not overlap.