What a Self-Service HR Portal (Ask-HR Chatbot) actually does
Answers employee HR questions in natural language by grounding Claude Haiku 4.5 in a RAG'd employee handbook, then escalating PTO balance and paycheck queries to live HRIS API calls rather than LLM inference.
The implementation separates two fundamentally different question types: informational questions ('How many vacation days do I accrue?', 'What is the parental leave policy?') are answered by a RAG pipeline over the employer's handbook and benefits documents; transactional questions ('What is my current PTO balance?', 'When was my last paycheck?') are answered by deterministic API calls to the connected HRIS (BambooHR, Rippling, Gusto, or Workday) with the LLM handling only the final-mile formatting of the retrieved data. This separation is both a quality decision (HRIS APIs are authoritative; LLMs are not) and a compliance decision (HIPAA applies if benefits Q&A touches health information; HRIS data is PII that must not be inferred by a language model).
The market signal for 2026: Moveworks — the category leader — is enterprise-only and quote-based, leaving a structural gap for IT-services agencies and EORs that want to bundle a branded AI Ask-HR chatbot with HRIS implementations for 50–500 employee customers. The compliance load is genuinely lighter than hiring/promotion tools (no NYC LL 144, no Annex III high-risk for pure FAQ use) but escalates the moment the bot starts approving PTO requests or making automated benefits-enrollment decisions — that boundary is the core architectural guardrail.
AI capabilities involved
Natural-language HR Q&A over RAG'd employee handbook and benefits documents
Sensitive-topic classifier for auto-escalation routing (harassment, discrimination, mental health)
Multilingual Q&A support (Spanish primary for US frontline workforces)
Form-filling assistance for FSA claims, address changes, and beneficiary updates
Who uses this
- IT-services agencies that implement BambooHR, Rippling, or Gusto for mid-market customers and want to bundle a branded AI chatbot with the HRIS deployment
- EORs and PEOs adding a self-serve employee portal to reduce HR ticket volume from their client employees
- HR-tech founders targeting the 50–500 employee segment that is too small for Moveworks ($100K+ enterprise implementation) and too large for a simple FAQ bot
- Distributed-team platforms adding multilingual HR Q&A (Spanish for US frontline workforces) as a differentiating feature
- Professional employer organizations (PEOs) that manage HR administration for dozens of small-business clients and want a single branded portal all client employees use
SaaS alternatives on the market
Real products you can sign up for today — with current 2026 pricing, honest pros and cons.
Moveworks
Enterprise IT teams at companies with 1,000+ employees and existing Workday or ServiceNow investments who want a world-class employee-service AI without building it.
None
Enterprise quote-based; floor typically $50,000–$100,000/yr per customer
Pros
- +The category leader for enterprise employee-service AI — pre-built connectors for Workday, ServiceNow, SAP, BambooHR, and 100+ HRIS and IT systems.
- +Conversational AI that can take actions (file a ticket, approve a request, update an address) not just answer questions — the broadest scope of any product in the category.
- +SOC 2 Type II + HIPAA BAA available — satisfies enterprise security and compliance requirements out of the box.
- +Multi-language support with 100+ languages — the strongest multilingual Q&A in the category.
Cons
- −No white-label reseller tier; Moveworks brand is visible to all employees.
- −Enterprise-only pricing ($50K+/yr per customer) makes it economically impossible to resell to 50–500 employee companies.
- −Implementation requires a dedicated Moveworks professional services engagement — not a self-serve deployment.
- −Overkill for customers who only need FAQ Q&A over a handbook; the full platform capability requires ITSM and HRIS integration to deliver ROI.
Leena AI
Mid-market HR-tech vendors or PEOs serving 200–1,000 employee customers who need a partially brandable Ask-HR platform and have the budget for enterprise pricing.
Demo only
Quote-based; Enterprise co-brand on high tiers
Pros
- +Stronger mid-market positioning than Moveworks — serves customers in the 200–5,000 employee range more aggressively.
- +Partial co-brand available on Enterprise tier — the closest to a true WL option among the enterprise incumbents.
- +Native integration with Workday, SuccessFactors, and BambooHR for live PTO and payroll queries.
- +Included HR document management (policy and handbook storage) reduces integration scope.
Cons
- −Co-brand is partial, not full product rebrand — Leena AI product identity remains visible to employees.
- −Pricing opacity makes resale margin planning difficult; enterprise floor is typically $15K–$40K/yr per customer.
- −Implementation timeline (6–10 weeks) reduces the bundling advantage for IT-services agencies doing fast HRIS deployments.
- −Smaller benchmark and training corpus than Moveworks — answer quality on edge-case policy questions is weaker.
Espressive Barista
Enterprise system integrators who already implement ServiceNow HR Service Delivery for large customers and want to add an AI chatbot layer to existing implementations.
None
Quote-based; partial WL on Enterprise
Pros
- +NLP trained specifically on HR domain knowledge — stronger out-of-the-box accuracy on HR-specific questions than general-purpose LLM chatbots.
- +Partial white-label on Enterprise tier (custom portal branding) makes it one of the few realistic reseller options.
- +Strong integration with ServiceNow HR Service Delivery for customers who already use that platform.
- +Intelligent form automation — fills forms based on employee profile data from HRIS.
Cons
- −Espressive's primary market is large enterprises (5,000+ employees); smaller customers are typically redirected to partners.
- −No published pricing; Enterprise WL tier is expensive enough that resale margin for small-business deployments is negative.
- −Limited multilingual support compared to Moveworks and Leena AI.
- −Heavy dependency on ITSM platform (ServiceNow) for full feature utilization — bare-bones without it.
Workday Assistant
Workday HCM enterprise customers who want to maximize their existing investment by adding conversational employee self-service — not a reseller product.
None
Bundled with Workday HCM enterprise contract
Pros
- +Deepest HRIS integration available — direct access to every Workday data field (PTO, payroll, benefits, goals, org chart) without API configuration.
- +Voice-enabled interface for mobile use cases where hands-free interaction matters.
- +Workday's single-tenant security model means customer data never commingles — the strongest data isolation in the category.
- +Continuous learning from employee interactions improves answer accuracy over time within each customer's instance.
Cons
- −Not available as a standalone product — requires an existing Workday HCM contract, pricing it out of the SMB segment entirely.
- −Cannot be white-labeled or resold under a different brand.
- −Configuration is managed by Workday Professional Services; resellers cannot independently implement it.
- −Only useful for Workday-connected data — a customer using Gusto for payroll cannot use Workday Assistant.
The AI stack
The production stack has a hard architectural rule: the LLM handles natural language, the HRIS API handles data retrieval. A language model that infers PTO balances from historical patterns is not an Ask-HR chatbot — it is a liability. Every transactional query must go to the HRIS API; only informational queries should use the RAG + LLM path.
FAQ answer synthesis (informational Q&A)
Answer policy and procedure questions by grounding the LLM in retrieved handbook and benefits document chunks
Claude Haiku 4.5
$1 / $5 per M tokensStandard tier FAQ Q&A for tenants with handbooks under 200 pages and straightforward single-policy questions
Claude Sonnet 4.6
$3 / $15 per M tokensPremium tier complex Q&A or HRIS-integrated queries where answer accuracy is commercially critical (customers paying $10K+/yr for the platform)
GPT-5.4 mini
$0.75 / $4.50 per M tokensCost-sensitive FAQ deployments where the handbook is well-structured and ambiguous cross-policy questions are rare
Our pick: Claude Haiku 4.5 as the default for all FAQ Q&A. Route to Sonnet 4.6 only for queries that the Haiku response explicitly flags as requiring multi-policy synthesis or for premium-tier tenants. The cost difference at typical HR chatbot volume (200 queries/employee/year) is approximately $0.02/employee/year for Haiku versus $0.06 for Sonnet.
Sensitive-topic classifier (escalation routing)
Detect questions about harassment, discrimination, mental health, legal disputes, or termination and route them to human HR reps before the LLM responds
GPT-5.4 nano
$0.20 / $1.25 per M tokensHigh-volume pre-screening on every incoming question before any LLM call is made — the classification cost is ~$0.00003 per question
Claude Haiku 4.5
$1 / $5 per M tokensPremium tier deployments where missing a subtle mental-health or harassment signal carries significant liability
Our pick: GPT-5.4 nano for all initial sensitive-topic pre-screening. If the classifier returns 'uncertain' (confidence < 0.85), escalate to Claude Haiku 4.5 for a more nuanced second-pass classification before routing to the Q&A layer.
Multilingual support
Translate non-English employee questions before handbook retrieval and translate the English-language handbook chunks into the employee's language for the final response
Gemini 3.5 Flash
$1.50 / $9 per M tokensDeployments where code-switching or complex bilingual question framing is common (US restaurant and retail frontline workers)
Gemini 3.1 Flash-Lite
$0.25 / $1.50 per M tokensCost-minimization on high-volume multilingual Q&A where questions are clearly in a single language
Our pick: Default to Claude Haiku 4.5 for US English Q&A. Add Gemini 3.1 Flash-Lite as the translation layer for Spanish-first questions (employee writes in Spanish, system translates to English for retrieval, translates response back to Spanish). Upgrade to Gemini 3.5 Flash only for deployments where code-switching is common.
Handbook embeddings (RAG retrieval)
Embed handbook and benefits document chunks for cosine-similarity retrieval when an employee question comes in
text-embedding-3-small (OpenAI)
$0.02 per M tokensUS-only deployments with well-structured handbooks where retrieval accuracy is not the primary product differentiator
text-embedding-3-large via Azure OpenAI
$0.13 per M tokensEU-facing deployments requiring data-residency compliance, or premium tier tenants with complex, cross-referential policy handbooks
Our pick: text-embedding-3-small for US-only deployments; text-embedding-3-large via Azure for EU-facing deployments or any tenant requiring data-residency guarantees. Index chunks as 300–500 tokens with a 50-token overlap at section breaks to preserve policy context across chunk boundaries.
Reference architecture
The pipeline uses a decision-tree router before every user question: sensitive-topic classification first, then informational-vs-transactional routing, then either RAG + LLM (informational) or HRIS API lookup (transactional). The hardest engineering challenge is per-employee HRIS authentication — the chatbot must authenticate as the specific employee to retrieve their PTO balance, not as an admin — without storing their HRIS credentials in the chatbot's session.
Employee submits a question to the HR chatbot
Next.js frontend (chat interface, embedded in HR portal or Slack)Question arrives with the employee's authenticated session (Supabase Auth tied to their HRIS employee ID). The UI pre-populates the company name and department for context.
Sensitive-topic classifier pre-screens every question before any other processing
GPT-5.4 nano Edge Function (synchronous, <500ms)Classifies the question as 'routine', 'sensitive', or 'uncertain'. 'Sensitive' topics include harassment, discrimination, mental health, legal threats, termination, and hostile work environment. 'Sensitive' routes immediately to human escalation — no LLM answer is generated. 'Uncertain' routes to Haiku for a second-pass classification.
Question is classified as informational or transactional
Claude Haiku 4.5 Edge Function (router call, ~300 tokens)A brief LLM call classifies the question: 'informational' (policy, procedure, general benefits explanation) or 'transactional' (PTO balance, paycheck amount, benefits enrollment status — requires live HRIS data). This classification drives the next step.
Informational questions: retrieve handbook chunks via vector search
Supabase pgvector (handbook_chunks table) + text-embedding-3-smallThe question is embedded and matched against the tenant's handbook corpus (filtered by tenant_id for per-tenant isolation). Top 6–8 most relevant chunks are retrieved with their source section names. If fewer than 3 relevant chunks are retrieved, the fallback prompt instructs Haiku to respond: 'I could not find a specific answer in your company handbook. Please contact HR directly.'
Informational questions: synthesize answer grounded in retrieved chunks
Claude Haiku 4.5 Edge FunctionHaiku generates a conversational answer citing the relevant handbook sections. The prompt strictly instructs the model to answer only from the retrieved chunks and to use the fallback if the chunks do not cover the question. Answer is formatted with the source section names so the employee can verify.
Transactional questions: fetch live data from HRIS API
HRIS connector Edge Functions (BambooHR / Rippling / Gusto OAuth)The employee's HRIS OAuth token (stored encrypted in Supabase with per-employee row isolation) is used to make an authenticated API call to their HRIS. The raw API response (PTO balance in hours/days, paycheck amount, benefits enrollment status) is formatted by Haiku into a conversational response. The LLM never infers HRIS data — it formats only the API response.
Sensitive escalations are routed to the HR team within 5 minutes
Escalation webhook (Slack, email, or in-portal notification)Sensitive-topic escalations create a ticket in the HR team's queue with the employee ID, the question text, and a timestamp. The employee sees: 'This is an important question — I have notified your HR team and they will be in touch within [configured SLA, typically 4 business hours].' The question text is not processed by the LLM.
Form-filling assistance for benefits enrollment and HR data changes
Claude Haiku 4.5 Edge Function + HRIS API write endpointsFor supported form-filling actions (FSA reimbursement, address change, beneficiary update), the chatbot walks the employee through the required fields, confirms the change with a preview ('You are changing your home address to: 123 Main St, Austin TX 78701 — is this correct?'), and then calls the HRIS API write endpoint. A human-approval gate is enforced for any change that affects payroll calculations.
Estimated cost per request
~$0.001 per informational FAQ question (GPT-5.4 nano classification + Haiku RAG synthesis, ~350 tokens total); ~$0.0003 per transactional question (classification only, HRIS API call has no LLM cost); ~$0.01 per nuanced policy question routed to Sonnet 4.6.
Cost calculator
Drag the sliders to model your actual usage. The numbers update in real time so you can stress-test economics before writing a single line of code.
Calculator models the monthly AI API cost for a white-label Ask-HR chatbot serving multiple tenant companies. Unlike most AI products, the dominant cost at scale is HRIS API rate-limit management and handbook re-embedding on updates — not per-question LLM costs.
Estimated monthly cost
$75.00
≈ $900 per year
Calculator notes
- Transactional questions (PTO balance, paycheck history) route to HRIS APIs — no incremental LLM cost. HRIS API rate limits (typically 5,000–10,000 calls/day for BambooHR) are the constraint, not LLM cost.
- Handbook re-embedding on each quarterly handbook update is a one-time cost per tenant: ~$0.02 per 100-page handbook at text-embedding-3-small rates — negligible.
- HIPAA BAA at the Anthropic enterprise tier has no incremental per-call cost over standard API pricing — it is a contract and configuration requirement, not a billing line item.
- At 400 employees × 3 questions/mo = 1,200 questions/mo: total AI cost ~$1.14/mo + $75 infra = ~$76/mo. Revenue at $8–$15/employee/mo generates $3,200–$6,000/mo gross — exceptionally strong margin at this ticket-deflection scale.
Build it yourself with vibe-coding tools
A pure FAQ chatbot over a handbook PDF is the most honest weekend Lovable build in the entire HR cluster. You will have a working demo by Sunday night. The caveat: 'working demo' means FAQ answers from the handbook; live PTO balance requires HRIS OAuth integration that is genuinely 4–6 additional weeks.
Time to MVP
1 weekend for FAQ chatbot over handbook; 4–6 additional weeks for HRIS OAuth integration
Total cost to MVP
$25 Lovable Pro + ~$30 Anthropic credits + free Notion/PDF handbook import
You'll need
Starter prompt
Build a white-label AI Ask-HR chatbot platform called [YOUR BRAND NAME]. The app has three main interfaces: 1. EMPLOYEE CHAT — A clean chat interface where employees can ask HR questions in plain English. The chatbot answers in 2–4 sentences with a 'Sources' panel showing which section of the handbook the answer came from. If the question is about their personal PTO balance, paycheck, or benefits enrollment status, the chatbot responds: 'To check your current [PTO balance / paycheck details / benefits status], log in directly to [HRIS name] — I cannot access your personal account information.' (We handle the HRIS integration in a later step.) If the question sounds sensitive (mentions harassment, discrimination, mental health, termination, or legal threats), the chatbot responds: 'This is an important question. I have notified your HR team and they will reach out within [4 business hours]. You can also [call HR hotline if exists].' and does NOT attempt to answer. 2. HR ADMIN PANEL — For each tenant: handbook upload (PDF → auto-chunked into Supabase pgvector); sensitive-topic escalation config (who receives escalation notifications, via what channel — email or Slack webhook); chatbot name and brand config; conversation log viewer (showing question + answer + whether it was escalated, but NOT the full conversation text for privacy). 3. CONVERSATION LOG (HR admin only) — Shows the count of questions by category (policy, benefits, PTO, sensitive-escalated), trending questions this week, and unanswered/low-confidence questions flagged for handbook improvement. No individual employee question text is visible in aggregate views — only the categories and counts. Tech stack: Vite + React + Supabase (handbook_chunks/conversations/escalations/tenants tables + pgvector for handbook embeddings) + Anthropic Edge Functions (Haiku 4.5 for answers, GPT-5.4 nano for sensitive classification). Per-tenant row-level security: no tenant can see another tenant's handbook chunks or conversation logs.
Paste this into Lovable
Follow-up prompts (run in order)
- 1
Add the handbook ingestion pipeline: when an admin uploads a PDF in the admin panel, extract the text using PDF.js, split it into 400-token chunks with 50-token overlaps, and embed each chunk using text-embedding-3-small. Store chunks in handbook_chunks with tenant_id, section_title (extracted from H1/H2 headings), chunk_text, and embedding. Add a 'Re-embed handbook' button that re-processes the latest uploaded PDF when the handbook is updated quarterly.
- 2
Add the question-answering Edge Function with strict source-grounding: (1) embed the question; (2) retrieve top 6 chunks from handbook_chunks filtered by tenant_id; (3) if fewer than 3 chunks retrieved, return fallback message; (4) call Claude Haiku 4.5 with the retrieved chunks in the context and the instruction 'Answer the employee's question using ONLY the provided handbook excerpts. If the excerpts do not directly address the question, say so and suggest contacting HR directly. Do not use any general knowledge about employment law — only the provided text.'; (5) return answer + chunk source citations.
- 3
Add the sensitive-topic classifier as a pre-screening step that runs on every question BEFORE the handbook retrieval: call GPT-5.4 nano with a classification prompt listing sensitive topic categories (harassment, discrimination, mental health crisis, termination, legal threat, hostile work environment). If the classifier returns 'sensitive' with confidence > 0.85, skip the handbook search and trigger the escalation workflow instead. Log the escalation in the escalations table with employee_id (hashed), question_text, timestamp, and escalation_channel.
- 4
Add Slack-native delivery option: an employee can ask their HR question in Slack by @mentioning the bot. The bot responds in-thread with the same answer + source citation format. Sensitive questions trigger a private DM to the configured HR contact, not a visible thread response. Use Slack Bolt for JavaScript (Edge Function compatible) and store Slack OAuth tokens per-tenant.
- 5
Add the handbook health dashboard for HR admins: analyze the conversation log to find the top 10 most asked questions that received 'I could not find an answer in your handbook' responses. Display these as 'Handbook gaps' with a count and example question. Add a 'Suggest handbook section' button that calls Claude Haiku 4.5 to draft a new handbook section covering the gap, which the HR admin can review and paste into their handbook before the next re-embedding.
Expected output
A working multi-tenant FAQ chatbot with handbook RAG, sensitive-topic escalation, and an HR admin panel. Answers FAQ questions from the handbook with source citations. Does not yet connect to HRIS APIs for live PTO or paycheck data — that requires the additional 4–6 weeks of OAuth integration work.
Known gotchas
- !Lovable's default Edge Function timeout (10 seconds) is too short for embedding + retrieval + LLM synthesis on large handbooks. A 200-page handbook with 600 chunks will sometimes take 12–15 seconds for a complex retrieval. Use Inngest background jobs for handbook ingestion; configure Edge Function timeout extensions for Q&A calls, or pre-warm the embedding index.
- !PDF quality determines answer quality. A scanned handbook (image PDF with no extractable text) produces zero usable chunks. A handbook with inconsistent section headers produces poor retrieval. Spend 30 minutes auditing the customer's handbook structure before starting the RAG pipeline — a clean, well-structured handbook in Google Doc or Word format produces dramatically better retrieval than a scanned PDF.
- !Per-tenant handbook isolation via row-level security (RLS) in Supabase is not optional — it is the first thing to configure before any handbook data is stored. An RLS misconfiguration where all tenants share a single policy is a data-breach risk that will end the business.
- !Employees ask the chatbot questions they would not ask HR directly. This includes union organizing questions, questions about their manager's behavior, and salary negotiation advice. Your escalation logic must catch these even when phrased indirectly, and your terms of service must prohibit employers from using conversation logs to identify which employees asked which sensitive questions.
- !HRIS OAuth flows are the hardest part of the build and are entirely outside what Lovable handles well. BambooHR's OAuth is relatively simple (server-side flow, stable API). Rippling and Workday OAuth are enterprise-grade flows that require a dedicated integration sprint. Scope the specific HRIS before estimating the full build timeline.
- !The 'Do not store employee conversation text in ways that allow employer access' principle is both a privacy design choice and a legal protection for your employees. Design your data model so that conversation content is accessible only to the employee who asked, and to the HR admin only when the employee explicitly shared it or it was escalated as sensitive.
Compliance & risk reality check
An AI Ask-HR chatbot sits outside the most regulated HR categories (no hiring/promotion decisions, no AEDT trigger) but still carries important compliance requirements — particularly around HIPAA if benefits Q&A touches health information, EU AI Act Art. 50 chatbot disclosure, and sensitive-topic escalation obligations.
EU AI Act Art. 50 — chatbot-is-AI disclosure
EU AI Act Article 50 requires that conversational AI systems disclose they are AI to users, effective August 2, 2026 (legacy systems until December 2, 2026 per the May 7, 2026 Omnibus). An HR chatbot deployed for EU-based employees is covered. The disclosure must be clear, not buried in a privacy policy, and must appear at the start of each conversation or in a persistent UI element.
Mitigation: Add a persistent disclaimer in the chat UI: 'Ask-HR is an AI assistant. It answers questions based on your company handbook. For sensitive matters, it will connect you with a human HR team member.' For EU tenants, make this disclaimer non-removable and add a 'You are speaking with an AI system' notice at the start of each new conversation session.
HIPAA — if benefits Q&A touches health information
HIPAA applies when an AI system 'creates, receives, maintains, or transmits' Protected Health Information (PHI) on behalf of a covered entity. An HR chatbot that answers questions about health insurance plans (deductibles, copays, in-network providers, HSA balances) is likely not handling PHI — it is describing plan features. But a chatbot that retrieves an employee's specific health insurance claims history, FSA balance, or medical leave status from the HRIS crosses into PHI territory and requires a Business Associate Agreement (BAA) with both the HRIS provider and the LLM provider (Anthropic enterprise API).
Mitigation: Scope the benefits Q&A feature precisely: plan descriptions and enrollment guidance do not require a BAA; individual claims and medical leave retrieval do. If individual health data retrieval is in scope, obtain a BAA from Anthropic (Claude enterprise API) and enforce zero-data-retention per API call. Configure HRIS API calls for medical leave data through a server-side Edge Function that never sends PHI to the LLM — the LLM formats only non-PHI metadata ('Your FMLA leave starts on DATE').
EU AI Act Annex III — escalates if bot auto-approves PTO or benefits decisions
A pure FAQ chatbot is NOT Annex III high-risk. The escalation to high-risk occurs the moment the chatbot automatically approves or denies requests that constitute employment decisions (PTO approval, leave approval, benefits enrollment changes that affect health coverage). An FAQ chatbot that answers 'Your company's PTO policy allows 15 days annually' is informational; a bot that responds to 'Approve my PTO request for next Thursday' with an approved confirmation is making a consequential employment decision.
Mitigation: Enforce a hard architectural rule: the chatbot can display PTO balances and policy information (informational), but all requests that modify HRIS records require human approval before execution. The UI should explicitly label form-filling actions as 'Submitted for HR approval' rather than 'Completed.' In customer contracts, prohibit configuration of the chatbot to auto-approve any request affecting employment terms.
Sensitive-topic escalation duty of care
An employee who discloses suicidal ideation, reports workplace harassment, or describes a hostile work environment in an HR chatbot conversation has a reasonable expectation that this information reaches a human capable of acting on it — not just an AI response. Failure to route these conversations to a human HR representative within a reasonable timeframe creates both a duty-of-care liability and, in states with mandatory reporting requirements, a legal compliance failure.
Mitigation: Configure the sensitive-topic classifier to route escalations to the HR team with a response SLA (default: 4 business hours). The chatbot must not attempt to answer sensitive questions — it must respond with the escalation message and create a human-visible ticket. For mental-health crisis disclosures (employee expresses thoughts of self-harm), add a secondary escalation to a crisis resource (988 Suicide and Crisis Lifeline) alongside the HR notification, and document this escalation path in your customer agreements.
GDPR Art. 22 + DPIA for EU employee Q&A data
Conversation logs between EU employees and the HR chatbot constitute personal data under GDPR. Storing these logs for audit or product improvement purposes requires a lawful basis and a defined retention period. GDPR's right to erasure (Art. 17) means an employee can request deletion of their conversation history.
Mitigation: Define a conversation-log retention policy (90 days for routine FAQ conversations; 3 years for escalated sensitive conversations for employment-record purposes). Implement a 'Delete my conversation history' button in the employee portal tied to a Supabase RPC that purges conversation records linked to the employee's user ID. Conduct a DPIA before enabling any analytics on conversation content that might involve identifying individual employees.
Build vs buy: the real math
6–10 weeks (FAQ only) / 12–18 weeks (with HRIS integrations)
Custom build time
$13,000–$25,000
One-time investment
3–5 months
Breakeven vs buying
The comparison point for the resell path is Moveworks at $50,000–$100,000/yr per enterprise customer — a price point that prices out the 50–500 employee mid-market entirely. A RapidDev build at $13K–$25K that you resell at $8–$15/employee/mo is recovered at 400 employees in months 3–5. At 400 employees × $10/mo = $4,000/mo gross revenue, with AI costs of ~$76/mo and infrastructure at $75/mo, the operating margin is approximately 96%. The HRIS integration investment ($5K–$15K additional for BambooHR/Rippling OAuth) pays back at the first HRIS deployment bundled with the chatbot — a typical IT-services agency closes at $15K–$30K for an HRIS implementation, and the chatbot bundled at $500/mo adds $6,000/yr per client. As Claude Haiku 4.5 pricing continues downward pressure (Anthropic cut Opus 67% in 2025), per-question costs approach negligible at typical Ask-HR volumes.
Skip the DIY — RapidDev builds the production version
A Lovable MVP gets you a demo. Production needs auth that doesn't leak data, AI calls that don't bankrupt you, observability when models drift, and code you can audit. That's what we ship.
Discovery call (free)
30 minWe map your exact Self-Service HR Portal (Ask-HR Chatbot) use case: who uses it, target volume, AI model choice, integrations, compliance scope. You get a detailed scope document and fixed-price quote within 48 hours.
AI-accelerated build
6–10 weeks (FAQ only) / 12–18 weeks (with HRIS integrations)Our engineers use Claude Code, Lovable, and custom tooling to ship 3–5x faster than agencies. You see weekly progress in a staging environment — not a black box.
Launch + handoff
1 weekWe deploy to your infrastructure, transfer the GitHub repo, set up CI/CD and monitoring, and train your team. You own 100% of the source code, prompts, and model configurations.
What you get
Timeline
6–10 weeks (FAQ only) / 12–18 weeks (with HRIS integrations)
Investment
$13,000–$25,000
vs SaaS
ROI in 3–5 months
30-min call. Fixed-price quote within 48 hours. No commitment.
Frequently asked questions
How much does it cost to build a white-label Ask-HR chatbot?
A FAQ-only chatbot over a handbook — multi-tenant, with sensitive-topic escalation and an HR admin panel — runs $13,000–$25,000 at RapidDev's standard band over 6–10 weeks. Adding live HRIS integration (BambooHR, Rippling, Gusto OAuth for PTO balance and paycheck history) adds $5,000–$15,000 and 6–8 additional weeks depending on which HRIS you are integrating with. Workday integration adds more — typically $10,000–$20,000 — due to Workday's more complex API and authentication model.
How long does it take to ship this?
An FAQ-only chatbot with multi-tenant handbook RAG can ship in 6–10 weeks. A full HRIS-integrated Ask-HR portal with live PTO balance, sensitive-topic escalation, and Slack-native delivery takes 12–18 weeks. The scoping decision that most affects timeline is which HRIS(s) you integrate with — BambooHR is 1–2 weeks of integration work; Workday is 4–6 weeks.
Can the chatbot answer questions about an employee's personal PTO balance or paycheck?
Only with HRIS integration. A language model should never infer or estimate PTO balances from general knowledge — that data must come directly from the HRIS via an authenticated API call. The architecture uses OAuth to make an authenticated call to the specific employee's HRIS record and format the result into a conversational response. Without HRIS integration, the chatbot should respond: 'To check your current PTO balance, log in directly to [HRIS name] — I do not have access to your personal account information.'
Does an AI HR chatbot need to comply with the EU AI Act?
Yes for two distinct requirements. Article 50 (chatbot-is-AI disclosure) applies to any conversational AI system from August 2, 2026 — you must clearly tell EU-based employees they are talking to an AI. Annex III (workers-management high-risk) does NOT apply to a pure FAQ chatbot, but it does apply if the chatbot begins approving PTO requests, making leave decisions, or influencing employment decisions. The architecture must enforce a hard line: informational answers are fine; automated approvals are Annex III high-risk and require human oversight built in.
Can RapidDev build this for my company?
Yes. RapidDev has shipped 600+ applications including HR portals, HRIS integrations, and multi-tenant SaaS platforms. We recommend scoping the specific HRIS integration target and the sensitive-topic escalation workflow with your HR client before starting the build — both have more nuance than they appear in the spec stage. Book a free 30-minute consultation at rapidevelopers.com to discuss your target market (IT-services agency, PEO, or standalone HR-tech) and the HRIS ecosystem you are targeting.
How do sensitive questions get handled — does the AI answer them?
No. The architecture pre-screens every question with a sensitive-topic classifier before any handbook search or LLM call. If the question mentions harassment, discrimination, hostile work environment, termination, mental health crisis, or legal threats, the chatbot immediately responds with the escalation message and creates a ticket in the HR team's queue. The LLM never attempts to answer sensitive questions. This is both an ethical decision and a liability protection — an AI's response to a harassment disclosure or a mental-health crisis cannot satisfy the duty of care that a human HR representative can.
What makes this different from a simple ChatGPT wrapper over a PDF?
Four things: (1) per-tenant handbook isolation — each company's handbook is stored separately in a row-level-secured table, so Company A's employees can never receive answers from Company B's handbook; (2) sensitive-topic classification that routes away from the LLM entirely for any question involving harassment, mental health, or legal matters; (3) HRIS integration for live data retrieval rather than hallucinated answers about personal account information; (4) a fallback instruction that tells the LLM to acknowledge when it cannot find an answer in the handbook, rather than generating a plausible-sounding but potentially wrong policy explanation.
Does the employer have access to read employee conversation logs?
By design, the employer HR admin has access to aggregate analytics (question categories by count, handbook gaps, escalation rates) but not to individual employee conversation content. The only employee conversation content visible to HR is: (1) conversations that were escalated as sensitive (visible to HR because HR needs to respond); (2) conversations that the employee explicitly shared with HR as context. This design choice protects employee trust in the chatbot — employees who believe their manager reads their HR questions will not ask honest ones.
Want the production version?
- Delivered in 6–10 weeks (FAQ only) / 12–18 weeks (with HRIS integrations)
- You own 100% of the code
- AI cost monitoring built in
30-min call. No commitment.