Atlas Greenhouse Harvest API Integration
This guide will help you configure Atlas to authenticate and proxy HTTP requests to the Greenhouse Harvest API.
Greenhouse is an applicant tracking system (ATS) and hiring system that helps organizations manage the hiring process, from job postings and interview scheduling, to offer letters and onboarding.
The Greenhouse Harvest API provides developers with programmatic access to the Greenhouse platform. It can be used to update candidate information, advance, move, and reject candidates, add attachments to candidate profiles, and so on.
At the end of this guide, your running instance of Atlas will be configured to:
Proxy HTTP requests to the Greenhouse Harvest API
Authenticate these requests using one or more Greenhouse API tokens
Availability
Public beta. This integration is available to all Atlas users, but the API may change.
Prerequisites
A running instance of Atlas. See installation guides for more details.
Provision a Greenhouse API token
Click the gear-shaped configure icon in the upper right-hand side of the Greenhouse UI. Choose the Dev Center option in the bottom left corner of the page.
Click the API Credential Management link.
Click the Create New API Key button.
Set API Type to Harvest API, Partner to Custom, and write a description of what you expect the key to do.
Copy the API key and click I have stored the API key.
Specify permissions.
Add Greenhouse Harvest API Integration to Atlas
Once the Greenhouse Harvest API token is provisioned, we will need to make it available to your running Atlas instance. We will do this by:
Adding the Greenhouse Harvest API token to the Atlas configuration as an environment variable, e.g.,
GREENHOUSE_HARVEST_TOKEN
.Configuring the Atlas deployment to use an HTTP adapter that adds the Greenhouse Harvest API token to the
Authorization
header.
Step 1: Encode the Greenhouse Harvest API Token as base 64
In *nix-style systems, we can do something like the following. The trailing :
is important. Basic
auth requires a username and password, delimited by a :
character. The Greenhouse Harvest API token is the username, and the password is empty.
Step 2: Add Greenhouse Harvest API token to Atlas Deployment as an Environment Variable
Choose an environment variable name for the base64-encoded Greenhouse Harvest API token. Generally this is something like
GREENHOUSE_HARVEST_TOKEN
.Add the Greenhouse Harvest API Token you provisioned as an environment variables to your Atlas deployment. The install guides have instructions for how to do this for each deployment method. For example, if you deployed Atlas using ECS, you might add an environment variable
GREENHOUSE_HARVEST_TOKEN
to the Pulumi configuration. If you deployed using Kubernetes, you might add theGREENHOUSE_HARVEST_TOKEN
environment variable to a.env
file.Note the name of the environment variable you chose. We will use this in the next step to configure the HTTP adapter.
Step 3: Add Greenhouse Harvest API Token to Atlas Configuration
We can use the mom
CLI to add the Greenhouse Harvest API Token to the Atlas configuration. Run this command, changing
YOUR_ATLAS_CONFIG.yml
with the path to your Atlas configuration fileGREENHOUSE_HARVEST_TOKEN
to the name of the environment variable you chose in the previous stepYOUR_ADAPTER_NAME
to the name you want to use for the HTTP adapter in Atlas, e.g.,greenhouse
The diff in your version control system should look something like this:
Step 4: Deploy the Updated Atlas Config
The install guides have instructions for how to deploy Atlas into a variety of environments, including Kubernetes and ECS.
Step 5: Test the Integration
Once deployed, we can use the mom curl
command to test the integration. Be sure to replace greenhouse
with the name you chose in the previous step if it is something else.
Common problems
If the Greenhouse Harvest API seems to return an empty string, this is often because the base64 encoding of the API token is incorrect. Be sure to include the
echo -n
flag, and a trailing:
character at the end of the token when base64 encoding it.
Using the integration in a canvas
This integration can be used in Moment by creating a new cell in a Moment canvas, and pasting the following code. Note that you will need to assign httpAdapterName
to the name you chose for the HTTP adapter in the previous step, e.g., greenhouse
or greenhouse-enterprise
.
If the integration is working, you should see a JSON object representing your GitHub user.
Last updated