Integration Documentation: Affinda AI-Powered Resume Parser
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:
- Account Creation: Begin by creating an account with Affinda to obtain the API credentials.
- Affinda Settings:
- Navigate to
Setup
->Custom Settings
->Affinda Settings
. - Fill in the fields "API Key" and either "Collection Id" or "Workspace Id".
- Navigate to
Utilizing the Out-of-the-box ResumeParser
Page
For a straightforward implementation, use the built-in b3o__ResumeParser
Visualforce page:
- Access the "Document Pack" tab.
- Add a new Document and select "External Link" as the document type.
- 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 idworkspace
: Affinda workspace idcollection
: Affinda collection idapi-key
: Affinda API keysuccess-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.