FlowRunner
PricingContact
Theme
Start Free

Testlify

HR

Connect AI agents to Testlify, a skills assessment platform for hiring. Agents create assessments, invite candidates, and pull results so screening runs automatically and shortlists build themselves.

Verified 12 actions API key available
Testlify website ↗ Platform Documentation ↗ Capability data verified 2026-08-10
A deadline extension is requested for an assessment that already has candidates in progress
Agent runs Get Assessment to capture the current settings in full
Agent runs List Assessment Candidates to count who has already completed the test under those settings
Agent builds the full replacement payload and diffs it against the current configuration field by field
Hiring lead receives the diff, highlighting proctoring, full screen, and domain restriction changes
Lead confirms which settings are intentionally being reset before Update Assessment Settings runs

What This Integration Enables

Testlify sells a specific promise: that a skills assessment beats a resume as a first filter. Building on its API means taking that promise seriously, and the API is shaped for it. An assessment is a composed object, not a document. Create Assessment takes a list of test library IDs and assembles them into a single test in draft status, with extra time, attempt count, full screen enforcement, a deadline, notification recipients, and AI insight generation as settings on top. Search Test Libraries browses the catalog with filters on difficulty, job role, language, and whether the tests are Testlify's or your own, and Search Job Roles resolves a role name to the ID those searches accept. A hiring team that already knows the shape of a role can have a matching assessment composed by a flow rather than assembled by hand.

The candidate side is equally direct. Invite Candidates takes a batch of email, first name, and last name entries and returns per candidate validation results with a unique candidate ID and a short invite link for each valid entry, with an optional source tag and a scheduled send time. List Assessment Candidates pages the candidates on one assessment with filters on status and stage and returns their scores, ratings, and invitation timing. List All Candidates does the same across the workspace. Get Candidate Result returns a candidate's score, average score percentage, completion status, and a link to the PDF report, with optional export as CSV, XLS, XLSX, or PDF. Get Candidate Assessments answers the other direction, listing every assessment a given person has been associated with along with the attempt index.

The one thing to design around carefully is Update Assessment Settings. It is a full replace, not a patch. Any setting omitted from the payload is reset to its default. That single fact governs how a flow should touch a live assessment, and it is why this connector treats a settings change as a reviewed operation rather than a routine write.

Without FlowRunner

Screening depends on a reviewer's time Every candidate waits for a person to read their work before the pipeline moves
Assessments assembled by hand each role A hiring manager rebuilds a similar test from scratch for a similar opening
Test conditions drift without a record A setting is changed mid campaign and nobody can say who sat which version

With FlowRunner

Screening runs as candidates arrive Invite Candidates sends the test and Get Candidate Result returns the score without a queue
Assessments composed from the library Search Test Libraries and Create Assessment build the test from catalog components
Configuration changes are reviewed The full settings replacement is diffed and approved before it touches a live assessment

Use Case Scenarios

Role Opens, Assessment Composes Itself

A requisition is approved for a role the team has hired for before. The agent runs Search Job Roles to resolve the title to a role ID, then runs Search Test Libraries filtered by that role, the required difficulty, and the language. It runs Create Assessment from the selected library IDs with the attempt count, extra time allowance, and notification recipients the team uses as standard. The assessment is created in draft. The hiring lead reviews the composition in Testlify, and only then does the flow begin inviting. Composing the test stops being a task somebody schedules a meeting about.

Applicant to Scored Candidate

Applications land in the applicant tracking system. As each one clears the basic screen, the agent runs Invite Candidates with the applicant's email and name and the source tagged to the job board they came from, and writes the returned candidate ID back to the application record in Greenhouse. On a schedule it runs List Assessment Candidates filtered to completed status, and for each new completion runs Get Candidate Result to pull the score, the average score percentage, and the PDF report link. The score and the report link are attached to the applicant record, and a ranked digest goes to the recruiter in Slack. Candidates are read in score order rather than arrival order.

Cross Role Candidate History

A strong candidate is rejected for one role and considered for another six weeks later. Instead of re-testing them from scratch, the agent runs Get Candidate Assessments to list every assessment that person has already been associated with and the attempt index for each, then runs Get Candidate Result for the relevant ones. If a recent assessment already covers the required skills, the agent proposes reusing the result rather than sending a second invitation, and posts the prior scores with their dates so the hiring lead can judge whether they are still current. Candidates stop being asked to prove the same thing twice.

Human-in-Loop Highlight

Update Assessment Settings replaces the entire settings object, so any field left out of the payload reverts to its default. An agent asked to extend a deadline by a week can, in one successful call, also switch off full screen enforcement, drop the proctoring requirement, clear the domain restriction, and remove the notification recipients. Every one of those changes applies to candidates who have not sat the test yet, while the ones who already finished sat it under the old rules. The result is a scored cohort that is no longer comparable, and nothing in the API flags that it happened. So the agent never sends a partial-looking payload. It runs Get Assessment to capture the current configuration, builds the full replacement, runs List Assessment Candidates to see how many people are already invited or in progress, and routes the diff to the hiring lead: "Extending the deadline on [assessment] to [date]. This is a full settings replace. It also changes proctoring from required to off, full screen from enforced to off, and clears the domain restriction, because those fields are not in the payload. [N] candidates have already completed under the current settings. Approve, or restore these fields first?" Composing assessments, inviting candidates, and pulling results run without a pause. Changing the rules of a test that people are already sitting gets a human-in-the-loop review.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

12 actions

Assessments

4
  • List Assessments Lists assessments in the workspace with pagination, free text search, and sorting, filtered to active, draft, editable, or archived. Returns the total count and a page of summaries including candidate counts and completion totals.
  • Get Assessment Retrieves the full configuration of a single assessment by ID, including title, status, job role, total time, the test libraries it contains, proctoring settings, the public invite link, deadline, and allowed number of attempts. Read this before any settings change.
  • Create Assessment Composes a new assessment from one or more test libraries. Provide a title and the list of test library IDs, plus optional extra time, attempt count, full screen enforcement, deadline, notification recipients, and AI insight generation. The assessment is created in DRAFT status.
  • Update Assessment Settings Replaces the settings of an existing assessment. This is a full replace, so any settings omitted are reset to their defaults. Used to configure invitation link validity, deadlines, start and end windows, proctoring requirements, snapshot capture, notification recipients, domain restrictions, and redirect behavior. Routed for sign-off whenever candidates are already invited.

Candidates

3
  • Invite Candidates Invites one or more candidates to an assessment by email. Each invite requires an email, first name, and last name. Returns per candidate validation results including a unique candidate ID and a short invite link for valid entries. Optionally tags the source and schedules when the invitations are sent.
  • List Assessment Candidates Lists the candidates associated with a specific assessment, with pagination, search, and sorting. Optionally filters by candidate status or by candidate stage. Returns scores, ratings, status, stage, and invitation timing for each candidate.
  • List All Candidates Lists all candidates across the workspace with pagination, search, and sorting, optionally filtered by assessment ID, email, or candidate status. Returns each candidate with their test and assessment counts, the assessments they belong to, and when they were last seen.

Results

2
  • Get Candidate Result Retrieves the result of a specific candidate for a specific assessment, including the achieved score, average score percentage, completion status, and a link to the PDF report. Optionally requests a specific report type or a downloadable file in CSV, XLS, XLSX, or PDF format.
  • Get Candidate Assessments Retrieves all assessments a specific candidate has been associated with, including the assessment name, assessment ID, candidate ID, and the attempt index. Used to find prior results before sending a duplicate invitation.

Test Libraries and Roles

2
  • Search Test Libraries Searches the Testlify test library catalog with pagination and free text search, optionally filtered by difficulty level, job role, language, or whether the tests are Testlify provided or your own. Returns matching libraries with their title, overview, difficulty, question count, and time limit.
  • Search Job Roles Searches Testlify's catalog of job roles by name, returning matching roles with their ID, name, numeric code, template availability flag, relevance score, and localized translations. Use a role ID to filter library searches or to build assessments targeting a specific role.

Workspace

1
  • Get Profile Summary Retrieves a summary of the connected workspace, including organization details such as name, workspace URL, subscription plan and expiry, trial and paid status, and brand color, plus the authenticated user's role, name, email, and time zone. Used to verify the connection before a flow runs.

Frequently Asked Questions

What can FlowRunner do with Testlify?

FlowRunner agents can run List Assessments, Get Assessment, and Create Assessment in Testlify, plus 9 more actions.

Does connecting Testlify to FlowRunner require OAuth?

No. Testlify connects to FlowRunner with an API key, no OAuth flow required.

Can Testlify trigger a FlowRunner workflow automatically?

Testlify doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Testlify

$100 in credits. No card required. Connect in minutes.