Developers who are using Harvest API to import jobs from an external system and also want to apply custom Job Approval or Offer Approval chains to the job typically use default approvers to streamline the approval flow.
However, if default Approvals can’t be used because the Approvers don’t consistently depend upon Office and/or Department, developers can follow the steps below to pass the approval flow through the Harvest API.
If the users responsible for approvals meet the following criteria, your approval flow can be created using the email address or employee ID for the Greenhouse Recruiting user:
- Users who will grant approval are Site Admins and have permissions to grant jobs and approve jobs/offers
- Users who will grant approvals will be a Job Admin on all future jobs in the relevant office sand departments
See step 4 for more information on this setup.
However, If the users responsible for approvals don't already have the required permissions, you must assign their Job Admin access to each new job, and then create the approval flow.
In this case, the integration should follow all of the steps below to ensure that users have the necessary level of access before adding them to any approval chain.
For more information on Greenhouse Recruiting user permissions, please see our Permissions documentation.
API request steps
GET: List User using the email address or
Employee ID parameter to identify the particular user that you would like the integration to assign as an approver.
The API response will include the user's ID in the "id".
GET: List User Roles to retrieve the Job Admin user role ID that you wish to assign the user.
The API response will include the Job Admin user role ID that you will assign to the Greenhouse user that will be assigned as an approver. For simplicity's sake, we recommend using one Job Admin level for this particular integration.
Assign Job Admin permissions to the user on the job in question before creating the approval flow. Use the
user ID (retrieved in Step 1), the
user_role_ID (retrieved in Step 2), and add the appropriate Job Admin permission for the job to the Greenhouse user using the
PUT: Add Job Permission request.
Once the user has the appropriate permissions on the job, you can create an approval flow including them as one of the approvers via the
PUT: Create or replace an approval flow endpoint. The example below would add a two-step offer approval: the first example contains two required approvals, while the second step contains just one required approval.