Get started
Introduction
Quickstart
Account Setup
Core Features
Candidates
Requisitions
AI Screening New
Sourcing
Pipeline
Client Portal
Automation
Email Sequences
Recruiter AI Beta
Scheduling
Integrations
VAPI (Phone AI)
SendGrid
Stripe
Webhooks & Zapier
API Reference
Authentication
Candidates API
Requisitions API
Webhook Events
Get started

Introduction

Build AI-powered recruiting workflows that source, screen, and place candidates automatically.

What is Unitity AI?

Unitity AI is an end-to-end recruiting automation platform built for staffing firms. It handles the full hiring cycle — from sourcing candidates and running AI phone screens, to managing pipeline, sending offer letters, and invoicing clients.

AI Phone Screening
VAPI places real calls, scores candidates 0–100, and delivers transcripts in minutes
Candidate Sourcing
Search 200M+ profiles on Apollo and PeopleDataLabs with AI match scoring
Client Portal
White-labeled hiring manager portal with real-time AI scores and interview requests
REST API
Full REST API for all resources — candidates, reqs, screens, placements

How it works

Every Unitity AI workflow combines three layers:

AI Layer (VAPI + GPT-4o)
Phone screening, job description generation, natural language req creation, and candidate matching
Workflow Engine
Automated email sequences, interview scheduling, stuck candidate alerts, and weekly digests

Platform architecture

LayerTechnologyNotes
FrontendNext.js 15 (App Router)Server components + client islands
DatabaseSupabase PostgresRow-level security per tenant
AI CallsVAPI + GPT-4oPhone screens + text generation
EmailSendGridTransactional + automated sequences
PaymentsStripePer-seat subscription billing
HostingVercelEdge network, auto-deploy on push
Was this page helpful?
👍 Yes
👎 No
Edit this page
Get started

Quickstart

Get from zero to your first AI screen in under 15 minutes.

1
Create your account
Go to unitityai.com and click "Get Started." Sign in with Google. Your tenant workspace is created automatically.
2
Add your first requisition
Requisitions → New Req. Enter job title, location, salary range. AI generates the full job description.
3
Add a candidate
Candidates → Add Candidate. Upload a PDF or Word resume — fields auto-fill from parsed text.
4
Run an AI screen
Open the candidate profile → AI Screening panel → "Run AI Phone Screen." VAPI places the call if a phone number exists, or runs a text screen instantly.
5
Review results
Phone screens arrive in 15–20 min. Text screens in under 30 sec. See score, recommendation, and full transcript on the profile.
Tip: Enable the daily recruiter briefing in Settings → Email Templates so your team gets a morning pipeline summary automatically.
Was this page helpful?
👍 Yes
👎 No
Core Features

AI Phone Screening

VAPI places real phone calls, conducts structured 15-minute interviews, and returns a scored transcript within minutes.

Score breakdown

ScoreRecommendationAction
85–100Strong HireAdvance immediately to hiring manager
70–84HireAdvance to next round
55–69ConsiderReview transcript before deciding
0–54Do Not AdvanceArchive or re-source

VAPI configuration

.env.localCopy
VAPI_API_KEY=your_vapi_api_key
VAPI_PHONE_NUMBER_ID=your_phone_number_id
VAPI_WEBHOOK_SECRET=your_webhook_secret
Phone format: Numbers must be E.164 (e.g. +13035551234). Unitity auto-converts US numbers but international numbers must be entered in E.164.

Webhook endpoint

EndpointCopy
POST https://unitityai.com/api/sourcing/webhook
Was this page helpful?
👍 Yes
👎 No
Integrations

VAPI Integration

VAPI powers all AI phone screens on Unitity AI — outbound calls, voice conversation, transcription, and scoring.

Setup

1
Create a VAPI account
Sign up at vapi.ai and navigate to API Keys to generate your key.
2
Provision a phone number
VAPI dashboard → Phone Numbers → Buy a number. Copy the Phone Number ID.
3
Set environment variables
Add VAPI_API_KEY and VAPI_PHONE_NUMBER_ID to your Vercel project settings.
4
Configure webhook
VAPI → Settings → Server URL: https://unitityai.com/api/sourcing/webhook

Assistant config

TypeScriptCopy
{
  "model": {
    "provider": "openai",
    "model": "gpt-4o",
    "systemPrompt": "You are screening {name} for {role}...",
    "successEvaluationRubric": "NumericScale"
  }
}
Common error: systemPrompt must be nested inside model{}. Placing it at the top level causes a VAPI 400 error.
Was this page helpful?
👍 Yes
👎 No
API Reference

Authentication

Authenticate all API requests with a Bearer token and your tenant ID.

Base URL

Base URL
https://unitityai.com/api

Headers

HTTPCopy
Authorization: Bearer your_api_key
x-tenant-id: your_tenant_slug

Rate limits

PlanReq/minReq/day
Starter305,000
Professional10025,000
Enterprise500Unlimited
Was this page helpful?
👍 Yes
👎 No
API Reference

Candidates API

Create, read, update, and manage candidates programmatically.

Endpoints

GET/api/candidates
List all candidates. Supports ?stage=, ?req_id=, ?search= filters.
POST/api/candidates
Create a new candidate. Returns candidate with generated id.
GET/api/candidates/[id]
Get a single candidate including AI screen results and activity log.
PATCH/api/candidates/[id]
Update candidate fields. Partial updates supported.
POST/api/candidates/[id]/ai-screen
Trigger AI screen. Returns {"{"} type, status {"}"}.

Example

JavaScriptCopy
const res = await fetch('https://unitityai.com/api/candidates', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${"{"}API_KEY{"}"}`,
    'x-tenant-id': 'your-tenant',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'Jordan Rivera',
    email: 'jordan@example.com',
    phone: '+13035551234',
    req_id: 'req_uuid_here'
  })
});
Was this page helpful?
👍 Yes
👎 No
Get started

Account Setup

Configure your workspace, invite team members, and set up your branding before going live.

Workspace settings

Navigate to Settings → General to configure your company name, logo, and primary color. These are used in white-labeled emails and client portal pages.

Inviting team members

Go to Settings → Team → Invite. Enter an email and assign a role (Admin, Recruiter, or Viewer). Each recruiter seat counts against your plan allocation.

Super admin: The account that created the workspace has super-admin privileges and can manage billing and all team members.
Was this page helpful?
👍 Yes
👎 No
Core Features

Candidates

Add, manage, and track candidates through every stage of your pipeline.

Adding candidates

Three ways: manually via form, by uploading a resume (PDF or Word), or via CSV bulk import. Resume parsing uses GPT-4o-mini to extract name, email, phone, title, company, location, skills, and experience.

CSV import

Candidates → Import CSV. Download the template, populate, and upload. Up to 500 candidates per import with automatic column mapping.

Was this page helpful?
👍 Yes
👎 No
Core Features

Requisitions

Requisitions define the roles you're hiring for. Each candidate is linked to a req and AI screens are scored against it.

Creating a requisition

Requisitions → New Req. Enter title, location, salary range, and a brief description. AI generates the full job description automatically.

Was this page helpful?
👍 Yes
👎 No
Core Features

Candidate Sourcing

AI searches Apollo and PeopleDataLabs to find matching candidates before you post the job.

Apollo setup

.env.localCopy
APOLLO_API_KEY=your_apollo_key
Was this page helpful?
👍 Yes
👎 No
Core Features

Pipeline Management

Track every candidate through your hiring funnel. Move stages inline, see AI scores, and take actions without leaving the list.

Stages

Default: Applied → AI Screened → Interview → Offer → Placed → Rejected. Stage names can be customized per tenant in Settings.

Was this page helpful?
👍 Yes
👎 No
Core Features

Client Portal

White-labeled hiring manager portal — clients review AI-scored candidates and request interviews without touching your recruiter dashboard.

Sending a portal invite

On any candidate profile, click "Send Portal Invite." Hiring manager receives a branded magic link — no password required.

Weekly digest: Subscribed hiring managers automatically receive a Friday pipeline summary email.
Was this page helpful?
👍 Yes
👎 No
Automation

Email Sequences

Automated multi-touch follow-up sequences keep candidates warm from the moment they enter your pipeline.

Default sequence

Day 0 (introduction), Day 3 (check-in), Day 7 (status update), Day 14 (final follow-up). Customize each template in Settings → Email Templates.

Was this page helpful?
👍 Yes
👎 No
Automation

Recruiter AI

Describe what you need in plain English. Recruiter AI builds reqs, sources candidates, and kicks off screens automatically.

Example prompt
"I need 5 React engineers, fintech, remote, $120–150k, starting August 1"
Beta: Available on Professional and Enterprise plans only.
Was this page helpful?
👍 Yes
👎 No
Automation

Interview Scheduling

Zero-friction interview booking — hiring manager requests, AI emails slots, candidate confirms, invite fires automatically.

Was this page helpful?
👍 Yes
👎 No
Integrations

SendGrid

Unitity AI uses SendGrid for all outbound email — follow-up sequences, briefings, portal invites, and offer letters.

.env.localCopy
SENDGRID_API_KEY=SG.your_key
SENDGRID_FROM_EMAIL=recruiting@yourdomain.com
Domain verification: Verify your sending domain in SendGrid → Settings → Sender Authentication for reliable delivery.
Was this page helpful?
👍 Yes
👎 No
Integrations

Stripe Billing

Unitity AI uses Stripe for per-seat subscription management and metered screen overage billing.

.env.localCopy
STRIPE_SECRET_KEY=sk_live_your_key
STRIPE_WEBHOOK_SECRET=whsec_your_secret
Was this page helpful?
👍 Yes
👎 No
Integrations

Webhooks & Zapier

Subscribe to real-time events from Unitity AI to trigger workflows in your own systems or via Zapier.

Events

candidate.created · candidate.stage_changed · screen.completed · placement.created · interview.scheduled · offer.sent

Was this page helpful?
👍 Yes
👎 No
API Reference

Requisitions API

Create and manage requisitions programmatically.

GET/api/requisitions
List reqs. Filter by ?status=open|filled|cancelled.
POST/api/requisitions
Create a new req. AI auto-generates the job description.
Was this page helpful?
👍 Yes
👎 No
API Reference

Webhook Events

Receive real-time event payloads when key actions occur.

PayloadCopy
{
  "event": "screen.completed",
  "tenant_id": "your-tenant",
  "data": { "score": 87, "recommendation": "Strong Hire" }
}
Was this page helpful?
👍 Yes
👎 No
SDKs

SDKs & Client Libraries

Official client libraries for integrating Unitity AI into your own applications.

JavaScript / TypeScript

npmCopy
npm install @unitityai/sdk
TypeScriptCopy
import { UnitityClient } from '@unitityai/sdk';

const client = new UnitityClient({
  apiKey: 'your_api_key',
  tenantId: 'your_tenant',
});

// List candidates
const candidates = await client.candidates.list({ stage: 'ai_screened' });

// Trigger AI screen
await client.candidates.screen('candidate_id');

Python

pipCopy
pip install unitityai
PythonCopy
from unitityai import UnitityClient

client = UnitityClient(api_key="your_api_key", tenant_id="your_tenant")

# List candidates
candidates = client.candidates.list(stage="ai_screened")

# Trigger AI screen
client.candidates.screen("candidate_id")
Coming soon: SDKs are in active development. Join the waitlist at api@unitityai.com for early access.
Was this page helpful?
👍 Yes
👎 No
Changelog

What's New

Recent platform updates, new features, and improvements.

Jul 20, 2026
Feature Blog, Careers & full marketing site launched

7-page marketing site now live at unitityai.com — Platform, Customers, Pricing, Docs, Careers, and Blog pages all deployed.

Jul 18, 2026
Improvement Per-seat pricing model live

Switched from usage-only to per-seat pricing. Starter ($149/2 seats), Professional ($399/5 seats), Enterprise ($899/10 seats). Screen overages at $0.85/screen.

Jul 15, 2026
Feature Recruiter AI — natural language req creation

Type what you need in plain English. Recruiter AI builds the req, sources candidates, queues AI screens, and sends Day 0 emails automatically.

Jul 8, 2026
Feature Hiring Projects — multi-req pipeline view

Group multiple requisitions under one hiring project. Track headcount, budget, and fill progress across every req in a single view.

Jul 3, 2026
Fix VAPI systemPrompt nesting fixed

Resolved a VAPI 400 error caused by placing systemPrompt at the top level instead of nested inside model{}. AI phone screens now initiate reliably.

Jun 28, 2026
Feature Invoice PDF generation on placements

Auto-generate branded invoice PDFs on every placement. Download from the placements page or email directly to the client.

Was this page helpful?
👍 Yes
👎 No
On this page
Next
Quickstart