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.
REST API
A comprehensive OpenAPI-documented REST API with 100+ endpoints covering candidates, jobs, applications, communications, search, and workflow orchestration.
Voice Agent SDK
Build custom voice and text experiences with our SDK. Create career site widgets, screening flows, or entirely custom conversational interfaces.
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.
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 Embed (one line)
<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
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 Agent Widget
GlydeChat.init({
publishableKey: 'pk_...',
contextType: 'custom',
displayMode: 'floating',
onTranscript: (text, role) => {
// Handle transcripts in your application
},
onClose: () => {
// Widget closed
},
}); Styling & Theming
: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.
Chat button in the corner. Click to expand.
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.
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.
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(); 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
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.
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.