IBM Kenexa BrassRing - Interviews Integration

Last updated: December 27, 2024

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.  

  1. Log in to HackerRank for Work with the Company Admin user account.  

  2. On the home page, click the drop-down next to the user icon in the top right corner.

  3. Click Settings.

    settings.png
  4. 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.

    integ_brassring1.png
  5. Click Generate API Token to generate the API token.

    integ_brassring_api.png

    A unique API Key is displayed.

    integ_brassring_api_token.png
  6. 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

EMAIL

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.