Imagine it's your birthday. You open up your e-mail and see a birthday message from one of your best friends. Excited to see what he wrote you open it, only to be disappointed by a generic birthday message. This is similar to the feeling hiring managers get when they receive a non-personalized cover letter.
OK, maybe it's not that level of disappointment, but writing a generic cover letter is one of the last things you want to do as a job seeker. I certainly understand why the temptation to do this is great; writing cover letters is a monotonous task, and people will take any shortcut available to streamline the process. Unfortunately, this is one of those shortcuts that doesn't help. A generic cover letter will only make the employer assume you put no work into your application.
The first thing you need to do is create a cover letter template. This will contain a general overview of your skills and experience as related to your ideal job. Save this file with a name like "CoverLetterTemplate." The next time you apply to a job, you will use this template as the basis for your cover letter. You won't necessarily have to change everything. The two areas you need to change are the salutation (with the hiring manager's name) and the opening paragraph, which should include references to the organization and why you are interested in applying.
The level of changes to your body paragraphs will depend on how similar the job is to your original template. If the job for which you are applying matches your ideal position, you probably won't have to make any updates to your skills and experience. You should still make some minor changes, such as referencing how your abilities and experience will help the nonprofit. When you are done, save the file as a different name so you still keep your original template.
There are plenty of cover letter examples online that will give you a better idea of how to structure your template. Take a look at those if you are having trouble.