Just last week, we visited Beyond Conventions in which we participate in a pitch challenge in the competition for a HR Chatbot for ThyssenKrupp. Among other things, this event is proof that it is absolutely necessary to develop new ideas and innovations in order to stand out as an employer among all coveted qualified employees. In order to do a good job in employer branding, companies must understand that they must be present and active on all social media channels. As Y and Z generations grow older and are ready to enter the business world, it becomes increasingly natural to learn about career opportunities not only through the website, but also through social media such as Facebook Messenger about the company. We will publish a series about demos, concepts, insights and much more about HR chatbots.

In this blog entry we explain the showcase we developed for our HR Chatbot Pitch for ThyssenKrupp. You will learn how to list one of many application processes in Facebook Messenger. This process includes gathering information about candidates, asking for screening questions, and placing candidates.

Step 1: Selection of a job


Applying for a job with a chatbot within Facebook Messenger


  • First of all, you have to create an intention that starts the application process. This should also be integrated into the navigation as a quick response (button).
  • The next step is to integrate a job overview as a web view of the website so that users can select their preferred job to apply for.
  • So how does the chatbot know which job was selected by the applicant? On the one hand, all website URLs of job vacancies must be entered in the whitelist on Facebook. The integration of the messenger Extension SDK on the website we can enable the communication between Bot and WebView. If the user clicks on a button, e.g. "Apply now" within the WebView, an action can be triggered that closes the window and sends the job for which the user wants to apply to the chatbot in the parameters.


Step 2: Collect information


A chatbot collecting information from a candidate


  • The first step is to ask the applicant for the CV or other relevant documents. It is important to know that users are not able to upload a PDF file to Messenger via mobile phone. It can only be transferred via the desktop. You could also offer users to upload a picture or screenshot of their resume. This must of course be clearly communicated to the user in advance.
  • Once the candidate has uploaded the files, we recommend the integration of an API that can automatically extract all information such as contact details about the candidate. For example, we use the Vision API from Google to extract the text from the uploaded image and then we search for specific entities about Google's NLP APIs to find the individual information. You can also implement a method to request missing information if someone forgets to include it in the documents (see example image).


Step 3: Questions on the screening question and ranking candidates


A chatbot asking screening questions and ranking the applicant


Ask screening questions

The 3rd step is to actually see if the candidate is the right person for the position by testing how well he or she meets the requirements of the job advertisement. In this case, you can use existing requirements from the vacancies. That sounds like a lot of work if you have to add all the requirements from thousands of job postings to the chatbot, but there is actually a very scalable way to automate that. Just by integrating an API into a CMS or other system in which information is stored, you can immediately use it in the chatbot.

Tendrils of Candidates

In order to rank the applicant, it is possible to create a scale from 1 to 5, in which the user has to choose a number, how well he meets the requirements. The choice of a 5 means that the candidate meets the requirements by 100% and a 1 obviously the opposite. After the candidate has answered all the screening questions, the chatbot calculates in the background a score of how well the job matches his qualifications and skills, giving the recruiter the opportunity to compare candidates. By the way, it is also possible to give certain requirements a different weight in the score calculation. For example, some requirements might be more important than others, e.g. 5 years of experience in programming might be more important than studying computer science with a short background.

In the final step of the process, the user is asked in a personal video by a recruiter to upload a video of him explaining why he wants to work for the company (or some other question relating to corporate culture and values). This creates a personal experience for the potential employee, which can also lead to a unique branding effect. The candidate's video provides the perfect opportunity to make a good impression and show whether he or she is suitable for the company.


Step 4: Integration of the Chatbot application into the regular recruitment process


All information from the application will be send to the recruiter or the ATS


After the user has finished the process, the chatbot collects all information (see picture above). Now there are several ways to deal with received applications. It can either be sent directly by e-mail to a recruiter or integrated into an Application Tracking System (ATS). The score given by the screening questions could help the recruiter prioritize applications.

I hope this has given you a good insight into how to create an application process for a chatbot. There are obviously many other ways to set up the process. Please share your thoughts in the comments on how it could be improved or optimized. This was also the first blog entry on HR chatbots. Stay up to date by subscribing to our newsletter!

HR Excellence Award 2018 in HR Tech and Data


BOTfriends' Jobs & Career Chatbot for Porsche won the Human Resources Excellence Award 2017 in HR Tech & Data.