Greenhouse integration with Webflow

Push Greenhouse jobs to Webflow elements directly via attributes.

<script src="https://cdn.jsdelivr.net/gh/hellomaxkurylo/GreenhouseClient@main/universe-2-0.js"></script>
<script>
window.runGreenhouseClient('YOUR_GREENHOUSE_API_ENDPOINT_HERE');
</script>
Copy Script

Setup

To use the library, include the link to file in your web project. This can be done by adding a script before </body> tag.

<script src="https://cdn.jsdelivr.net/gh/hellomaxkurylo/GreenhouseClient@main/universe-2-0.js"></script>
Copy Script

Initialization

To initialize the GreenhouseClient, you need to call the runGreenhouseClient method with your specific API endpoint as its argument. This is typically done after your web page's content has fully loaded. Replace 'YOUR_GREENHOUSE_API_ENDPOINT_HERE' with the actual API endpoint URL from which you want to fetch /departments or /jobs data.
Example: https://boards-api.greenhouse.io/v1/boards/{board_token}/departments

<script>
window.runGreenhouseClient('YOUR_GREENHOUSE_API_ENDPOINT_HERE');
</script>
Copy Script

Elements Structure Requirements

The GreenhouseClient library requires specific elements to be present in your document with custom attributes to function correctly. Here is a brief overview of the required structure:

Departments Setup

Step #1 Departments Container: An element with the attribute name gw-departments-container to serve as the container for all department items.

Step #2 Department Item Template: An element with the attribute name gw-departments-item inside the departments container. This serves as a template for each department item. This element will be cloned for each department and should contain placeholders for department-specific data.

Step #3 Department Title: Within the department item template, an element with the attribute name gw-departments-title for displaying the department's name. You can also use an element with the attributegw-departments-quantity to display the number of jobs in a department.

Jobs Setup

Step #4 Jobs Container: Within the department item template, an element with the attribute gw-jobs-container to serve as the container for job items.

Step #5 Job Item Template: Within the jobs container, an element with the attribute gw-jobs-item that serves as a template for each job item. This element should contain placeholders for job-specific data.

Step #6 Job Title: Within the job item template, an element with the attribute gw-jobs-title for displaying the job title.

Step #7 Job Location: Within the job item template, an element with the attribute gw-jobs-location for displaying the job location.

Step #8 Apply Link: Within the job item template, an anchor element with the attribute gw-jobs-apply for the job application link.

Filtering.

Note: Filtering is only available with departments setup, /departments.

Step #9 Filtering by departments: Add a Form element where you want the department filter dropdown to appear. Inside this form, include a select element. Set the attribute of the select element to gw-filter-departments . You can optional add the first option as "All Departemnts", but it should be added automatically. You can check it in Sample #1.

Examples (Clonable)

Sample #1

Departments with jobs and filtering by departments.

Sample #2

Jobs only.

Sample #3

Departments with jobs and quantity.

Sample #4

Departments with jobs (accordion).

FAQ's

What is GreenhouseClient?

GreenhouseClient is a JavaScript class designed to fetch and display job or department data from a Greenhouse API endpoint on Webflow website. It dynamically populates Webflow elements with the fetched data.

What API endpoints are supported?

GreenhouseClient supports two types of API endpoints: Endpoints that contain /departments for fetching department data with jobs. Endpoints that contain /jobs for fetching job items only.

What happens if the API endpoint is invalid?

If the API endpoint does not contain /departments or /jobs, an error will be logged to the console indicating that the endpoint is invalid.

What if my interactions doesn't work with elements?

The data is retrieved after the page is fully loaded. Therefore, to ensure that your element animations work properly, you need to re-initialize the Webflow interaction after the GreenhouseClient has been executed. For example, you can use setTimeout. Check out Clonable Sample #4.

Need custom integration? Contact us!

Get a Custom Integration for your Greenhouse job board. We’ll provide a solution tailored to your needs.

Allow users to sort through job listings based on department, location, or other criteria in Greenhouse.
For example, showing details like /careers/job-id
Not required
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.