Recruiting Bot — Setup & How It Works
What Is the Recruiting Bot?
The Recruiting Bot lets you deploy an AI assistant on your careers page or anywhere on your site to help job seekers find open positions, get answers about your company and roles, and submit their contact information to your recruiting team — all automatically, 24/7.
Instead of a static job listing page, candidates have a real conversation: they describe what they're looking for, the bot surfaces matching openings with links, answers questions about the role and company culture, and collects their details so a recruiter can follow up.
How It Works — The Full Picture
Step 1: Job Listings Are Synced Into Velaro
The bot does not query your ATS or careers site in real time during a conversation. Instead, Velaro periodically imports your job listings into its own database so the bot can answer questions instantly and reliably.
You configure a jobs feed URL — this is a URL that returns your current open positions. Velaro reads from it on-demand (Sync Now button) or automatically on a schedule. The synced jobs appear in the Job Listings tab where you can review and manage them.
This architecture means:
- The bot is fast — it queries Velaro's copy, not your ATS
- Your ATS is never overloaded with bot traffic
- The bot works even if your ATS has downtime
- You always see exactly what the bot knows
Step 2: Candidate Has a Conversation
When a visitor starts a chat, the bot:
1. Greets them and asks what kind of role they're looking for
2. Searches your synced job listings and presents matches with direct apply links
3. Answers questions about the company, role, culture, benefits, and process
4. Collects: name, email, phone, work authorization status, availability, and any notes
5. Confirms their interest and tells them a recruiter will follow up
Step 3: Recruiter Gets Notified
When a candidate submits their information, Velaro sends a summary email to your configured recruiter address with all collected details and a link to the full conversation transcript.
ATS Write-Back (Greenhouse & Lever)
After a candidate submits their information, Velaro can automatically push their application directly into your ATS — no manual data entry required.
Supported ATS Systems
- Greenhouse — Job Board API (no credentials needed beyond the API key)
- Lever — Partner API
How It Works
1. A candidate completes the bot conversation and submits their contact info
2. Velaro saves the application locally
3. Immediately after, Velaro writes the candidate profile to your configured ATS
4. The candidate's record lands in your ATS under the job they were interested in — ready for your recruiter to evaluate
Setup
1. Go to Integrations → Recruiting Bot → Setup tab
2. Under ATS Write-Back Configuration, select your ATS type: Greenhouse or Lever
3. Enter your API key (Job Board API key for Greenhouse; Partner API key for Lever)
4. For Greenhouse only: enter your board token (the slug from your Greenhouse board URL: boards.greenhouse.io/{boardToken})
5. Optionally override the job ID (if you want all applications to go to a single job regardless of which one they selected)
6. Click Save
The write-back happens automatically on every application — no further setup needed.
Greenhouse Setup Details
1. In Greenhouse: go to Settings → Integrations → Job Board API
2. Create a new Job Board API key (or use existing)
3. Copy the API key and paste it into Velaro's ATS API Key field
4. Find your board token: navigate to your Greenhouse job board (e.g. boards.greenhouse.io/acme) — the "acme" is your token
5. Save in Velaro — ready to go
Lever Setup Details
1. In Lever: go to Settings → Integrations → Partner API
2. Generate a Partner API key
3. Copy the key and paste it into Velaro's ATS API Key field
4. Save in Velaro — Velaro will route candidates to Lever automatically
Write-Back Guarantees
- Best-effort: write-back never blocks candidate confirmation. If the ATS API is unreachable, the candidate is still confirmed locally in Velaro.
- Logged: all write-back attempts are logged in the Activity Log tab so you can verify success or troubleshoot failures.
- Automatic: every candidate application fires write-back — no manual step required.
Three Ways to Connect Your Jobs
Method 1: Public XML or JSON Feed (Recommended — No Credentials Required)
Most applicant tracking systems and career site platforms publish a public jobs feed for search engines and job boards like Indeed and Google Jobs. This is the easiest setup.
How to find your feed URL:
- Look for a link on your careers site labeled "XML Feed", "Job Feed", or "Sitemap"
- Check
yourcompany.com/jobs.xml,yourcompany.com/sitemap.xml, oryourcompany.com/careers/feed - Ask your ATS vendor for the "job board syndication URL" or "Indeed XML feed URL"
Supported formats:
- RSS 2.0 / Atom feeds
- Google for Jobs XML (common for SuccessFactors, iCIMS, Greenhouse career sites)
- Indeed XML format
- Any JSON array of job objects with title, location, and URL fields
ATS-specific public feed examples:
| ATS | Typical Public Feed URL Pattern |
|---|---|
| SAP SuccessFactors | https://careers.yourcompany.com/sitemap.xml (branded career site) |
| Workday | https://yourcompany.wd5.myworkdayjobs.com/careers (Velaro auto-detects) |
| Greenhouse | https://boards.greenhouse.io/yourcompany/jobs.json |
| Lever | https://api.lever.co/v0/postings/yourcompany?mode=json |
| iCIMS | https://careers.yourcompany.com/jobs/feed.rss |
| SmartRecruiters | https://careers.smartrecruiters.com/yourcompany.json |
Set Feed Format to Auto-detect and Velaro will determine the format automatically.
Method 2: Private ATS API (Full Integration)
For deeper integration, you can connect directly to your ATS's private API. This gives Velaro access to all requisition details, not just what's published publicly.
Supported private APIs:
- SAP SuccessFactors OData v4 — requires a service account API key from your SF admin
- Workday REST API — requires an Integration System User credential
- Generic OAuth JSON feed — any API that returns job data with an API key header
When using a private API, your credentials are stored securely in Velaro and used only for the scheduled sync job. They are never exposed in bot conversations or logs.
Method 3: Manual Job Listings (No ATS Required)
If you don't have an ATS or prefer to manage listings manually, you can enter job postings directly in Velaro:
1. Go to Integrations → Recruiting Bot → Job Listings tab
2. Jobs added here are immediately available to the bot
3. No sync required — the bot reads them directly
This is ideal for small teams, occasional hiring, or when you want the bot to focus on a curated subset of your open roles.
What the Bot Knows (and Doesn't Know)
The bot knows:
- All synced job listings (title, location, department, description, apply link)
- Your company name and description (what you enter in the Setup tab)
- General hiring process information (based on your company description)
The bot does not know:
- Real-time ATS data (interview stages, candidate pipeline status)
- Specific salary ranges (unless included in your job descriptions)
- Internal HR policies not included in your company description
To give the bot more knowledge: Add detail to the Company Description field in Setup. The more context you provide about culture, benefits, growth opportunities, and what makes your company a great place to work, the better the bot performs at encouraging and informing candidates.
Setting Up the Bot Conversation Flow
After configuring your jobs feed, use the Bot Wizard to create the conversation workflow:
1. Click Launch Bot Wizard in the Recruiting Bot settings
2. Choose a template:
- Candidate Intake Bot — Full flow: greet, search, pitch company, collect info, notify recruiter
- Job Search Bot — Fast flow: search jobs, surface links, optional email capture
3. The wizard auto-fills the starter prompt with your company name and description
4. Name your workflow and click Create
5. Assign the workflow to a bot in Bots → AI Configuration
6. Deploy the bot to your careers page using a chat button from Deployments
Keeping Jobs Up to Date
Manual sync: Click Sync Now in the Job Listings tab any time you want to refresh immediately.
What happens on sync:
- New jobs in the feed are added to Velaro's database
- Existing jobs with changed details are updated
- Jobs removed from the feed are marked inactive (the bot stops surfacing them)
- The sync is safe to run at any time — it never duplicates listings
Sync frequency recommendation:
- High-volume hiring (100+ roles): sync daily or more frequently
- Standard hiring: sync when you know your ATS has been updated
- The Job Listings tab shows "Last Sync" time so you always know how fresh the data is
Job Board Listing Lifecycle
With the Job Board add-on package, every listing on the Job Listings tab shows a status (Live, Expiring soon, Expired, Closed, Paused or Not in feed), the date it was posted and the date it expires, in Pacific Time.
Close takes a listing off the job search widget, the recruiting bot and the public job board straight away, and applying to it is refused. A feed sync never reopens a listing you closed.
Renew extends the expiry by the default listing days (30 unless you change it under Listing duration, 1 to 365 days) and republishes a closed or expired listing.
If your feed provides expiry dates they are used. If it does not, a new listing expires after the default listing days. Listings that existed before the package keep no expiry until renewed.
Without the package the Job Listings tab works as before. The same actions are available from the CLI (velaro recruiting jobs close|renew|lifecycle) and MCP tools (jobboard_close_listing, jobboard_renew_listing).
When public applications are on, the Apply button in the job search widget opens an application form inside the widget. Each application is linked to a contact record by email.
Hosted Job Pages
With the Job Board add-on package, the Job Listings tab has a Hosted job pages card. Switch on Publish hosted pages and Velaro gives your site a private, unguessable board link (it never contains your account or site number). The link opens a public job board with search by title and location, and every open listing gets its own page with structured data (schema.org JobPosting) that job search features can read.
The card also gives you a sitemap link (submit it in Google Search Console), an Indeed feed link and a Google feed link. The feed links contain a secret key: share them only with the site that needs them, and use Rotate feed key if one is shared by mistake. Generate a new board link retires the old one and every link that used it (administrators only).
A closed, expired or removed listing answers "gone" on its page and disappears from the sitemap and feeds straight away.
Pay transparency: choose Add pay on a listing to set a minimum, an optional maximum, a currency and a period. It shows on the listing page and in its structured data, and a range you enter is never overwritten by a feed sync. If your feed states pay it is read automatically.
When public applications are on, each listing page has an apply form tied to that listing. If your plan includes EEOC self-identification the form also offers an optional voluntary self-identification block: every answer is optional, answers are stored apart from the application and are only available to administrators through the audited EEOC export.
CLI: velaro recruiting hosted, velaro recruiting hosted rotate-key, velaro recruiting jobs pay <id>. MCP tools: jobboard_hosted_status, jobboard_hosted_set, jobboard_rotate_feed_key, jobboard_set_listing_pay.
Applicant Accounts
With the Job Board add-on package, job seekers can sign in on your hosted job board. They enter their email, tick the privacy notice and receive a six-digit code that works once and expires after 10 minutes. There is no password. After five wrong codes the address is locked out for 15 minutes, and asking for a code never tells anyone whether an account exists.
Signed in, an applicant sees their own applications with a plain status (Received, In review, Interviewing, Offer made, Hired or Not selected), keeps a list of saved jobs, and keeps up to five resumes in a private library. Applying while signed in uses their verified email and can attach a saved resume. Applicants can delete their account at any time: it stops working at once and is erased within a day, while applications already sent stay in your pipeline.
The Applicant accounts card under Hosted job pages shows the sign-in page link and counts only (accounts, recent sign-ins, saved jobs, linked applications). Applicant emails and resumes are never listed there. Resumes are stored privately and a recruiter downloads one from the application, as an attachment.
CLI: velaro recruiting applicants. MCP tool: jobboard_applicant_accounts_status.
Hiring Pipeline Board
The Applications tab is a board with one column per hiring stage. Drag a candidate to another column, or use the Move to stage list on the card if you work from the keyboard. Every site can move candidates between the default stages: Applied, Screened, Interview, Offer, Hired and Rejected. If a move fails, the card goes back and the message shows the exact error.
With the Job board pipeline add-on you also get: your own stages (name them, colour them, reorder, add or remove; a stage that still holds applications cannot be removed), a history on every application showing who moved it and when in Pacific Time (a recruiter, an API key, a case sync or the system), internal notes your team can add, and an assigned recruiter shown on the card.
Without the add-on the board still works and shows a locked banner where history, notes, assignment, stage editing and retention would be.
CLI: velaro recruiting pipeline get|set, velaro recruiting application stage|history|note|assign. MCP tools: jobboard_pipeline_get, jobboard_pipeline_set, jobboard_move_application_stage, jobboard_application_history, jobboard_application_note, jobboard_application_assign.
What Applicants See of Their Status
On the hosted job board, a signed-in applicant sees a status only for the stages you mark Applicants can see, under the name you choose for them. Every other stage shows as In review. Notes, history and the recruiter are never shown to applicants.
EEOC voluntary self-identification stays separate from hiring. It is stored apart from the application, never appears on the board, in a card, a note or the history, and is available only to administrators through the audited EEOC export.
Record Retention
With the Job board pipeline add-on, the Record retention card controls how long applicant records are kept. Records are never deleted before 1 year (2 years for federal contractors), whatever number of days you enter. After that, records past your retention period are removed automatically when Automatic retention is on.
Start with Count only on and use Preview what would be deleted: it reports counts and deletes nothing. Legal hold stops all deletion until you turn it off. Only administrators can change retention or run it.
If an applicant asks to delete their account, the account is erased at once but their application is kept until the legal minimum has passed, then removed by the retention job.
CLI: velaro recruiting retention get|set|run (run previews by default; a real run needs --execute --yes). MCP tools: jobboard_retention_get, jobboard_retention_set, jobboard_retention_run (turning deletion on or lifting a hold needs confirm: true). Turning automatic deletion on in the app asks you to confirm first.
Activity Log
The Activity Log tab records every sync operation, including how many jobs were added, updated, or removed, and any errors encountered. Use this to troubleshoot feed connection issues or verify that a sync ran successfully.
Frequently Asked Questions
Can the bot apply on behalf of the candidate?
No. The bot collects candidate information and sends it to your recruiter. The actual application is submitted through your ATS via the apply link. This keeps your ATS as the system of record and ensures compliance with your existing hiring process.
Does the bot work in multiple languages?
Yes. If Velaro's chat translation feature is enabled on your account, the bot can converse with candidates in their preferred language. Job listings are displayed in the language they were synced in.
Can I use the bot without a careers page?
Yes. You can deploy the recruiting bot on any page — a homepage, a "Work With Us" landing page, or even share the chat link directly in a job posting. The bot works wherever Velaro chat is deployed.
What happens if my jobs feed is temporarily unavailable?
Velaro keeps the last successfully synced job listings active. The bot continues to function using the cached data until the next successful sync.
Can I restrict the bot to specific job categories or locations?
Not automatically in v1 — the bot can search within the synced listings by location and department, but it syncs all active listings from your feed. To limit scope, use a feed URL that only returns the roles you want the bot to know about, or use manual listings to enter only the specific roles you want featured.
Was this article helpful?