Overview
The below diagram describes the workflow of the BrassRing and HackerRank Interviews integration for recruiters. Recruiters will move a candidate into a custom HackerRank Interview status. Upon entering this status, BrassRing will dispatch a payload to HackerRank via the Candidate Export API. HackerRank will then generate a new Interview URL and Scheduling link and respond back to BrassRing. The Recruiter can use the Interview URL directly in their own scheduling tool. Optionally, they can access the scheduling link to set up a date and time within HackerRank. HackerRank will then send out the calendar invitation automatically. After the Interview has occurred, a link to the Interview report will be sent back to BrassRing via the Form Import API.
Integration Steps
The integration involves a 3-step process:
- Step 1: Configure the Candidate Export to generate the Interview links
- Step 2: Configure the Form Import to accept the Interview links
- Step 3: Configure the Form Import to accept the Interview report url
Configure the Candidate Export to generate the Interview links
Obtain the BrassRing API key from HackerRank for Work
Note: If you are using the BrassRing Tests integration, you can skip this step and reuse the connection for the following candidate exports.
- Log in to HackerRank for Work with the Company Admin user account.
- On the home page, click the drop-down next to the user icon in the top right corner.
- Click Settings.
- On the left pane, click Integrations. The Integrations page is displayed. Scroll down and click Configure on the BrassRing option. You can also search the Integration from the Search bar.
- Click Generate API Token to generate the API token. A unique API Key is displayed.
- Copy this key. You will need to add this key to the BrassRing account to establish the integration.
Note: Ensure to store the API key safely. Once the popup is closed, you cannot retrieve the key again.
URL and Authentication Setup
In BrassRing, create a new Candidate Export payload. It should be sent to the following URL:
PROD: https://ats.hackerrank.com/brassring-codepair/v3/schedule-codepair
STAGE: https://ats.hackerrank.com/brassring-codepair-stage/v3/schedule-codepair
The username for this export should be set to the BrassRing API key generated within HackerRank. (The password field is not used by HackerRank and can be set to any value if it is a mandatory field.)
Note - The API key might be longer than the username and password fields allow. If this is the case, you will need to make a request to your IBM integration representative to have it configured by IBM.
Setup Candidate Export XML Payload
This is the format for the Candidate Export XML that is understood by HackerRank out of the box. You will need to configure Workbench to create a matching XML:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope version="01.00">
<Sender>
<Id></Id>
<Credential>26059</Credential>
</Sender>
<Recipient>
<Id>http://server123.testcompany.com:8044/b2bhttp/inbound/kenexa</Id>
</Recipient>
<!-- Target URL where data will be sent -->
<TransactInfo transactType="data">
<TransactId>HSCAND19681</TransactId>
<TimeStamp>2019-08-23 14:23 PM</TimeStamp>
</TransactInfo>
<Packet>
<PacketInfo packetType="data">
<PacketId>1</PacketId>
<Action>SET</Action>
<Manifest>CODEPAIR_CANDIDATE</Manifest>
</PacketInfo>
<Payload><![CDATA[<?xml version="1.0"?>
<CODEPAIR_CANDIDATE>
<CANDIDATEID></CANDIDATEID>
<REQUISITIONNUMBER></REQUISITIONNUMBER>
<BRREQNUMBER></BRREQNUMBER>
<JOBCODE></JOBCODE>
<STATUS></STATUS>
<EMAIL></EMAIL>
<FIRSTNAME></FIRSTNAME>
<LASTNAME></LASTNAME>
</CODEPAIR_CANDIDATE>
]]></Payload>
</Packet>
<Packet>
<PacketInfo packetType="data">
<PacketId>2</PacketId>
<Action>SET</Action>
<Manifest>CODEPAIR_CANDIDATE_REQEXPORT</Manifest>
</PacketInfo>
<Payload><![CDATA[<CODEPAIR_CANDIDATE_REQEXPORT language="en">
<REQFORM id="111"></REQFORM>
<CHOOSE_CODEPAIR></CHOOSE_CODEPAIR>
</CODEPAIR_CANDIDATE_REQEXPORT>
]]></Payload>
</Packet>
</Envelope>
Mandatory System Fields
Data sent from the Candidate Export:
Field Name |
Format |
Note |
|
Varchar |
This is the candidate email address. HackerRank needs this to tie the interview to the candidate |
FIRSTNAME |
Varchar |
Candidate First Name. |
LASTNAME |
Varchar |
Candidate Last Name. |
Candidate Export Response
Field Name |
Format |
Note |
Long Description |
Varchar |
Schedule link: (link) Interview Link: (short link) |
Send Candidate Export XML Payload Preview to HackerRank
Once the Workbench configuration is complete, generate the sample XML and send to HackerRank for validation.
Configure the Form Import to accept the Interview links
Setup Form Import XML Payload
This is the format for the Form Import XML that is sent from HackerRank out of the box. You will need to configure Workbench to create a matching XML:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope version="01.00">
<Sender>
<Id>HRXMLEMPLID</Id>
<Credential>26059</Credential>
</Sender>
<Recipient>
<Id />
</Recipient>
<TransactInfo transactType="data">
<TransactId>15747</TransactId>
<TimeStamp>2019-08-23 14:26 PM</TimeStamp>
</TransactInfo>
<Packet>
<PacketInfo packetType="data">
<PacketId>1</PacketId>
<Action>SET</Action>
<Manifest>CODEPAIR_LINKS</Manifest>
</PacketInfo>
<Payload><![CDATA[<?xml version="1.0"?>
<form formTypeId="376" formName="HackerRank_CodePair_Results" formId="" action="Insert" resumeKey="" FirstName="" LastName="" email="" homePhone="" language="EN" autoreq="" optionalreq="">
<!--form action can be either "Insert" or "Update"-->
<FormInput name="(generated by BR)" title="CodePair Schedule Link"></FormInput>
<FormInput name="(generated by BR)" title="CodePair Interview Link"></FormInput>
<FormInput name="(generated by BR)" title="First Name"></FormInput>
<FormInput name="(generated by BR)" title="Last Name"></FormInput>
<FormInput name="(generated by BR)" title="Requisition ID"></FormInput>
</FormInput>
</form>]]></Payload>
</Packet>
</Envelope>
Custom Form Fields
Field Name |
Format |
Note |
Interview Schedule Link |
Varchar |
url to schedule the Interview |
Interview Link |
Varchar |
Url to start the interview. This can be pasted into a calendar invitation. |
Send Form Import XML Payload Preview to HackerRank
The following fields are generated by BrassRing and will be environment specific:
- formTypeID field
- formName field
- Each FormInput name field
Once the XML payload is created, you must send a preview XML to HackerRank so the correct identifiers can be send from HackerRank for Work.
Configure the Form Import to accept the Interview report url
Setup Form Import XML Payload
This is the format for the Form Import XML that is sent from HackerRank out of the box. You will need to configure Workbench to create a matching XML:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope version="01.00">
<Sender>
<Id>HRXMLEMPLID</Id>
<Credential>26059</Credential>
</Sender>
<Recipient>
<Id />
</Recipient>
<TransactInfo transactType="data">
<TransactId>15747</TransactId>
<TimeStamp>2019-08-23 14:26 PM</TimeStamp>
</TransactInfo>
<Packet>
<PacketInfo packetType="data">
<PacketId>1</PacketId>
<Action>SET</Action>
<Manifest>CODEPAIR_RESULTS</Manifest>
</PacketInfo>
<Payload><![CDATA[<?xml version="1.0"?>
<form formTypeId="376" formName="HackerRank_CodePair_Results" formId="" action="Insert" resumeKey="" FirstName="" LastName="" email="" homePhone="" language="EN" autoreq="" optionalreq="">
<!--form action can be either "Insert" or "Update"-->
<FormInput name="(generated by BR)" title="Assessment Name"></FormInput>
<FormInput name="(generated by BR)" title="Candidate Status"></FormInput>
<FormInput name="(generated by BR)" title="Feedback"></FormInput>
<FormInput name="(generated by BR)" title="First Name"></FormInput>
<FormInput name="(generated by BR)" title="Last Name"></FormInput>
<FormInput name="(generated by BR)" title="Requisition ID"></FormInput>
<FormInput name="(generated by BR)" title="Date of Assessment"></FormInput>
<FormInput name="(generated by BR)" title="Link to Assessment Summary Page"></FormInput>
</form>]]></Payload>
</Packet>
</Envelope>
Custom Form Fields
Field Name |
Format |
Note |
Feedback |
Varchar |
This is the text that is set during the interview |
Candidate Status |
Varchar |
We will send the status of the interview. For exaple: Qualified, Failed, Evaluation Required |
Report Link |
Varchar |
url to the report |
Send Form Import XML Payload Preview to HackerRank
The following fields are generated by BrassRing and will be environment specific:
- formTypeID field
- formName field
- Each FormInput name field
Once the XML payload is created, you must send a preview XML to HackerRank so the correct identifiers can be sent from HackerRank for Work.