I'm an engineer. When I talk to customers, I can sometimes make small promises like "I'll fix that bug for you" or "I'll change that color for you" but I can't promise anything that involves a time commitment or spending money -- my boss has to do that.
I'm starting to notice that my boss has a habit of asking me to talk to customers in situations where he knows the customer wants something I can't promise. I think his reasoning goes like this: say customer wants X, and X costs money. If the customer asks my boss for X, he has to say yes or no, but if the customer asks me for X, I can't answer so we have to discuss X Y and Z first and then give all the information to my boss so that he can make a decision. That way he gets to understand all the options before having to commit to one of them.
The problem for me is that this leads to a lot of awkward conversations. Sometimes the customer's position is that they need X or they will drop our business, but they don't like to say that to an engineer. People don't like to tell engineers that they're going to drop their product because they know the engineer is emotionally invested. So they begrudgingly go over Y and Z with me even though they don't really care. Other times customers will launch complaints at me about my boss, or try to get me to insert my own opinion about whether X is the right solution.
How do I manage these conversations professionally without either putting my boss in a bind by preempting his decision or appearing to be rude to the customer by resisting obvious or necessary solutions?