goodfitdocs

Integrations

Connecting Keka Hire to Goodfit

Sync candidates from your Keka jobs into Goodfit assessments, and send every result back to their Keka profile automatically.

Connect once, link a job, and the loop runs on its own. You keep working in Keka; Goodfit handles the assessing.

How it works

  1. You link a Keka job to a Goodfit assessment job.
  2. Candidates sync from the Keka job every 5 minutes and appear in your Prospects column, with their resume pulled and screened.
  3. Invites go out on the trigger you choose: on arrival, on a pipeline stage, or by hand.
  4. Results return to Keka as notes on the candidate's profile: the resume score first, the full assessment result when it's ready.

Before you start

You'll needWhere it comes from
Keka global admin accessTo generate API credentials
Keka subdomainThe first part of your Keka URL, e.g. goodfit in goodfit.keka.com
Client ID, Client Secret, API keyGenerated in Keka (Step 1 below)
A Goodfit admin or owner loginOnly they can open integration settings

Step 1: Generate API credentials in Keka

  1. In Keka, open Global admin settings → Integrations and Automations → API access.
  2. Create an API key. Select the Hire scopes.
  3. Copy the Client ID, Client Secret, and API key.

Step 2: Connect Goodfit to Keka

  1. In Goodfit, open Settings → Integrations → Keka Hire.
  2. Enter your subdomain, pick the environment, and paste the three credentials.
  3. Click Connect. Goodfit verifies the credentials against Keka before saving, so a typo surfaces immediately.
The Keka Hire connection form asking for the Keka subdomain with a .keka.com or .kekademo.com picker, a client ID, a client secret and an API key
Three fields from your Keka admin settings, and the connection is live.

Click Link a job, pick the Keka job to watch, then make two choices:

Which job runs the assessment?

OptionBest when
Create it from this Keka jobYou don't have the role on Goodfit yet. Title, description, location and experience arrive as a draft. You add hiring stages and assessments, then publish.
Use a job that already existsThe role is already set up on Goodfit with its assessments.

When should candidates be invited?

TriggerWhat it does
As soon as they are added to the Keka jobEvery new candidate is invited automatically.
When they reach a specific pipeline stageOnly candidates you move into that Keka stage (e.g. Screening) are invited.
Invite nowManual, per candidate, from the Recent activity table. Works with either trigger.
The Link a Keka job dialog with a Keka job selected, a choice between creating the assessment job from the Keka job or using an existing one, and a dropdown for when candidates are invited
Pick the Keka job, choose where the assessment runs, and decide the moment invites go out.
  • Every synced candidate lands in the job's Prospects column with their Keka resume pulled and screened: a score out of 10 with the reasoning.
  • The Recent activity table on the integration page shows each candidate's progress:
StatusMeaning
SyncingPicked up from Keka, being processed
In prospectsOn your board, screened, waiting for a trigger or Invite now
QueuedInvite trigger fired, email on its way
InvitedInvite email sent, assessment in progress
Result sentFinal result posted back to Keka
SkippedNot synced, usually no email on the Keka profile
FailedSomething went wrong; hover the row for the reason, then use Retry invite
The Keka Hire integration page showing a connected tenant syncing every five minutes, two linked jobs with stage triggers, and a recent-activity table of candidates in prospects with Invite now buttons
One page runs the whole loop: the connection, the linked jobs, and every candidate the sync has picked up.

What lands back in Keka

On each candidate's Keka profile, under their notes:

  • Resume screening score: Goodfit resume screening: 7/10 with the reasoning, as soon as screening finishes.
  • Assessment result: section scores, proctoring flags if any, a verdict tag (Qualified, Not qualified, Hired, Rejected), and a link to the full candidate report. Anyone on your team can open the report link, no Goodfit login needed.

Troubleshooting

  • "Keka rejected these credentials": re-check the subdomain and environment, and confirm the API key has the Hire scopes.
  • A candidate shows Skipped: their Keka profile has no email address. Add one in Keka; they're picked up on the next sync.
  • "No resume found in Keka": the candidate syncs anyway and can still be invited. If a resume is uploaded to Keka later, Goodfit attaches and screens it automatically.
  • A pipeline stage is missing from the picker: the picker lists stages seen on this job's candidates plus Keka's standard ones. A brand-new stage appears once any candidate has reached it: move one there in Keka, then use Refresh in the picker.
  • Invites aren't going out on an imported job: the job arrived as a draft. Add hiring stages and assessments, then publish it; pending candidates are invited on the next sync.
  • Pausing: the switch on a linked job pauses everything for that job (invites and result notes). The connection-level switch pauses the whole integration. Nothing is lost; syncing resumes where it left off.

Need help? Chat with us via the icon in the bottom right. Share the candidate's name and the status you see, and we'll sort it out.

Related articles: