Build On GLYDE Unity

Everything you need to create custom AI agents, automations, and integrations. Full API access, MCP protocol support, Voice SDK, and comprehensive documentation.

Model Context Protocol (MCP)

GLYDE Unity implements MCP for standardized, discoverable endpoints that LLMs and AI agents can consume. Build custom agents that understand your recruiting data naturally.

Tool discoveryResource accessSchema exposurePrompt integration

REST API

A comprehensive OpenAPI-documented REST API with 100+ endpoints covering candidates, jobs, applications, communications, search, and workflow orchestration.

Full OpenAPI specTypeScript SDKZod validationWebhook support

Voice Agent SDK

Build custom voice and text experiences with our SDK. Create career site widgets, screening flows, or entirely custom conversational interfaces.

React componentsCDN distributionCustom functionsContext switching

Power Automate Connector

A certified Power Automate connector with 100+ actions for building no-code recruiting workflows. Trigger, transform, and route data across your stack.

Pre-built actionsCustom triggersData transformsTemplate library
For Website Developers

Add Voice & Text Agents to Any Website

Drop-in widgets for career sites and job boards. No backend required — just add a script tag.

Voice & Text Widget

The drop-in JavaScript widget for career sites, job boards, and web pages. One line of code, zero backend setup.

CDN distributionData-attribute config4 display modesLight / dark / autoCSS customizationVoice + text toggle

CDN Embed (one line)

index.html
<script src="https://unpkg.com/@glydeunity/voice-sdk/dist/glyde-chat.umd.js"
  data-publishable-key="pk_..."
  data-context-type="discovery"
  data-display-mode="floating"
  data-theme="auto"
  data-auto-init="true"></script>

Programmatic Init

app.js
GlydeChat.init({
  publishableKey: 'pk_...',
  contextType: 'job_apply',
  contextId: 'job-uuid-here',
  displayMode: 'inline',
  position: 'bottom-right',
  theme: 'dark',
  onReady: () => console.log('Widget ready'),
});

Custom Agents

Build custom AI agents in Unity and deploy them with the voice layer on any website. Same widget, different personality and capabilities.

Custom context typesCustom functionsYour system promptsFull conversation controlServer-side executionAny workflow

Custom Agent Widget

custom-agent.js
GlydeChat.init({
  publishableKey: 'pk_...',
  contextType: 'custom',
  displayMode: 'floating',
  onTranscript: (text, role) => {
    // Handle transcripts in your application
  },
  onClose: () => {
    // Widget closed
  },
});

Styling & Theming

styles.css
:root {
  --glyde-primary: #7c3aed;
  --glyde-background: #ffffff;
  --glyde-text: #1e293b;
  --glyde-radius: 16px;
  --glyde-font: 'Inter', sans-serif;
}

Display Modes

Choose the layout that fits your site. Same widget, different presentation.

yoursite.com/careers
GLYDE Assistant
Hi! What kind of role are you looking for?
Java developer in Austin

Chat button in the corner. Click to expand.

For Application Developers

Full Control with the Voice SDK

Embed voice and text into React apps, mobile apps, and custom platforms. Components, headless classes, events, and full lifecycle control.

React Integration

Drop-in React component with props for full configuration, event handling, and custom dimensions.

ScreeningPage.tsx
import { ChatWidget } from '@glydeunity/voice-sdk';

<ChatWidget
  publishableKey="pk_..."
  contextType="screening"
  contextId={applicationUuid}
  displayMode="inline"
  theme="dark"
  dimensions={{ width: '100%', height: 600 }}
  onTranscript={(text, role) => handleTranscript(text, role)}
  onModeChange={(mode) => updateUI(mode)}
/>

Headless Voice & Text Classes

Full programmatic control without any UI. Build your own interface with complete lifecycle management.

voice-agent.ts
import { GlydeVoice } from '@glydeunity/voice-sdk';

const voice = new GlydeVoice({
  publishableKey: 'pk_...',
  contextType: 'screening',
  contextId: applicationUuid,
});

voice.on('transcript', ({ text, role }) => {
  // Build your own UI
});

voice.on('context_switch', ({ contextType, contextId }) => {
  // Handle automatic journey transitions
});

await voice.start();
text-agent.ts
import { GlydeText } from '@glydeunity/voice-sdk';

const text = new GlydeText({
  publishableKey: 'pk_...',
  contextType: 'discovery',
});

const history = await text.initialize();
const response = await text.sendMessage(
  'Show me Java jobs in Austin'
);

Context Types & Switching

Eight context types cover every candidate journey. The SDK handles automatic transitions between contexts, preserving history.

discovery

contextId: client_uuid

Unknown visitor exploring jobs

job_apply

contextId: job_uuid

Applying to a specific role

screening

contextId: application_uuid

Structured screening interview

candidate_discover

contextId: candidate_uuid

OTP-verified candidate exploring

candidate_apply

contextId: candidate:job

Known candidate applying

recruiter

contextId:

Internal recruiter assistant

custom

contextId:

Custom agent, your prompts

phone

contextId:

Phone agent context

When the server returns a context_switch in function results, the SDK automatically reinitializes with the new context, fires a context_switch event, and preserves conversation history.

Function Calling Architecture

All function execution happens server-side through a strict allowlist. The SDK routes calls to Unity API — never executing locally.

Built-in Functions

find_similar_jobs
create_candidate
create_application
send_candidate_otp
verify_candidate_otp
gather_candidate_preferences

Execution Flow

1
User speaks or types
2
Voice AI processes speech
3
SDK routes to Unity API
4
Server executes (allowlist only)
5
Response flows back to user

Event System

Subscribe to lifecycle events for complete control over the user experience.

Voice Events

opencloseerrorreadyuser_speakingagent_speakingtranscriptcontext_switchmicrophone_ready

Text Events

messagetypingerrorreadyhistory_loadedcontext_switch

Developer-Friendly From Day One

Full TypeScript SDK, OpenAPI specs, and comprehensive documentation. Get started in minutes.

index.ts
import { FlexibleUnityApi } from '@glydeunity/glyde-api-client/flexible';

// Initialize with your API key
const unity = new FlexibleUnityApi({
  baseUrl: 'https://api.glydeunity.com',
  apiKey: process.env.GLYDE_API_KEY,
});

// Search candidates with natural language
const results = await unity.conversationalAISearch({
  query: 'Java developers in Austin, 5+ years',
});

// Get candidate by any identifier format
const candidate = await unity.getCandidateById({
  ats_candidate_id: '12345',
  ats: 'bullhorn',
});

Start Building Today

Get API access and start building custom solutions on GLYDE Unity.