The IAC(idle air control) Valve doesn't seem to be working.
Fuel injected engines don't have Jets so an idle screw doesn't work well.
So the IAC valve is used on all fuel injected engines
Computer gets RPM from distributor/coil, or CKP(crank position) sensor, it has "target" RPMs in memory that it tries to maintain using the IAC valve.
Cold engine idle should be above 1,000rpm, colder temp = higher RPM
Warm engine idle should be 700 for manual trans, 800 for automatic
As you turn on accessories, engine load increases so idle drops, computer sees this and opens IAC Valve a little to compensate.
IAC valve is fairly easy to remove and clean as a first step
It is a motorized valve on the upper intake, it can get dirty inside and valve sticks.
Computer tests IAC Valve on cold starts and some warm starts by opening it all the way and then closing it to "target" RPM level, if your idle doesn't go high, above 1,500rpms at first startup, and then drop, it could have a bad connection or bad motor.