Once you have determined that USCIS or a consulate is taking longer than it should to act on your petition or application—as described in When Should You Start Asking About Delays in Getting Your Green Card Approval—the question becomes, what you can do about it? Your best course of action depends on where your application is.
If any office of U.S. Citizenship and Immigration Services (USCIS) has your application, and it has been there beyond the normal processing time, the main way to make an inquiry is through the USCIS Customer Contact center.
The old system, in which you could make an online appointment to visit a USCIS office by going to infopass.uscis.gov, is being phased out, and expected to be gone by September, 2019. However, the officer you speak to through the Contact Center may be able to schedule an in-person appointment for you, if that's the only way to deal with your issue.
It's possible that the USCIS officer on the Customer Contact line will be able to resolve your case problem then and there. More likely, however, the officer will take information from you and begin an inquiry process, then let you know when to expect a response. Be sure to make a note of the date you call and the “SMRT” case referral number the representative gives you.
If you do not have a response within 30 days of your call, send an email to the Service Center that has your application or petition. You can find the email address on the USCIS website. Be sure to reference your SMRT number and the date you called. Also provide your name and the type of petition or application you filed, such as an I-130 or I-485.
If you do not get a response to your follow-up email within 21 days, email USCIS headquarters at SCOPSSCATA@dhs.gov and describe the problem and steps you have already taken.
The least useful course of action is to write a letter to USCIS. You are unlikely to get a response, except perhaps a boilerplate letter suggesting that you call the Customer Contact number. The one exception is if you were already interviewed and were told that you should expect to receive a decision by mail. In this situation, you can write directly to the office where you were interviewed and ask for a decision on your case.
Although you may feel frustrated by delays, remember to be polite. The officer you are speaking with is not the one who caused your delay; in fact, this officer is the one you are relying on to help you. You may be justifiably outraged by USCIS’s action or inaction, but never insult or threaten the officer with whom you are speaking. At best, such behavior is never helpful; at worst, it could be interpreted as a threat, which could lead to criminal prosecution as well as a quick denial.
If the NVC delays in sending your case to the U.S. consulate in your home country, you can email a case-specific inquiry to firstname.lastname@example.org, or call 603-334-0700. Be ready with your NVC case number, which you’ll find on all correspondence from the NVC.
If your case is delayed at the consulate after the interview, you will need to find out how that particular consulate prefers to receive inquiries. The possibilities are: visiting, calling, or writing a letter. Be sure to provide your NVC case number.