No heat (especially at idle) is a sign of low coolant.
Since you have had a shop look at it, they may have made a simple mistake. Make sure the spring loaded cap is on the coolant bottle and the cap without a spring is on the radiator. Backwards from old school, but that is how this system works. Don't take the cap off the radiator (backwards from old school, but how this system works). Top off the coolant bottle to the max mark. Will probably take a couple of top offs to get it full again. You drive around to burp the air out. and that drops coolant levels. Once fully burped it should stay full.
Putting caps in the correct place might be all it takes to fix it. If it does still overheat you need to describe when it happens. Guessing a bad fan clutch, but that is a guess without any diagnostic.
Has the shop put any parts on the truck? Most shops will use the most value based parts they can find. This engine doesn't like the generic parts. Really need a Nissan thermostat and fan clutch as the aftermarket parts have an extremely high failure rate (pretty close to 100%). Often bad when installed as new. Remember that new parts do not garantee good parts, if so there would never be a need for warranties.
Thank you for the replies. The caps were in the right places. Took it yesterday to a mechanic in whom I have confidence. Would have gone there first but he was too busy and I couldn't wait, also needed a state inspection. He replaced the thermostat and found a small leak at the very bottom of the radiator from a crack which surprised me because it is less than 2 yrs old, so he will put in a new one. Hope that does it.
By the way, the first shop that couldn't find the leak said they pressure tested it twice. The mechanic there was difficult, kept saying I overfilled the radiator because there was coolant on top. He wouldn't believe me when I told him I spilt some while adding it even after he added a lot more and saw it was almost empty.