Integration

Gem integration

Gem is a recruiting platform. Through its CRM API you can search, create and update candidates (prospects), add them to sourcing projects, log notes and outreach events, upload resumes, manage custom and project fields, and read users and outreach sequences. Through its ATS API (accounts with Gem ATS enabled) you can read and update jobs, applications, openings, offers, scorecards, scheduled interviews, sources and locations, create ATS candidates with applications, and move applications between stages. Candidate records hold personal contact data. Enabling or disabling Gem users and the two deprecated candidate-event listings are not exposed. Authentication is a team API key, created by a team admin under Team Settings, sent in the X-API-Key header; ATS writes also name the acting Gem user.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Gem.Built from the 84 Gem tools below, on the connection you add once.

What you can do with Gem

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Candidate, 12 operations

  • add_project_candidatesAdd project candidatesPUTAdds CRM candidates to a project. Gem answers 400 listing the candidate_ids already in the project. Returns no content on success.
  • create_ats_candidateCreate ats candidatePOSTCreates an ATS candidate, and optionally applications to jobs, with name and at least one email. Gem answers 409 if the candidate already has an active application on the job. To add a CRM prospect use create_candidate.
  • create_candidateCreate candidatePOSTCreates a CRM candidate (prospect) with name, emails, profile links, work and education history, custom field values and projects to join. A known linked_in_handle returns 400 with the existing candidate. Returns the candidate.
  • delete_candidateDelete candidateDELETEPermanently deletes a CRM candidate. on_behalf_of_user_id names the Gem user deleting; permanently_remove_contact_info true also stops the contact info from being added back to Gem.
  • get_ats_candidateGet ats candidateGETReturns one ATS candidate with personal contact data (emails, phones, social links), attachments, education, employment and applications.
  • get_candidateGet candidateGETReturns one CRM candidate with personal contact data (emails, phone, profiles), work and education history, custom fields and projects.
  • list_ats_candidatesList ats candidatesGETLists ATS candidates filtered by creation or update time, job, email or ids. Returns personal contact data (emails, phones, social links) and applications.
  • list_candidatesList candidatesGETSearches CRM candidates, filtered by creation or update time, creator, email, LinkedIn handle or ids. Returns personal contact data (emails, phone, profiles).
  • list_project_candidatesList project candidatesGETReturns a list of all candidates in the project given the project_id. Supports search parameters `added_after`, `added_before`.
  • remove_project_candidatesRemove project candidatesDELETERemoves CRM candidates from a project (the candidates are not deleted). Gem answers 400 listing the candidate_ids not in the project. Returns no content on success.
  • update_ats_candidateUpdate ats candidatePATCHUpdates an ATS candidate's name, company, title, phone numbers, email addresses or social media links; only the fields you pass change. Returns the candidate with its contact data.
  • update_candidateUpdate candidatePUTUpdates a CRM candidate; only the fields you pass change: name, emails, title, company, location, school, profile links (replaced), phone, due date and custom field values. Returns the candidate.

Option, 8 operations

  • create_custom_field_optionsCreate custom field optionsPOSTAdds options to a single_select or multi_select CRM custom field. Values that already exist return 400 listing them. Returns the new options.
  • create_project_field_optionsCreate project field optionsPOSTCreates a new project field option.
  • get_custom_field_optionGet custom field optionGETReturns an option in a `single_select` or `multi_select` custom field.
  • get_project_field_optionGet project field optionGETReturns a project field option by ID.
  • list_custom_field_optionsList custom field optionsGETReturns a list of all custom fields options in a `single_select` or `multi_select` custom field.
  • list_project_field_optionsList project field optionsGETReturns a list of all project fields options in a `single_select` or `multi_select` project field.
  • update_custom_field_optionUpdate custom field optionPATCHHides or unhides an option of a single_select or multi_select CRM custom field (options cannot be deleted). Returns the option.
  • update_project_field_optionUpdate project field optionPATCHUpdates a project field option's visibility by ID.

Scheduled interview, 6 operations

  • create_scheduled_interviewCreate scheduled interviewPOSTRecords a scheduled interview on an ATS application: interviewers, start and end times, and the id of the event in your calendar system. Returns the scheduled interview.
  • delete_scheduled_interviewDelete scheduled interviewDELETEDeletes a scheduled interview. Only interviews scheduled through the ATS API, in status scheduled or awaiting_feedback, can be deleted.
  • get_scheduled_interviewGet scheduled interviewGETGet a scheduled interview by its `id`.
  • list_application_scheduled_interviewsList application scheduled interviewsGETLists all of the scheduled interviews for the specified application.
  • list_scheduled_interviewsList scheduled interviewsGETLists all of a team's scheduled interviews. Pending or cancelled interviews are not included.
  • update_scheduled_interviewUpdate scheduled interviewPATCHUpdates a scheduled interview (interviewers, start, end, location, external event id). Only interviews scheduled through the ATS API, in status scheduled or awaiting_feedback, can be updated.

Note, 5 operations

  • create_ats_candidate_noteCreate ats candidate notePOSTAdds a note to an ATS candidate's activity feed, private to its author or public to the team. Returns the note.
  • create_noteCreate notePOSTAdds a note to a CRM candidate, written by the Gem user in user_id, optionally private. Returns the note.
  • delete_noteDelete noteDELETEDeletes a note by its ID.
  • get_noteGet noteGETReturns the note object with the note ID.
  • list_candidate_notesList candidate notesGETReturns a list of note objects on the given candidate and supports pagination and search parameters `created_after`, `created_before`.

Custom field, 4 operations

  • create_custom_fieldCreate custom fieldPOSTCreates a CRM custom field (text, date, single_select or multi_select) for the whole team or one project. A field with the same name in the scope returns 400 with the existing field.
  • get_custom_fieldGet custom fieldGETReturns the custom field object with the corresponding ID.
  • list_custom_fieldsList custom fieldsGETReturns a list of all custom fields. Supports pagination and search parameters `created_after`, `created_before`.
  • update_custom_fieldUpdate custom fieldPATCHRenames a CRM custom field or hides it. A name already used in the scope returns 400 with the existing field. Returns the field.

Job, 4 operations

  • create_jobCreate jobPOSTCreates a new draft ATS job by copying a template or other job (template_job_id) with number_of_openings openings. Optional fields override the copied values; job_post_name renames or creates the first job post. Returns the job.
  • get_jobGet jobGETGet a job by its `id`.
  • list_jobsList jobsGETLists all of a team's jobs.
  • update_jobUpdate jobPATCHUpdate a job's fields. All body fields are optional; only fields present in the body will be modified.

Opening, 4 operations

  • create_openingsCreate openingsPOSTCreates one or more openings on an ATS job, one per element of openings; an empty list creates nothing. Returns the created openings.
  • get_openingGet openingGETGet an opening by its `id`.
  • list_openingsList openingsGETLists all of a team's openings.
  • update_openingUpdate openingPATCHOpens or closes an opening of an ATS job (status open or closed, with close_reason_id and closed_at when closing) and sets or clears its custom field values. Returns the opening.

Project, 4 operations

  • create_projectCreate projectPOSTCreates a CRM sourcing project owned by a Gem user, with a name, description and privacy (confidential, personal or shared). Returns the project.
  • get_projectGet projectGETReturns the project object with the corresponding ID
  • list_projectsList projectsGETReturns a list of all projects on the team and supports pagination and search parameters `created_after`, `created_before`.
  • update_projectUpdate projectPATCHModifies a project based on ID. Only the fields included in the request argument will be modified.

Project field, 4 operations

  • create_project_fieldCreate project fieldPOSTCreate a new project field.
  • get_project_fieldGet project fieldGETReturns a project field with the coresponding id.
  • list_project_fieldsList project fieldsGETReturns a list of all project fields. Supports pagination and search parameters `created_after`, `created_before`.
  • update_project_fieldUpdate project fieldPATCHUpdate a project field with the corresponding id.

Application, 3 operations

  • get_applicationGet applicationGETGet an application by its `id`.
  • list_applicationsList applicationsGETLists all of a team's applications.
  • update_applicationUpdate applicationPATCHUpdates an ATS application; the field it accepts is source_id (the source the application is credited to). Returns the application.

Event, 3 operations

  • create_candidate_eventCreate candidate eventPOSTLogs a manual touchpoint event (an outreach or reply outside Gem) on a CRM candidate, in a project and sequence. An inmail event on a pending InMail sequence stage marks that stage as sent.
  • delete_candidate_eventDelete candidate eventDELETEDeletes an event by its ID. **NOTE**: only `manual_touchpoints` events can be deleted currently.
  • get_candidate_eventGet candidate eventGETReturns the event object with the corresponding candidate ID and event ID.

Scorecard, 3 operations

  • create_scorecardCreate scorecardPOSTCreates a scorecard: a prospect scorecard without interview_id, or the scorecard of a scheduled interview with one (refused if already submitted). It is submitted unless draft is true.
  • get_scorecardGet scorecardGETGet a scorecard by its `id`.
  • list_scorecardsList scorecardsGETLists all of a team's scorecards.

User, 3 operations

  • get_ats_userGet ats userGETGet a user by its `id`.
  • list_ats_usersList ats usersGETLists the ATS users with name, email, admin and disabled flags, departments and offices.
  • list_usersList usersGETLists the CRM users (team members) with their name and email; filter by email.

Hiring team, 2 operations

  • add_hiring_team_membersAdd hiring team membersPOSTAdds users to the hiring team roles of an ATS job without removing anyone; users already in a role are skipped. Pass only the roles to add to. Returns the updated job.
  • replace_hiring_teamReplace hiring teamPUTReplaces the members of the hiring team roles you pass on an ATS job: users not in a passed list are removed, and removals cascade to the job's posts. Roles left out are unchanged. Returns the updated job.

Job stage, 2 operations

  • get_job_stageGet job stageGETGet a job stage by its `id`.
  • list_job_stagesList job stagesGETLists all of a team's job stages.

Offer, 2 operations

  • get_offerGet offerGETGet an offer by its `id`.
  • list_offersList offersGETLists all of a team's offers.

Project field option, 2 operations

  • list_project_field_valuesList project field valuesGETLists the project field values set on a CRM project: for each field its id, option id or text, type and whether it is hidden or required.
  • update_project_field_valuesUpdate project field valuesPOSTSets or clears a project field value on a CRM project: operation add with options (option ids) or text, or operation remove (options to remove for multi_select).

Sequence, 2 operations

  • get_sequenceGet sequenceGETReturns the sequence object with the corresponding ID.
  • list_sequencesList sequencesGETReturns a list of sequences that match all of the provided search criteria.

Source, 2 operations

  • get_sourceGet sourceGETGet a source by its `id`.
  • list_sourcesList sourcesGETLists all of a team's sources.

Uploaded resume, 2 operations

  • list_candidate_resumesList candidate resumesGETReturns a list of all resumes uploaded for the candidate given the candidate ID. Resumes can be downloaded through the `download_url`. Not all resumes have `filename` stored.
  • upload_candidate_resumeUpload candidate resumePOSTUploads a resume file (.pdf, .doc or .docx, at most 10 MB) to a CRM candidate, as the Gem user in user_id. Returns the uploaded resume with its download_url.

Data export, 1 operation

  • get_latest_data_exportGet latest data exportGETReturns the most recent API data export: its id, creation time and files. Nightly exports land in your own storage bucket instead.

Email, 1 operation

  • create_ats_candidate_emailCreate ats candidate emailPOSTAdds an email (from, to, cc, subject, body) to an ATS candidate's activity feed. The reference does not say whether Gem delivers it, so treat it as possibly sending a real email.

Job post, 1 operation

  • list_job_postsList job postsGETLists all of a team's job posts.

Move, 1 operation

  • move_applicationMove applicationPOSTMoves an ATS application from its current job stage (from_stage_id) to another stage of the same job (to_stage_id). Returns the updated application.

Office, 1 operation

  • list_officesList officesGETLists all of a team's locations.

Project candidate membership log, 1 operation

  • list_project_candidate_membership_logList project candidate membership logGETThis endpoint allows fetching the membership log for a project or candidate. At least one filter (`project_id` or `candidate_id`) must be specified.

Stage, 1 operation

  • list_job_stages_for_jobList job stages for jobGETLists all of the stages for the specified job.

Use Gem from Claude Code, Cursor or Codex

Connect Gem in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Gem operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Gem

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Gem once

    Add your Gem connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Gem integration FAQ

What can you do with the Gem integration?

LiveContext exposes 84 operations on Gem, covering candidate, option, scheduled interview and note.

Popular integrations

Browse the whole catalog