About Lever Integration
Byteboard’s integration with Lever allows you to seamlessly add Byteboard to a job’s interview plan (CoreEval and CodeCollab). Below are details on how to set-up the self-service Byteboard and Lever integration.
Before you begin
In order to set up the Lever and Byteboard integration, you will need the following permissions across accounts:
- Lever: Super Admin
- Byteboard: Admin
Enabling the Lever and Byteboard integration
To enable the Lever integration, please visit Team Settings at https://client.byteboard.dev/settings/team. You will need to toggle the Lever Integration button to on.
1. Create & Upload Your API Keys
To set-up integration, you will need to create two API keys:
- Initial Setup key
- Permanent API key
To start, follow Lever’s API documentation to set up both API keys including the permissions outlined for each API key below.
- As a Super Admin user in Lever, navigate to Settings > Integrations and API > API Credentials.
- Select Generate New Key in the
Lever API credentials
section to create each of the needed API Keys outlined before
list stages
allows us to identify what ID is used by Lever to represent the interview stage you use for “Byteboard”. The Permanent API Key allows our team to send interview invites to candidates and update Lever with the candidate’s Byteboard results when they are done. Initial Setup Key
The Initial Setup Key needs to be created in Lever. To create the API key:
- Make sure to include all of the listed READ and WRITE permissions below to ensure correct integration functionality (by clicking the related checkboxes in the endpoints sections):
- READ Endpoints Permissions
- WRITE Endpoints Permissions
Expand here for example screenshot of selecting API Key Permissions
Permanent API Key
- Follow the steps outlined above to create the API key
- For the Permanent API key, ensure all of the listed READ and WRITE permissions below to ensure correct integration functionality:
- READ Endpoints Permissions
- WRITE Endpoints Permissions
Expand here for example screenshot of selecting API Key Permissions
- Once you’ve added all the permissions listed above, click DONE at the bottom of the page to save and create the API Key.
- If you would like to give the API Key access to confidential job postings, opportunities, and requisitions in your Lever instance, toggle the Allow access to confidential data. Otherwise, you can leave this toggled off.
- Once API key creation is completed in Lever, add your permanent API key to the team settings page in the Byteboard portal in the permanent key box in Step 1 and click Submit.
2. Configure Stage Changes and Archive Reasons
Configure Stage Changes
- Click the Stage Changes button on the Byteboard Team Settings page under the
Configure Archive Reasons and State Changes
heading.
- Insert your Initial Setup Key, click Submit. You’ll want to keep this API key saved for the Configure Archive Reasons set-up stage.
- You will bedirected to match your company’s Lever stages to the appropriate Byteboard Stages. Select the Lever Stages that should be mapped to the stages listed below and once an option is selected for each, click Map Stages. Below is a recap of the relevant stage names
Byteboard Stage | Pipeline stage to send CoreEval interview |
Onsite Stage | Pipeline stage immediately following CoreEval interview (applicable even if your organization does not have an onsite stage label |
Offer Stage | Pipeline stage that indicates candidate has received an offer. |
Note, the Byteboard Stage, Onsite Stage, and Offer Stage must be mapped in order for Lever integration to work. Only one value may be selected for each category, and a Lever stage can only be mapped to a single Byteboard Stage.
Configure Archive Reasons
- Click the Configure Archive Reasons button on the Byteboard Team Settings page under the
Configure Archive Reasons and State Changes
heading.
- Upload your Initial Setup Key and click Submit.
- You will be directed to match your company’s Lever archive reasons to the appropriate Byteboard Archive Reason. Select the Byteboard Offer Status option that should be mapped to each of the Lever Archive Reasons stages by clicking the arrow next to that Archive Reason and selecting the appropriate value (e.g., if a candidate is archived in Lever with the reason Underqualified, you may choose to map that value to the Byteboard ‘Rejected’ value for the candidate’s Offer Status).
Expand here for example screenshot of the completed Lever Archive Reasons mappings
- Each archive reason must be mapped in order for the Lever integration to work.
- Your candidates’ Byteboard Offer Status data will begin to populate automatically via the integration for future candidates once they are archived in Lever
The following chart shows some common archive reasons that are utilized in Lever:
Byteboard Lever Integration Field | Lever Archive Reason Examples |
Rejected | Not a fit, Underqualified, Preferred another candidate, Overqualified, Keep for future opportunities, Motivations Misalignment,
Misaligned values, Plagiarism, Junior for role |
Withdrew | Withdrew |
Offer Accepted | Hired |
Offer Declined | Offer declined, accepted another offer |
Not Applicable | Duplicate application, Unresponsive, Timing, Position closed, Location, Visa Status, Better for another role, Compensation Misalignment, Expired, Distance |
3. Set Up Web Hooks
Webhooks allow Lever to send requests to Byteboard when certain actions are taken by users in Lever. For example, when you put a candidate in the Byteboard Stage on Lever, Lever sends us a leverStageChange event so that we know to send a Byteboard CoreEval interview invitation to the candidate.
Follow Lever’s How to set up webhooks documentation and complete the steps below to set up the two web hooks needed for the integration.
- Navigate to Settings > Integrations and API > WEBHOOKS.
- You will need the urls from the Byteboard Team Settings page under
SETUP WEBHOOKS
- Create one webhook for the Candidate State Change event (leverStageChange)
- A. Toggle on the Candidate State Change event and click + Add webhook
- B. Copy the State Change web hook URL from the Byteboard portal by clicking the Page icon next to it
- C. Paste the Stage Change URL from the Byteboard Team Settings page (step 3 in Lever setup) directly into the Lever URL box
- D. Copy the Signature token for the State Change web hook and store it in a secure place
- Create one webhook for the Candidate Archive State Change event (leverArchiveChange)
- A. Toggle on the Candidate Archive State Change event and click + Add webhook in that section
- B. Copy the Archive Change webhook URL from the Byteboard portal by clicking the page icon next to it
- C. Paste the Archive Change URL from the Byteboard Team Settings page (step 3 in Lever setup) directly into the Lever URL box
- D. Copy the Signature token for the Archive Change web hook and store it in a secure place
- Create one webhook for the Interview Created event (leverInterviewCreated)
- A. Toggle on the Interview Created event and click + Add webhook in that section
- B. Copy the Interview Created webhook URL from the Byteboard portal by clicking the page icon next to it
- C. Paste the Interview Created URL from the Byteboard Team Settings page (step 3 in Lever setup) directly into the Lever URL box
- D. Copy the Signature token for the Interview Created web hook and store it in a secure place
NOTE: You only need to create this webhook if you are using Byteboard CodeCollab
Verify Connection
in Lever on the web hook page), the request will fail. This is expected and does not mean your integration does not work. 4. Set Up Byteboard Tags
Candidate tags communicate to Byteboard which CoreEval Assessment Type you would like a candidate to receive. You can view assessment types at https://client.byteboard.dev/assessments/coreeval.
To set up Byteboard tags:
- Visit the Byteboard Team Settings page to find tags under the Setup Byteboard Tags section
- Add these tags to a candidate record in Lever.
- To add a tag, click the paper icon (copy) next to the desired Byteboard CoreEval assessment type to the right, and paste it as a tag on the candidate record in Lever
A few notes on Byteboard tags:
- Tags must be used for all candidates that you are inviting to take Byteboard CoreEval interview through Lever; if tags are not used, Byteboard is unable to identify which CoreEval interview type to send to the candidate. Once you’ve added a tag to at least one candidate in Lever, the tags should auto-populate for future candidates you’d like to invite to the same interview type.
- Byteboard tags must be added to a candidate before the candidate is moved to the Lever stage that is mapped to Byteboard Stage, or else the Byteboard CoreEval interview invite will not be delivered.
- If you add new Byteboard CoreEval interview type to your account at any point via https://client.byteboard.dev/assessments/coreeval, visit the Byteboard Team Settings page in to copy over the new tag to Lever for use.
- Tags are case sensitive and must match exactly how they are displayed in team settings page.
5. Upload Your Signing Tokens
Signing tokens are used to verify that a request to Byteboard originated in Lever. This ensures third parties cannot attempt to use the webhook urls to send invitations on your behalf.
To upload your signing tokens:
- Follow Lever’s instructions on Securing webhooks documentation to generate signing tokens and copy them. You will need to generate one for each web hook (stage change and archive reason). Reference 1. Create & Upload Your API Keys to view where you can access the signature tokens and copy them over from in Lever
- Upload your tokens to the Byteboard Team Settings page under
Upload Your Signing Tokens
Once you’ve copied and pasted the three signature tokens, click Submit to save.
Note, Byteboard will indicate once you have already submitted your signing token(s).
Testing the Lever Integration
To test the Lever integration, follow the steps outlined below to send a test candidate a Byteboard CoreEval interview from your Lever instance and view the end-to-end data that is transmitted via the integration. If you are interested in testing the Lever integration please contact support@byteboard.dev to complete the steps below:
- Create a test candidate in Lever using the email of your Byteboard point of contact.
- Using the Byteboard team member’s email address ensures that we can “take the interview” and grade it according to complete the test
- Apply a tag from the 4. Set Up Byteboard Tags section of your Byteboard Team Settings page to the test candidate record in Lever.
- You can use the corresponding tag for any of the Interview Types you have set up in your Byteboard account. Note, the Byteboard tag must be added to the candidate before moving forward with next step.
- In Lever, move the candidate to the pipeline stage corresponding to Byteboard Stage. Note, this is the stage in your Lever instance that you mapped to correspond with sending the Byteboard CoreEval interview invites.
- Verify that there is a note in the Byteboard stage in the Lever UI indicating that the invite was sent.
This note will appear on the Lever candidate record — expand below for example image
- Your Byteboard point of contact will verify once the test candidate was processed correctly. This includes “taking the test CoreEval interview” and “grading the test CoreEval interview”
- Verify that there is a note in the Byteboard stage in the Lever UI with the candidate’s completed CoreEval interview information.
This note will appear on the Lever candidate record — expand below for example image
- Move the test candidate to the onsite stage in Lever. Note, this should be the Lever pipeline stage that was mapped to correspond with Byteboard’s Onsite Stage.
- Reject the test candidate in Lever. Select an Archive Reason that was mapped to a corresponding Offer Stage option in your Byteboard portal.
After completing the steps above, your Byteboard point of contact will verify that the candidate’s next steps and offer status were updated and set correctly according to the integration configuration.
Cleanup (optional)
Delete the Setup API Key (optional)
Once your Lever integration setup is complete and your Byteboard representative has verified that everything is working as expected, you can delete the Setup API key in your Lever instance (the key with the setup permissions)