An External ID is an optional free-text field available on Offices and Departments that allow your organization to assign non-Greenhouse alphanumeric identifiers to each of your Greenhouse Offices and Departments. This External ID is intended to improve third party integrations by allowing customers to assign unique department and/or office identifiers that tie to an external/third party system. In this article, we will cover how to:
Add External ID to Office(s)
To add an External ID to an Office in your organization, click the Configure icon in the upper right-hand corner and select Organization on the left-hand panel.
Navigate to the Offices section and hover over the name of an office. Click the Edit icon .
From the Edit Offices dialog box, use the provided External ID field to input an External ID for the office. Click Save when finished.
Repeat as necessary for other Offices in your organization.
Add External ID to Department(s)
To add an External ID to a Department in your organization, click the Configure icon in the upper right-hand corner and select Organization on the left-hand panel.
Navigate to the Departments section and hover over the name of a Department. Click the Edit icon .
From the Edit Departments dialog box, use the provided External ID field to input an External ID for the Department. Click Save when finished.
Repeat as necessary for other Departments in your organization.
External ID in API Requests (for developers)
Additionally, you can make an API call for all jobs in a specific Office and/or Department by adding the
external_department_id query string parameters, for example:
curl -X GET \ 'https://harvest.greenhouse.io/v1/jobs?external_office_id=OFFICE_123&external_department_id=DEPT_ABC' \
-H 'Authorization: Basic *****' \
External IDs also remove the need to maintain a separate mapping of IDs between applications, and allow you to directly assign or update a job’s Office or Department using External IDs (instead of Greenhouse Office or Department IDs) via the POST Create Job and PATCH Update Job API endpoints. For example:
curl -X POST \
-H 'Authorization: Basic ****' \
-H 'Content-Type: application/json' \
-H 'on-behalf-of: 123456 \
"job_name": " Example API Job",