---
title: "Connect Greenhouse and Ninety - APIANT.ai"
description: "When \"Application Updated\" fires in Greenhouse, your agent runs \"Create Issue\" in Ninety."
canonical: "https://apiant.ai/connect/greenhouse-to-ninety"
---

# Connect Greenhouse and Ninety

When **Application Updated** fires in [Greenhouse](https://apiant.ai/connections/greenhouse), your agent runs **Create Issue** in [Ninety](https://apiant.ai/connections/ninety), or **New Issue Created** in Ninety to **Add Attachment to Candidate** in Greenhouse. Describe the whole flow and it is built, tested on every scenario and kept running.

Greenhouse **15** triggers Greenhouse **30** actions Ninety **4** triggers Ninety **21** actions

What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.

## What do you want Greenhouse and Ninety to do together?

Give your AI client this address.

`https://mcp.apiant.ai`

One connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.

### Set it up in your client

### Claude Code

Run this in the directory you want to work in.

`claude mcp add --transport http -s project apiant-ai https://mcp.apiant.ai`

Start Claude Code there, approve the server, and sign in in the browser page it opens.

[Claude Code guide (opens in a new tab)](https://apiant.ai/docs/mcp/claude-code)

### Claude, web and desktop

Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Cursor

Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Zed

Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Codex and the ChatGPT desktop app

Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Any other MCP client

Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

Example flows

## What Greenhouse and Ninety can do together

### From Greenhouse to Ninety

- When **Application Updated** in Greenhouse then **Create Issue** in Ninety
- When **Candidate Updated** in Greenhouse then **Update Issue** in Ninety

### From Ninety to Greenhouse

- When **New Issue Created** in Ninety then **Add Attachment to Candidate** in Greenhouse
- When **New Measurable** in Ninety then **Add Candidate Education** in Greenhouse

Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.

Everything your agent can do with Greenhouse and Ninety

## Triggers and actions 19 triggers · 51 actions

- Trigger

**Application Rejected**

Triggers when an application in Greenhouse is rejected, returning the rejected application with its candidate, job, rejection reason and custom fields.

- Trigger

**Application Updated**

Triggers when an application is created or updated in Greenhouse, including stage moves, rejections and hires.

- Trigger

**Candidate Hired**

Triggers when a candidate's application is marked as hired in Greenhouse, delivering the hired application.

- Trigger

**Candidate Updated**

Triggers when a candidate is created or updated in Greenhouse, returning the candidate's profile, contact details, tags and custom fields.

- Trigger

**Job Updated**

Triggers when a job (hiring plan) is created or updated in Greenhouse.

- Trigger

**New Candidate**

Triggers when a new candidate or prospect is added to Greenhouse.

- Trigger

**New Candidate Application**

Triggers when a new application is submitted or added for a candidate in Greenhouse, optionally limited to specific jobs, stages, sources or statuses.

- Trigger

**New Job**

Triggers when a new job (requisition / hiring plan) is created in Greenhouse.

- Trigger

**New Job Post**

Triggers when a new job post (a candidate-facing listing of a job) is created in Greenhouse.

- Trigger

**New Note**

Triggers when a new note is added to a candidate's profile in Greenhouse, including logged emails and activity entries.

- Trigger

**New Offer**

Triggers when a new offer is created on a candidate's application in Greenhouse.

- Trigger

**New Scheduled Interview**

Triggers when an interview on a candidate's application is scheduled on the calendar in Greenhouse.

- Trigger

**New Scorecard**

Triggers when an interviewer submits a scorecard for a candidate's interview in Greenhouse.

- Trigger

**New Scorecard Due**

Triggers when an interview has taken place and the interviewer's scorecard is still in draft, waiting to be submitted.

- Trigger

**Offer Updated**

Triggers when an offer is created or updated in Greenhouse, including status changes such as accepted or rejected.

- Action

**Add Attachment to Candidate**

Attaches a file (resume, cover letter, offer letter or other document) to a candidate's application in Greenhouse, from a public file URL or base64 file content.

- Action

**Add Candidate Education**

Adds an education entry (school, degree, field of study and dates) to a candidate's profile in Greenhouse.

- Action

**Add Candidate Employment**

Adds a work history entry (employer, job title and dates) to a candidate's profile in Greenhouse. Leave the end date blank to record it as the candidate's current job.

- Action

**Add Tag to Candidate**

Applies an existing tag from your organization's tag list to a candidate. Returns the applied tag record.

- Action

**Convert Prospect to Candidate**

Converts a prospect application into a candidate application on a job, optionally placing it on a chosen interview stage. Returns the new candidate application.

- Action

**Create Application**

Creates a new application for an existing Greenhouse candidate, either on a job or as a prospect application.

- Action

**Create Candidate**

Creates a new candidate in Greenhouse, either applied to a job or as a prospect, and returns the new candidate and their application.

- Action

**Create Interview**

Records an interview that is already scheduled on an external calendar against a candidate's application, at a chosen slot on the job's interview plan. It does not create a calendar event or send invites.

- Action

**Create Job**

Creates a new job in Greenhouse from an existing template job, with the requested number of openings, department, offices and custom field values.

- Action

**Create Job Note**

Adds a note to a job in Greenhouse, written on behalf of the user you choose and visible to job admins or to users allowed to see private job notes.

- Action

**Create Offer**

Creates an offer on an existing Greenhouse application, with an optional start date, opening and offer/compensation custom field values.

- Action

**Create Opening**

Adds a new opening (headcount slot) to an existing Greenhouse job, optionally with your own position id and opening custom field values.

- Action

**Delete Application**

Permanently deletes a single application, along with its interview stages, scorecards and rejection details. The candidate and their other applications are kept.

- Action

**Delete Candidate**

Permanently deletes a candidate along with all of their applications, attachments, scorecards and notes. This cannot be undone.

- Action

**Delete Interview**

Cancels and deletes a scheduled interview in Greenhouse, along with its interviewer assignments and reminders. Only interviews that are scheduled or awaiting feedback can be deleted.

- Action

**Delete Note**

Permanently deletes a note from a candidate's activity feed. This cannot be undone.

- Action

**Delete Opening**

Permanently removes an opening from its job. Only closed openings with no offer and no hired application can be deleted.

- Action

**Find Application**

Returns up to 100 job applications that match a free-text search and/or filters such as candidate, job, stage, source, department, office or hiring team.

- Action

**Find Candidate**

Returns up to 100 candidates and prospects that match a free-text search and/or filters such as job, stage, tag, source or recruiter, plus the first match on its own.

- Action

**Find Due Scorecard**

Finds scorecards that are still due — interview evaluations an interviewer has not yet submitted — for the applications, interviewers or interview kits you specify.

- Action

**Find Job**

Returns up to 100 jobs matching a free-text search term and optional filters such as status, department, office, hiring team member or custom field answer.

- Action

**Find Offer**

Finds offers extended to candidates, filtered by application, candidate, job, opening, status or date, and returns the matching offers plus the first match.

- Action

**Merge Candidates**

Merges a duplicate candidate into another candidate. The primary candidate keeps its profile and absorbs the duplicate's applications, attachments, notes and tags; the duplicate is deleted.

- Action

**Move Application**

Moves an application to a different interview stage on the same job, or transfers it to another job. Stage transition rules, including automated emails, fire as they would in Greenhouse.

- Action

**Reject Application**

Rejects a candidate's application with a rejection reason, optionally sending the candidate a templated rejection email and setting application custom fields.

- Action

**Remove Tag from Candidate**

Removes a tag from a candidate by deleting the applied-tag record. The tag itself stays in your Greenhouse tag list.

- Action

**Unreject Application**

Reverses a rejection on an application, returning it to the in-process state on the stage it was rejected from. The earlier rejection reason and notes are cleared.

- Action

**Update Interview**

Updates a scheduled interview's time, location, video conferencing link, calendar event id, organizer or interviewer panel. Changes the Greenhouse record only and sends no calendar invites.

- Action

**Update Job Post**

Updates a Greenhouse job post: change its public title, replace its description, or publish it (live) or return it to draft.

- Action

**Update Opening**

Updates an opening on a Greenhouse job — its external id, target start date, custom fields, or open/closed status with a close reason.

- Trigger

**New Issue Created**

Triggered when a new issue is created in Ninety, optionally only on one team or only short-term vs long-term issues.

- Trigger

**New Measurable**

Triggered when a new measurable (KPI) is added to your Ninety scorecard, optionally only those tracked over a given period like weekly or monthly.

- Trigger

**New Team**

Triggered when a new team is created in your Ninety company.

- Trigger

**To-Do Created, Updated, or Deleted**

Triggered when a to-do is created or changed in Ninety — including being completed or archived — optionally only on one team or only personal to-dos. Ninety's API does not report hard deletions, so a removed to-do simply stops appearing rather than firing this trigger.

- Action

**Create Issue**

Creates an issue on a Ninety team's issues list.

- Action

**Create Milestone**

Creates a milestone on a Ninety rock, with a title and due date.

- Action

**Create Rock**

Creates a rock (a quarterly goal) for a Ninety team, with a due date, status and level.

- Action

**Create To-Do**

Creates a to-do on a Ninety team, with a due date and optional description.

- Action

**Delete Issue**

Deletes an existing Issue in Ninety by its ID.

- Action

**Delete Measurable Note**

Deletes the note on a Measurable for one scorecard period.

- Action

**Delete Measurable Score**

Deletes the score on a Measurable for one scorecard period.

- Action

**Delete Rock**

Deletes a Rock in Ninety by its ID. Returns the deleted Rock's ID along with the status Ninety returned.

- Action

**Delete To-Do**

Deletes a to-do in Ninety by its ID. Use it to remove a to-do that was created by mistake or is no longer needed.

- Action

**Find Issue**

Searches Ninety for issues matching the words you provide, optionally narrowed to one team or to short-term vs long-term issues. Returns the matching issues.

- Action

**Find Measurable**

Searches Ninety's scorecard for measurables (KPIs) matching the words you provide, optionally limited to a tracking period like weekly or monthly. Returns the matching measurables.

- Action

**Find Milestone**

Searches Ninety for milestones by title. Ninety carries milestones on their rocks, so this reads the rocks (optionally just one team's) and returns the milestones whose title matches, optionally limited to a single rock.

- Action

**Find Rock**

Searches Ninety for rocks (quarterly goals) matching the words you provide, optionally narrowed to one team or one status. Returns the matching rocks.

- Action

**Find Team**

Returns the teams in your Ninety company, optionally only those whose name contains the words you provide. Use it to get the team ID other Ninety actions need.

- Action

**Find To-Do**

Searches Ninety for to-dos matching the words you provide, optionally narrowed to one team, to personal to-dos, or to finished vs open ones. Returns the matching to-dos.

- Action

**Update Issue**

Changes an existing issue in Ninety — its title, detail, team, priority, short-term/long-term setting, or whether it is solved. Fields you leave blank are left as they are.

- Action

**Update Measurable Note**

Saves the note on a Ninety scorecard measurable for one period, replacing any note already there.

- Action

**Update Measurable Score**

Records the score on a Ninety scorecard measurable for one period, replacing any score already there.

- Action

**Update Milestone**

Changes an existing milestone in Ninety — its title, detail, due date, owner, or whether it is finished. Fields you leave blank are left as they are.

- Action

**Update Rock**

Changes an existing rock (quarterly goal) in Ninety — its title, detail, status, owner, team, quarter, due date, or whether it is archived. Fields you leave blank are left as they are.

- Action

**Update To-Do**

Changes an existing to-do in Ninety — its title, detail, due date, owner, team, repeat setting, or whether it is done or archived. Fields you leave blank are left as they are.

## Each app on its own

- [ **Greenhouse** Greenhouse is a hiring software company. We create the technology, know-how and support for your business'...](https://apiant.ai/connections/greenhouse)
- [ **Ninety** Ninety is a platform that helps organizations execute their strategies by aligning goals, managing tasks...](https://apiant.ai/connections/ninety)

Reviews

## What our customers say

## More from Greenhouse

- [ **Greenhouse to HubSpot** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/greenhouse-to-hubspot)
- [ **Greenhouse to Salesforce** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/greenhouse-to-salesforce)
- [ **Greenhouse to Slack** Slack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...](https://apiant.ai/connect/greenhouse-to-slack)
- [ **Greenhouse to Mailchimp** Mailchimp marketing automation and email platform.](https://apiant.ai/connect/greenhouse-to-mailchimp)
- [ **Greenhouse to Stripe** Stripe is a payment processing platform for online businesses.](https://apiant.ai/connect/greenhouse-to-stripe)
- [ **Greenhouse to Shopify** Shopify is a commerce platform for online stores and retail point-of-sale.](https://apiant.ai/connect/greenhouse-to-shopify)

## More into Ninety

- [ **HubSpot to Ninety** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/hubspot-to-ninety)
- [ **Google Sheets to Ninety** Google Sheets](https://apiant.ai/connect/google-sheets-to-ninety)
- [ **Gmail to Ninety** Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...](https://apiant.ai/connect/gmail-to-ninety)
- [ **Google Calendar to Ninety** Google Calendar is a time management tool providing scheduling features, event reminders, and integration...](https://apiant.ai/connect/google-calendar-to-ninety)
- [ **Google Drive to Ninety** Google Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices...](https://apiant.ai/connect/google-drive-to-ninety)
- [ **Mailchimp to Ninety** Mailchimp marketing automation and email platform.](https://apiant.ai/connect/mailchimp-to-ninety)

Questions

## Greenhouse and Ninety, answered

###

### What can start an automation from Greenhouse?

Any of Greenhouse's 15 triggers in the catalog, including Application Updated, Candidate Updated, Job Updated and New Candidate. Describe the moment in plain language and your agent picks the right one.

###

### What can your agent do in Ninety when something happens in Greenhouse?

Any of Ninety's 21 actions, including Create Issue, Create Milestone, Create Rock and Create To-Do. Your agent maps the data both ways and tests every scenario before it ships.

###

### Can it also run from Ninety to Greenhouse?

Yes. When something happens in Ninety, your agent can act in Greenhouse too. This page covers both directions: Ninety's triggers and Greenhouse's actions are listed here as well.

###

### Do I have to build a connector for Greenhouse or Ninety?

No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.

###

### Can my AI client use Greenhouse and Ninety without building an automation?

Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.

###

### What happens when something fails?

Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.

###

### Is there a free plan?

Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.
