Chatlayer Documentation
Get in touchAbout Chatlayer
  • Welcome
  • What's new
  • Send feedback
  • start quickly
    • Leadzy tutorial
      • 0. Introduction
      • 1. New bot, new block
      • 2. Understand your users
      • 3. Collect and display user input
      • 4. Steer the conversation with Conditions
      • 5. Empower your bot with Actions
      • 6. Set up a channel and publish your bot
    • Templates
      • Banking
      • E-Commerce Returns
      • E-Bike Shop
      • E-Scooter Support
      • Feedback
      • Find Nearest Location
      • GPT
      • 🆕Gym
      • Job applications
      • Knowledge base AI template
      • Lead generation
      • 🆕NPS
      • Restaurant
      • Retail
  • navigation
    • Analytics
      • Dashboard
      • Customers
      • Conversations
      • User flow
      • Intents
      • 🆕Funnels [Beta]
    • Bot builder
      • Flows
        • Canvas functionalities
        • Collaborate with team members
        • Manage your flows
        • 🆕[Beta] Export and import flows
      • Bot dialogs view
      • Translations
      • Events
    • NLP
      • Dashboard
      • Intents
      • Expressions
      • Entities
      • Train
      • NLP settings
      • Improve
    • Knowledge base AI
      • Add content to your KBAI
      • Build your KBAI flow
      • Use your KBAI source URL in a button
      • Use tags to limit your KBAI content
      • 🆕Use Tables to store your KBAI questions
      • 🆕Manage handover where KBAI is unsatisfactory
    • History
      • Conversations
      • Execution logs
      • Versions
    • Channels
    • Tables
      • Create a table with records
      • Column types
      • Operate on your records
        • Insert record
        • Update record
        • Retrieve record
        • Delete record
      • API
    • Settings
      • Bot settings
      • Offloading
      • Variables
      • Voice
      • Import/Export
  • build your bot
    • Conversation design
      • Plan your bot
      • Conversation design workflow
    • Flow logic
      • Blocks
        • Message
        • Condition
        • Collect input
        • Action
      • Go-to connections
    • 🆕Emulator
    • Tips & best practices
      • Route your flow depending on the time
      • Improve the Not understood block
        • How to create better not understood messages
        • Not understood counter
        • Not understood Google search
      • Go to previous block
      • Recognizing a returning user
      • Skip introduction message
      • Route your flow depending on the channel
      • Reuse flows
      • Connect two bots to each other
  • understand users
    • Natural language processing (NLP)
      • Basic NLP concepts
      • Detect information with entities
        • Match entities
        • Contextual entities
        • System entities
        • Composite entities
      • NLP best practices
        • Word order and diversity of expressions
      • AI intent booster
      • Train your NLP
      • Context
      • NLP import & export
      • Sentiment analysis
    • Languages
      • Supported languages
      • Make your bot multilingual
      • Change language within the conversation
  • set up channels
    • Add a channel to your bot
    • All channels
      • 🚨Facebook Messenger [Deprecated soon]
        • Facebook Admin Removal
        • Facebook Webview Whitelisting
        • Facebook Messenger API updates for Europe
      • 🚨Google Assistant [Deprecated soon]
      • Webhook
      • Web
        • 🚨Web V1 [Deprecated]
          • Customize web widget
          • Live example web widget
        • 🆕Web V2
          • 🆕From Web V1 to V2
          • 🆕Web V2 methods and options
    • Sinch Conversation API
      • Configure your Sinch Conversation API
      • 🆕 Make the most of RCS with Carousels
      • WhatsApp Business API
  • integrate & code
    • API calls
      • Configure your API integration
      • Advanced API features
      • V1 API Reference
      • Custom integrations 101
    • Code editor
      • [Example] Sending data to Airtable (POST)
      • [Example] Retrieving data from Airtable (GET)
      • [Example] Making SOAP requests
    • App integrations
      • Airtable
      • Freshdesk
      • Freshdesk Messaging
      • 🆕Gmail
      • Intercom
      • Mailgun
      • OpenAI: GPT-3, ChatGPT and GPT-4
      • Salesforce
      • 🆕Slack
      • Topdesk
      • Zendesk Support
      • Zendesk Sunshine (beta)
    • 🆕Expression syntax
    • Human handover & live chat
      • Sinch Contact Pro
      • #Interact
      • Genesys Cloud
      • Offloading Webhook
      • Salesforce Service Cloud
      • Sparkcentral by Hootsuite
      • Zendesk Chat
    • Chatlayer messages specifications
  • Publish
    • Publish your bot
      • Publish a flow
  • Analyze & maintain
    • Analytics definitions
    • Data retention
    • Maintenance
    • Session
    • Track events for analytics
  • VOICE
    • 🆕Send bot response as audio
    • Voicebots
      • Create a voicebot
      • Voicebot-specific actions
      • Test your voicebot
      • From chat to voice
  • access & support
    • Identity & Access
      • Single Sign-On (SAML SSO)
    • Billing & subscription
    • Get in touch
    • Chatlayer glossary
    • SaaS Regions & IP Ranges
    • Status
    • Debug your bot
      • No correct response
      • Collect input not working
      • Video isn't working
Powered by GitBook
On this page
  • Template overview
  • How to customise this template
  • Flow: General
  • Flow: Job application
  • Flow: FAQ
  • NLP

Was this helpful?

  1. start quickly
  2. Templates

Job applications

PreviousGymNextKnowledge base AI template

Last updated 1 year ago

Was this helpful?

Template overview

With this template job candidates can easily look up and apply for job openings at your company. It is optimised for use on WhatsApp, Messenger and our web widget.

Job candidates can either browse through the list of job openings or directly ask about an opening for specific position. After selecting the job they are interested in, the bot will ask them a few questions (including contact details, motivation and resume) to complete their application. If they don't see any job they are interested in, job hunters can also do a spontaneous application.

How to customise this template

Make sure to always after loading a template!

Flow: General

Block: Introduction, We're hiring

Modify the text in these block so it reflects the branding of your own business. Replace Sinch with the name of your own company.

Flow: Job application

Users can access this flow by clicking on the See open positions button in the We're hiring block or by triggering the Find_job intent.

Block: Route job

When the user's message matches the Find_job intent, this Go To block will steer the conversation in the right direction. If the user's message specifies the role they are interested the bot will detect this as the @job entity and store in a variable of the same name. There are 3 scenarios:

  1. If the user doesn't mention any specific job in their message (e.g. Show me your job openings) they are redirected to the list of job openings.

  2. If they do specify the job they want to apply for (e.g. Are you hiring a full stack developer?) the user is immediately redirected to the relevant job description.

  3. If the user asks about a job for which there is no vacancy they will see the No open jobs block.

For scenario 2 you will need to add two conditions for every vacancy that you want to advertise. The first condition redirects the user to the relevant job description if they are on WhatsApp; the second one redirects the user to the relevant job description if they are on another channel.

Block: Route channel - Open positions

If the user clicks on the See open positions button or by their message matches Find_job without mentioning a specific job, this block will redirect them to either a list menu (on WhatsApp) or carousel (on other channels) with the vacancies.

Block: Open positions WA

For users on WhatsApp this block shows all vacancies in a WhatsApp list menu. Add a Go To button for each of the jobs you want to advertise.

Block: Open positions

For users on other channels this block shows all vacancies in a carousel. Add a carousel item for each of the jobs you want to advertise.

Job description blocks

For every vacancy that you want to advertise in the bot you will need two blocks with a job description, one for WhatsApp and one for other channels.

In addition to the description itself, each block should include an Apply now and Not now thanks Go To button. In the non WhatsApp blocks you can also include a URL button to the full job description on your company's website. As URL buttons aren't available in WhatsApp you can put the full URL in a separate text message in the WhatsApp blocks.

Block: Route channel - file upload

This block redirects the user to the Ask for resume block if are on the web channel and to Upload resume Input Validation if on another channel.

Block: Upload resume

Block: Upload resume Input validation

Block: Send to Airtable

After the user has answered all questions, this block sends all the candidate's information stored in the bot's session variables to an external database so it can be accessed later. By default, this template sends the information to an Airtable using the Create Record function of our Airtable integration.

Flow: FAQ

This flow can answer some of the basic questions candidates might have about the application process. Each type of question is corresponds to an intent. When a user asks a question that matches that intent the block with the relevant answer is triggered.

If you want to add a question to this FAQ section, you can simply create a new intent in your bot's NLP section, add some expressions with variant phrasings of the question (at least around 20) and link this intent to a new block containing the answer to the question. If one of the questions isn't necessary for your bot, you can simply delete the intent and the block that is linked to it.

Make sure that all of the built-in answers in the blocks are in line with your company's hiring policy.

NLP

In addition to changing the flows, you will also need to make some changes to the entities in the NLP section of your bot. The contextual entity @job captures the job the candidate is interested in. You will need to replace the example values by the vacancies at your own company. Adding synonyms for the entity values ensures that the correct job will still be detected even if the user phrases it in a different way, e.g. ML engineer vs. machine learning engineer.

For users on the web channel this block uses Chatlayer's functionality to let the user upload their resume. If the upload is successful the bot goes to the Set var candidate_resume to {uploadedFileUrl} block where the link to the file is assigned to a new variable. If the upload fails the user is redirected to the Failed uploading resume block and asked to try again.

For users not on the web channel, this block uses an input validation with the input format set to image to allow them to send their resume. The image format works for checking if the user's response matches (not just images) rather just a text message. The link to the file is saved in the candidate_resume variable.

You can read more about Chatlayer’s Airtable integration .

Not using Airtable within your organisation? You can link any type of database to this bot, as long as it has an API. Read more about integrations .

You will need to customise this block by connecting it to your own Airtable account and your own Airtable base. However, when you have newly imported the Job Applications template, it will be linked to . Feel free to use it as an example of what the data in your own Airtable should look like, but make sure to replace it once you start using the bot for your own organisation.

If you do not yet have an Airtable account set up in Chatlayer, you can do so by clicking Connect new account and following the steps in the pop-up window. You will need your Airtable API key for this, which you can find on your .

Once you have set up your own Airtable base, head back to the block in Chatlayer. In the Base field replace the ID of the example Airtable base with the ID of your own Airtable base. In the Table field replace the example ID with the ID or name of the table in your own Airtable base where you store the candidate data. You can find your Airtable's base ID and table IDs , or in the URL of your table view.

update the NLP
here
here
this Airtable base
Airtable account page
here
file upload
any file format
The Candidates table in the sample Airtable base