Integration Documentation: Affinda AI-Powered Resume Parser

From 3B Knowledge
Jump to navigation Jump to search

Introduction

This document introduces the integration of an AI-powered Resume Parser powered by Affinda.com, a platform that employs the OpenAI (ChatGPT) engine for enhanced OCR and parsing results. This integration aims to streamline the onboarding process for candidates by minimizing manual data entry.


Setup & Configuration

Step-by-step Integration Setup:

  1. Account Creation: Begin by creating an account with Affinda to obtain the API credentials.
  2. Affinda Settings:
    • Navigate to Setup -> Custom Settings -> Affinda Settings.
    • Fill in the fields "API Key" and either "Collection Id" or "Workspace Id".

Utilizing the Out-of-the-box ResumeParser Page

For a straightforward implementation, use the built-in b3o__ResumeParser Visualforce page:

  1. Access the "Document Pack" tab.
  2. Add a new Document and select "External Link" as the document type.
  3. Populate the "External Link" field with /b3o__ResumeParser.

By doing so, the resume parser becomes a part of the document packs assigned to candidates.


Customizing the <resume-parser> Component

Developers have the flexibility to embed the ResumeParser page in various ways, including within 3B Portals, adding extra logic, or updating styling:

Instructions:

  • Embed the web component scripts
<script src="{!URLFOR($Resource.b3o__GeneralUtils, 'index.js')}" defer="true" type="module"></script>
<script src="{!URLFOR($Resource.b3o__ResumeParser, 'index.js')}" defer="true" type="module"></script>
  • Add the <resume-parser> component to the page and initialize with the globals object:
<resume-parser 
    user-id="{!$CurrentPage.parameters.conId}"
    workspace="{!$Setup.b3o__Affinda_Settings__c.b3o__Workspace_Id__c}"
    collection="{!$Setup.b3o__Affinda_Settings__c.b3o__Collection_Id__c}"
    api-key="{!$Setup.b3o__Affinda_Settings__c.b3o__API_Key__c}"
></resume-parser>

<script>
    const globals = {
        sessionId: '{!GETSESSIONID()}',
        siteUrl: '{!$Site.baseUrl}',
        useREST: false,
        router: b3o.GlobalRemotingRouter
    }
    window['globals'] = globals;
</script>

Component Attributes:

  • user-id: Salesforce contact id
  • workspace: Affinda workspace id
  • collection: Affinda collection id
  • api-key: Affinda API key
  • success-message: Message displayed upon successful parsing

Data Management by the Resume Parser

When a CV/Resume is parsed, various Salesforce records and fields are updated:

Contact:

  • b3o__Linkedin_Profile_Link__c
  • b3o__Profession__c
  • b3o__Summary__c
  • BirthDate
  • Address & Coordinates

b3o__Language__c:

  • Name

b3o__Certification__c:

  • Name

b3o__Skill__c:

  • Name
  • b3o__Type__c (Options: Soft/Hard Skill)

b3o__Employment_History__c:

  • b3o__Start_Date__c
  • b3o__End_Date__c
  • b3o__Grade__c
  • b3o__Institution_Name__c
  • b3o__Degree_Program__c

b3o__Education_History__c:

  • b3o__Start_Date__c
  • b3o__End_Date__c
  • b3o__Grade__c
  • b3o__Institution_Name__c
  • b3o__Degree_Program__c

b3o__Reference__c:

  • b3o__First_Name_Referee__c
  • b3o__Last_Name_Referee__c
  • b3o__Email_Referee__c
  • b3o__Phone_Referee__c
  • b3o__Position_Referee__c

Considerations

  • Accuracy: Resume parsing, while technologically advanced, may not always be 100% accurate. Affinda's engine is among the top-tier due to its usage of OpenAI (ChatGPT) but discrepancies might still occur.
  • Candidate Review: Admins should consider integrating a 3B Form to allow candidates the opportunity to review and adjust parsed results. The primary goal is to reduce onboarding time and manual input, not to entirely replace human review.

Additional Tips

  • Version Compatibility: Regularly review updates from both Salesforce and Affinda to ensure compatibility and leverage new features.
  • User Feedback: Encourage feedback from end-users to continuously improve the implementation and adapt to specific organizational needs.