Idle is where the otherwise unnoticed performance flaws are revealed.
General, "classic," suggestions (related to gas engines):
A dirty fuel injector - add some Techron to the fuel. Fuel injectors can be removed for ultrasonic cleaning and testing. A suspect ignition wire - check with an ohm meter. Check if the engine's intake air duct clamps between the Mass Air Sensor (MAS) and intake manifold are snug. A small vacuum leak which makes the air / fuel ratio (only at idle) too lean in one or two cylinders. Such a leak could be from a vacuum hose, fuel injector seal or intake manifold gasket. If no hiss that would suggest a suspect site is heard, some propane can be CAREFULLY applied to these areas using a hose. The gas will be sucked in by the leak and the engine will be smooth for that time. That's the leak point to be sealed.
If none of these "classic" approaches proves to be the cause, the engine's high technology aspect follows:
The engine idle seems to oscillate which suggests a sensor is giving a fuzzy reading that the engine's computer is trying to target by varying the idle. Others here may have better ideas about that but my suspicion (but not certainty) would be the O2 sensor. A diagnostic code may arise from this.