We would like have a geofence trigger polygons (not exact locations) when our workers are in an area that the public can view. I am wondering if using Portal for ArcGIS tracker views can be consumed by geoevent server (have phones collect tracks using field mapper app, stream the data to Portal for ArcGIS, then somehow have geoevent read that service and create the geofence layer the public will view)?
This would be a good use case for GeoEvent Server and should be relatively easy to implement. Tracker stores current locations in a feature layer that could become your input to GeoEvent. The polygons representing public areas could be loaded or synchronized (in case they change) as GeoFences. You would then use the GeoTagger Processor element to identify workers that are inside a GeoFence (put this info into a field 'geofence'). Then you would write the information to an Update Features output (to a new feature layer) that is set to delete features that are older than a minute or two based on last edit (just to get rid of workers who aren't reporting their location). Finally, on the new feature layer, you would set up a filter (or a Feature Layer View) that omits all the locations where the 'geofence' field is null. The Feature Layer View can have different sharing settings from the underlying feature layer, so you could share that out with the public without having to share the location of all workers (if I read your post correctly).