Into Greenhouse

What Shuttio writes into Greenhouse, where each part of a candidate's record lands, what to set up first, and what a rollback leaves.

Last updated: 7 Nov 2026

Sources that can move into Greenhouse: Greenhouse, Lever, Workable, Recruitee, SmartRecruiters, Teamtailor. A migration is free under 5,000 records in total: contacts, companies, deals, notes, activities and files together; otherwise it is priced by the number of candidates. The sample is free. See pricing.

Object by object: What objects are supported for Greenhouse migrations.

How the move runs

  1. Choose the source and Greenhouse on the first step, then connect both. Greenhouse takes Harvest v3 credentials (Client ID and Client Secret), made in Greenhouse under Dev Center, API Credential Management.
  2. The next step lists what moves. Nothing is ticked or unticked: a candidate comes with everything attached.
  3. Run the sample: 5 candidates with all their applications and everything attached. Open them in Greenhouse and check.
  4. Run the full migration, or roll the sample back.

Where each thing lands

Part of the recordHowIn Greenhouse
JobsNativeA job with the same name is used as it is. A missing job is created from a template job, with its department and offices when they exist. The interview plan comes from the template.
CandidatesNativeMatched by email, else created. A candidate you already have is linked and left untouched. Greenhouse sets the created date itself; the original date is in the profile note.
ApplicationsNativeWith stage, source, recruiter and the original applied date. Rejected applications are rejected with their reason; hired ones are hired against an open opening, or stay open when the job has none. Stage history is in the details note.
NotesNativeWritten as notes under the original author when Greenhouse has a user with the same email. Greenhouse cannot set a note's date, so the original date is the first line of the text.
FeedbackNativeWritten as scorecards when the interviewer is a Greenhouse user, the job has an interview kit and the source gives the interview date. Without those three: a dated note on the application.
InterviewsNoteA note on the application with date, place and panel. Greenhouse's API has no way to import a past interview.
OffersPrivate noteA private note on the application with status, dates and fields. Offers hold salary, so the note is not public. Greenhouse's API cannot write an offer's sent and decided dates.
FilesNativeUploaded as attachments on the application: resumes and cover letters by type, the rest as other. A file the source no longer serves is named in the details note.
EEO answersPrivate noteA private note on the application, with every answer including no answer. Harvest has no EEO write. Without the permission to see private notes, the row fails; the answers are never written public.

Native means a field or object of the destination holds it. Note means the destination has no place for it, so Shuttio writes it as text in a note, with the original date and author in the text. Nothing the source holds is dropped.

Set up first

  • Create the jobs you want the applications to join, with the interview stages the source uses. Greenhouse's API cannot create stages: an application whose stage is missing fails its row.
  • Keep one template job (Jobs, Job templates), or name the one to copy in the Template job field. Greenhouse's API creates a job only from a template.
  • Create the rejection reasons and the sources the source uses. Greenhouse's API cannot create them: a missing reason fails the row, and a missing source is named in the details note.
  • Tick every scope Shuttio lists when you make the credentials. A missing required scope stops the connection, and the message names it.

A row that needs one of these fails with a sentence that names what to create. Create it, then Retry: only the missing parts are written.

Matching and re-runs

  • A candidate is matched by email before it is created. A match is linked and left as it is, and a rollback does not remove it.
  • Every source record is remembered, so a re-run or a Retry writes only what is missing.

Known limits

  • Greenhouse sets a candidate's created date, an application's rejection date and a hire date itself. The original dates are in the notes.
  • An application with no job in the source (a prospect) is kept as a note: Greenhouse holds an application only with a job.
  • Scorecard answers are in the scorecard's notes, not mapped to your kit's questions.
  • Custom fields, education and answers from the source are written in the profile or details note, not as Greenhouse custom fields.
  • Departments and offices are matched by name; none are created.

Rollback

  • Notes, files and tag assignments the migration wrote are deleted.
  • Applications the migration created are deleted, with their scorecards, rejection details and stage rows.
  • Candidates the migration created are deleted, with everything on them. Candidates you already had are not touched.
  • Tags the migration created are deleted.
  • Jobs the migration created stay: Greenhouse's API cannot delete a job. The summary counts them, and you close or delete them in Greenhouse.

How rollback works: Roll back.

Not answered here? Email help@shuttio.com.