Maybe you have a vacuum leak? Any applicable trouble codes? You should be able to check trouble codes, yourself. Try cycling the ignition switch, You turn the key just till the dash lites come on, no further, no crank. Cycle the key on--off, on--off, on, then the mil on the dash starts flashing, you count the flashes to get the codes. Your looking for two digit codes. An eexample, code 24 would be 2 quick flashes, a slight pause then four quick flashes. A code 55 is end of message, no more codes.
As far as the idle, block off the mouth of throttle-body, engine running. If no effect on idle, suspect vacuum leak/ unmetered air getting into the engine.