Use case: Managing Job Applications with SharePoint


in ,

I recently hired two employees for my company. The process is usually simple, an opening is posted on local jobs site and all the job applications are received via email. As we always require applicants to submit some additional forms and to complete a small writing or code development task it’s sometimes hard to track the progress of each candidate. This time it was even harder because three persons were in charge of reviewing all these materials.

SharePoint solution

To speed-up this process I decided to implement a very simple solution on top of SharePoint 2010. The solution still requires a lot of manual upload of documents but it is no-code solution so it does not require any special skills or effort to implement it. I created a document library with Document Sets. Each document set represents a job applicant and contains all the documents submitted. It also contains information about current application status and additional comments. The final solution looks like this:

Document Library with Job Applications
Document Library with Job Applications


  • Make sure the following features are activated on site collection level: Document Sets, SharePoint Server Standard Site Collection features.
  • Create a site for job applications e.g. http://intranet/hr and navigate to it.
  • Make sure Site feature SharePoint Server Standard Site features is activated.
  • Navigate to Site Actions > Site Settings > Galleries > Site Content Types.
  • Click Create button and fill the new form with following data:
    • Name: Job Application
    • Select parent content type from: Document Set Content Types
    • Parent Content Type: Document Set
    • Put this site content type into: Custom Content Types (or create a New group)
  • Click OK button to save
  • A new page will open allowing you to configure your content type and add columns, click Add from new site column link
  • Add the following columns:
    • E-mail Address (Type: Single line of text)
    • Phone (Type: Single line of text)
    • Application Status (Type: Choice)
      I entered the following options: New, Phase 1, Phase 2, Phase 3, Rejected, but you can add phases of your own job application handling process.
  • On the settings page for the Job Application content type you can also configure Document Set settings e.g. configure Shared Columns and Welcome Page Columns
  • Create a new document library or navigate to the one that already exists on your site and then navigate to Document Library Settings page.
  • Click Advanced Settings.
  • Select Yes for the Allow management of content types option.
  • Click OK button to save the settings.
  • From the Content Types section click Add from existing site content types and add the content type you created in previous steps.
  • The list will now show Document and Job Application content type. You can use Change new button order and default content type link to remove the Document content type from New button and to make Job Application default content type
  • Once configured the New button on the Document Library ribbon will show only Job Application content type.
  • Additional steps: Make sure you configure your Document Library views according to your needs e.g. Group by Phase or Filter by user etc.

Using the solution

Using this solution is very simple:

  • Click New button on the Document library ribbon to create a new Job Application
  • Fill the Name of the new applicant and other contact details
  • Once saved applicants will be listed in the document library. Click on applicant name to add or preview attached documents like resume, letters of recommendation and other files.

Future Improvements

The entire solution could be further improved with SharePoint incoming email feature. This would allow us to automatically convert all the documents to items in a SharePoint Document Library. However OOTB incoming email feature is very simple and does not allow any intelligent email routing. To implement intelligent routing (e.g. to automatically recognize someone replying to an existing job application) you would need to write some SharePoint event handlers. For completely automated solution you would have to implement some SharePoint workflows that would automatically send emails when job application changes states etc.