Get details. Make them be reaponsible. Always write down the date and time while the person can hear you, then get their name. If they say they will get back to you, ask for a date and/or time. When the date arrives, call and confirm. If it's not happening, get a reason, and set a new date. Talking to people that make bigger salaries costs them more money. After three documented screw ups, contact them. Immediately ask them for their supervisor's name and contact info in case they are as incompetent as their staff.
It's okay to get mad, but always be polite. Don't cuss, etc, or give them any excuse to quit on you. Be tenacious and hold their feet to the fire. Become so annoying in your basic request that the staff will always remember your name.