Skip to main content
This page collects the questions our support team hears most, with short answers and links to the full guide. We add to it as new questions come in. If yours isn’t here, email support@heymilo.ai or use the in-app chat. New to HeyMilo? Start with Self-Serve Onboarding and the Getting Started Checklist.

Getting started

How do I create my first interview workflow?
  1. On the dashboard, click Create Interviewer.
  2. Start from a job description, a job posting URL, or a quick-start template, then click Generate Interview Plan.
  3. Review the basics: URL name, position title, agent identity, language.
  4. Add stages (Form, Resume, SMS, Voice/Video). Drag to reorder. A cost projector shows the estimate as you add stages.
  5. Set Essential Settings, click Preview, run Test Now, then Create Interview & Generate Questions.
Two tips: the job description generates your questions but isn’t passed into the live interview on its own, so put what matters in Context. And keep voice interviews to about 5–7 questions for better completion. See Creating an Interviewer. How long does it take to set up my first interviewer? Most teams have one live in under 30 minutes. Starting from a template is faster still. Can I use a template instead of building from scratch? Yes. Templates save your flow, questions, scoring, qualification rules, and defaults so similar roles launch quickly. Find them under AI → Interview Templates. You can create one from scratch, save an existing interviewer as a template from its card, click Use Template to spin up a new agent, or star one as your workspace default. Editing a template only affects future agents. See Interview Templates. Generate Interview Plan failed or came back blank. What should I do?
  • Add a fuller job description: title, requirements, location, must-have skills. A few lines is often too thin.
  • If you used a posting URL, paste the JD text instead and try again.
  • Start from an Interview Template or quick-start template, then edit.
  • Still failing? Send support a screenshot and whether you used JD text or a URL.
How many interviewers can I have active at once? No limit. Create as many as you have open roles. Is HeyMilo Red part of my HeyMilo account? No. HeyMilo Red is a separate product: a developer API for running fraud detection on video you already have, documented at heymilo.red/docs. It isn’t connected to HeyMilo Blue, the platform covered on this site. The login, API keys, and data are all separate. See HeyMilo Blue vs. HeyMilo Red.

Testing before you go live

Can I test the interview before sending it to candidates? Yes, and you should. Two ways:
  • While building: Preview checks flow order, messages, branding, and wording. Test Now (bottom of any Questions & Scoring section, or on the live agent overview) checks scoring, dealbreakers, Form → Enforce Criteria, voice pacing, resume logic, and integrity behavior.
  • After publish: open the live interview link and go through it yourself. That’s exactly what candidates get.
“Going live” means the agent is published and the link works for candidates. Test Now stays available after publish. For a realistic read, have a few real people answer in full; one-word test replies hide how the AI follows up. Test Now failed or says I have no credits. What should I do?
  1. Go to Settings → Billing and confirm your plan is active and you have credits for this cycle.
  2. Retry Test Now on the stage that failed.
  3. If only one stage fails, test the others separately to narrow it down.
  4. Confirm the interviewer is saved and the stage has questions generated.
  5. If billing looks fine and it still fails, send support a screenshot, the interviewer name, and which stage you were testing.
See Billing and Troubleshooting. How do I test SMS before going live? SMS can’t be fully tested in Test Now the way voice and video can. Use Preview for the intro, follow-ups, disqualification, and call-invite copy. Then, for a real check:
  1. Confirm your workspace has an active number under Outreach → Phone Numbers.
  2. Add yourself as a candidate with your real mobile number (with country code, for example +15551234567).
  3. Invite yourself and complete the SMS flow on your phone.
  4. Confirm nudges, dealbreakers, and the handoff to the next stage behave as expected.
Also check Nudge & Timing Settings (cooldown, max nudges, blackout window) so your test matches what candidates will see. See SMS Interviews.

The AI interviewer

How do I customize the AI interviewer’s personality or tone? A few places, depending on what you want to change:
  • Context (company and role): add company info, role details, hiring process, and interview style so the AI represents your brand.
  • Custom messages: edit the intro, welcome-back, and closing messages for voice/video.
  • SMS messages: customize intro, follow-ups, disqualification, and call-invite copy. Use the recommended SMS prompt version, not legacy v1.
  • Voice and accent: pick a matching voice under the Voice/Video identity settings, or browse AI → Languages & Voices.
  • Workspace defaults: Settings → Company Settings for name, logo, default URL, and candidate communication settings. AI → Knowledge Base for workspace-wide facts.
Keep context short and role-specific, and use the same style across invites, SMS, and the interview. See Voice Interviews. Does HeyMilo support multiple languages? How does auto-detection work? HeyMilo supports 18+ languages and dialects. Set a Default Interviewer Language in Essential Settings; for voice/video also pick a matching voice and accent under AI → Languages & Voices. Auto-detection (beta): the interview starts in your default language. If the candidate answers in another language, the AI can switch. Turn it on in Essential Settings → Multilingual Auto-Detection. SMS language follows Essential Settings. Recruiter-facing analysis stays in English. Transcripts stay in the language the interview was held in. Modern (multilingual) PDF reports come in 16+ languages, and Classic reports are English only. Need a language we don’t list? Email support@heymilo.ai. See Multilingual Support and Languages & Voices. Which agent or model version should I use? Manage versions under AI → Agent Library. Current versions: Voice v3 for voice/video, SMS v4 (Frontier) for SMS where enabled (v3 still supported, avoid v1), Resume v1, Form v1. If a newer version is available in your workspace, you can select it there. See Agent Library. Can the AI ask follow-up questions? Depends on the stage:
  • Voice/Video: yes, based on the candidate’s answers and your rubric. Control depth with the Follow-ups Range setting. See Follow-up questions.
  • SMS v4 (Frontier): yes, conversational follow-ups; can nudge or escalate to a call when configured.
  • SMS v3: structured yes/no and numeric questions only, no conversational follow-ups.
  • Form: no follow-ups.
Check which SMS agent is enabled under AI → Agent Library. Do candidates know they’re talking to AI? Yes. Candidates are told at the start that they’re completing an AI-assisted screening. See Talking to Candidates About AI.

Workflow design

What’s the difference between SMS and Phone interview stages?
  • SMS is a text stage. Candidates reply at their own pace. It supports yes/no and numeric questions (1–6; 3 recommended). Best for high-volume screening and auto-disqualifying on dealbreakers when enforcement is on. Usually a few minutes.
  • Phone is one way to take the Voice/Video stage; candidates can also use browser voice or video. It’s a live conversation with follow-ups, rubric scoring, and optional integrity detection. Usually 10–20 minutes.
SMS and phone calls both need a workspace number under Outreach → Phone Numbers. Browser voice/video works anywhere without one. Rule of thumb: use SMS for speed and knockout questions; use phone or voice/video for depth and for scoring candidate answers. See SMS Interviews, Voice Interviews, and Interview Types. When should I use a Form screening stage? When you want consistent, structured answers before a conversation: availability, work authorization, certifications and licenses, location or commute, experience confirmations. You can set dealbreakers and qualification criteria. Turn on Enforce Criteria if failed dealbreakers should stop a candidate from progressing. Without it, candidates can continue even if they fail one. Forms also include cheat-prevention controls. See Form Interviews. Can candidates retake interviews? Yes, and it’s configurable at two levels:
  • Per interviewer: Settings tab → Timeline & Completion → Interview Retake Policy. Turn retakes on or off for candidates who don’t pass, set Max retakes (0–10; 0 = off), and a cooldown in days (0 = immediate). A common start is 1 retake with a 0–1 day cooldown.
  • Per candidate: open the profile → Allow Retake. This overrides the interviewer setting for that one person, useful after a technical issue.
Previous attempts stay visible and retakes use the same scoring. See Interview Settings. How do deadlines and completion rules work? Both live under Settings tab → Timeline & Completion. Deadlines: Interview Deadline is a hard cutoff (no starting or continuing after it). Days to Complete is how long a candidate has once invited. HeyMilo sends reminders, including a final one before expiry. Completion rules by stage: SMS uses Enforce Required Qualifications to auto-disqualify on failed criteria. Form requires all questions; dealbreakers only block progression when Enforce Criteria is on. Voice/Video can require a minimum score with Enforce Objective Evaluation. Resume uses required qualifications plus a minimum score. Qualified candidates then see a Schedule button if you added a scheduling link. See Timeline & expiration. What is “advanced context” and how should I use it? Optional company and role guidance for the AI so it stays on-brief and asks better follow-ups. Candidates don’t see it verbatim. You can add Company Overview, Job Overview, Hiring Process, Interview Style & Approach / Instructions, and what “good” looks like. The full JD isn’t passed into the live prompt automatically. Use Populate from JD, then trim to what the AI needs. After go-live, edits are capped: 800 characters each for Company Overview, Job Overview, and Interview Process; 2000 for Instructions. Context can be shared across stages or overridden per stage. For facts the AI should always know, use AI → Knowledge Base. See Voice Interviews and Knowledge Base. How detailed should company and role info be? Short but specific. Company: name, industry, size, culture, enough to represent your brand (800 characters after go-live). Role: clear description, 3–5 must-haves, nice-to-haves, culture-fit criteria (800 characters for Job Overview). Instructions: how the AI should run the interview (2000 characters). Start with Populate from JD and cut anything the live conversation doesn’t need. How does interview style and approach affect results? Interview Style & Approach (in Advanced Context / Instructions) shapes how the AI reads answers, how deep it goes on follow-ups, and how it scores against your criteria. It’s internal guidance, not shown to candidates. You can also tune live-call pacing in Voice/Video Advanced settings: silence before a prompt, max reminders, warn-before-ending, and when to end an inactive interview. Start with defaults, then Test Now. More follow-ups means deeper insight; fewer (0–1) means faster screening and higher completion. See Configuring Your AI Interviewer.

Candidates and branding

What do candidates need to complete an interview? Voice: a phone. Video: any device with a browser. SMS: a phone that can text. Forms: any device with a browser. No apps to install. Can I customize email templates and use my own branding? Yes, in five places:
  • Outreach → Email Templates: edit invites, nudges, resume requests, and more. Group templates and apply a group in Communication & Branding during setup.
  • Outreach → Sender Domains: send from your own domain.
  • Outreach → Interview Branding: logo, company name, hide “Powered by HeyMilo,” legal links on candidate pages.
  • Outreach → Custom Domains: branded interview links like interviews.yourcompany.com.
  • Settings → Company Settings: default name, logo, and interview URL.
If a template type is missing from your group, HeyMilo uses the system default. Branding changes apply to new candidate sessions after saving. See Email Templates, Sender Domains, Interview Branding, and Custom Domains. Where do candidates see Terms and Privacy? And where is the HeyMilo Trust Center? Two different things. What candidates see: by default, the interview landing page links to HeyMilo’s standard Terms of Service and Privacy Policy. To show your own company’s policies instead, add your Privacy, Terms, and Support URLs on the Welcome template under Outreach → Interview Branding. Candidates then see your links on the welcome step. Use full https:// links. HeyMilo’s security and compliance docs (for your team): open Trust Center from Resources & Support on the dashboard, or go to trust.heymilo.ai for SOC 2, privacy, and vendor due diligence. Workspace compliance settings (GDPR/HIPAA modes, audit logs) are under Compliance in the sidebar. HeyMilo’s automated emails may reference HeyMilo’s own candidate privacy notice. See Interview Branding and Compliance. If candidates reply to our interview invite email, who gets the reply? Outbound mail can show your verified From address (see Sender Domains), but replies usually go to support@heymilo.ai, not your recruiters. Reply-To isn’t configurable in the app today. Don’t tell candidates to “reply to this email” unless your team knows where replies land. See From address vs replies. Can I connect my scheduling tool? Yes. On the interviewer’s Settings tab → Root Level Configuration → Advanced → Scheduling URL, paste a link from Calendly, Cal.com, HubSpot, Microsoft Bookings, or similar. Only qualified candidates see the Schedule button on their status page. The button isn’t auto-emailed, so add the same link to your email or SMS templates if you want it in outreach. You can also set a Redirect URL in the same spot for everyone who finishes. HeyMilo also has built-in self-scheduling if you’d rather book inside the product. See Scheduling.

Results and scoring

How are candidates scored on voice and video interviews? The AI scores each answer against the rubric you wrote for that question, on a 1–5 scale. You define what a 1 and a 5 look like, and the AI infers 2–4. Each question also has a weight from 1 to 10, so more important questions count more. The overall score is 0–100. It’s a weighted average of the scored questions the candidate completed. Some things don’t feed the 0–100 score:
  • Structured questions (dealbreakers, yes/no, numeric, multiple choice) are pass/fail.
  • Tags like location or certifications are extracted for filtering only.
  • The speech score on voice/video reports measures clarity and delivery. It’s shown separately and doesn’t affect pass/fail.
Recruiters can override any AI score. HeyMilo never auto-advances a candidate; your team makes every hiring decision. Other stages score differently. Resume uses required qualifications plus a match score. Form and SMS use pass/fail criteria. See the stage guides under Interviews. Rough guide: 90–100 exceptional, 80–89 strong, 70–79 good, 60–69 average, below 50 likely not a fit. See How Scoring Works. Are scores comparable across interviewers? Only loosely. Scores are relative to each interviewer’s rubric. A 4.0 on one isn’t the same as a 4.0 on another if the rubrics differ in strictness. Scores feel too strict or too lenient across the board? Tune workspace-wide scoring with Knowledge Base prompts. See Adjusting Scoring. What does the candidate report include? The candidate profile page brings everything together:
  • Overall score (0–100) and per-question scores with the AI’s reasoning
  • Highlights and lowlights
  • Full transcript and recording
  • Tags and skill highlights
  • A scorecard for each stage (Resume, Form, SMS, Voice/Video)
  • Speech score on voice/video interviews
  • Integrity flags, if enabled, on the Verify tab
  • Notes, Diagnostics, and Contact History
From the profile’s Download menu: view the report in a new tab, download a PDF (Modern multilingual or Classic English), or a Package ZIP with PDF, resume, video, audio, transcript, and highlights (emailed to you). You can also Share a read-only link, Shortlist, Dismiss, or Allow Retake. See Reviewing Candidates. How does interview integrity / cheat detection work for voice and video? Turn it on as a workspace default under AI → Interview Integrity, or per interviewer in the Voice/Video step → Settings (overrides the default). When on, HeyMilo flags things like AI-generated answers, coaching, a second person, or identity swaps. To review flags, open the candidate’s profile page and click the Verify tab. It sits alongside the transcript, recording, and scorecard tabs. Flags are informational only. They don’t reject or disqualify anyone and don’t change the score. Your team reviews them alongside the transcript and recording and makes the call. See Interview Integrity and Interpreting Cheat Detection. Can I customize evaluation criteria? Yes. Every stage has a Questions & Scoring section where you control what gets asked and how it’s graded. For each question you can:
  • Edit, replace, add, or delete it, and drag to reorder.
  • Choose the type: scored (1–5), structured (pass/fail), or informational (no score).
  • Set the weight, mark it as a dealbreaker, and set how many follow-ups the AI can ask.
  • Describe what a good answer looks like, or let AI generate the criteria for you.
For workspace-wide defaults, use AI → Interview Evaluation and AI → Knowledge Base. One limit: once a candidate completes an interview, that interviewer’s questions and scoring lock so results stay comparable. To change them after that point, use Duplicate Interviewer and edit the copy. See Configuring Your AI Interviewer. How do I change questions after an interviewer is live? You can keep editing until candidates complete interviews. After that, questions and scoring lock. To change them:
  1. Open the interviewer → Duplicate Interviewer (or Actions → Clone).
  2. Make your changes in the copy.
  3. Preview and Test Now.
  4. Use the new interviewer going forward.
The original and its results stay unchanged. See Cloning, Editing & Archiving. Can I export results? Yes. Per candidate: PDF reports and Package ZIP (resume, video, audio, transcript). Workspace-wide: Settings → Data export → New export for CSV, Excel, or JSON reporting. See Reviewing Candidates and Exporting Workspace Data.

Integrations

Does HeyMilo integrate with my ATS? Yes, with a wide range of platforms. To see which ones, open Integrations in your HeyMilo workspace for the full list of available ATS connections, or check ATS Integrations on this site. Integrations sync candidates in and write scores, notes, and stage updates back. Setup is OAuth, API keys, or webhooks depending on the ATS. You can also import jobs from your ATS to auto-create interviewers. Does writeback happen automatically? Yes, once configured. Scores, notes, stage moves, and attachments sync back with no manual steps. See Write-back Configs. Can I use HeyMilo without an ATS? Yes, and most self-serve teams do. Share the interviewer link or QR code, add candidates manually (unique per-person link), bulk upload via the Ingestion Gateway, connect Indeed so applications email into the agent, or use the agent’s Apply Email. See Inviting Candidates and Integrating with Indeed. Are there webhook or API options? Yes, both. Webhooks send real-time updates when an interview starts, completes, or a report is ready; attach them on the agent’s Integrations tab or via the API. API access uses a key from Integrations → API Keys (header X-API-KEY) to manage interviewers, ingest candidates, read interview data, and more. See API Overview, API Keys, and Webhooks. Developer questions are in the Developers & API section below and the API & Integration FAQ.

Phone numbers and global use

Does HeyMilo work in different countries? Yes, with a few channel differences:
  • Browser voice/video: works worldwide. Candidates need a modern browser and a stable connection; no phone number required.
  • SMS and phone calls: HeyMilo currently provisions US and Canadian phone numbers, managed under Outreach → Phone Numbers. If you’re hiring outside the US and Canada, contact support@heymilo.ai before you launch so we can confirm what’s possible for your region, or use email plus browser voice/video instead.
  • Email: works anywhere once a sender domain is verified.
  • Languages: 18+ interview languages with matching voices and accents. Need one we don’t list? Ask your CS Manager or support@heymilo.ai.
See Phone Numbers and Multilingual Support. How do I get a phone number for my workspace? Go to Outreach → Phone Numbers → Contact Support, or email support@heymilo.ai. Tell us the country or region you’re hiring in. You need an active number for SMS and phone interviews; browser voice/video doesn’t need one. Phone numbers aren’t available on the Trial Plan (see the next question). See Phone Numbers. Can I get a phone number or use SMS during my trial? No. Phone number provisioning and SMS screening aren’t included in the Trial Plan; they come with a paid subscription. Everything else works on trial, so test with browser voice/video, forms, and resume stages, and talk to Sales or your CS Manager about plan options when you’re ready to add SMS or phone calls. See Billing. Are there timezone-based sending options for SMS? Yes. On the SMS stage under Nudge & Timing Settings you can set a timezone (IANA format, for example America/Vancouver), a blackout window (start and end hour), a cooldown before nudging (default 24 hours), and max nudges (default 3). You can also set a workspace-level blackout in Settings → Company Settings. One-off SMS blasts control content, eligibility (prior SMS engagement required), and rate limiting (once per hour per candidate) but don’t have a separate timezone window yet. See SMS Interviews.

Interview experience

The transcript says “Interviewer Sara” but I named my interviewer something else. Why? “Sara” in the transcript is a fixed label on the transcript view. It doesn’t come from your settings, and the AI doesn’t use it. The AI introduces itself with the interviewer name you set. If you rename your interviewer, the change applies to future interviews only. What does the “Don’t Interrupt Me” button do for candidates? It pauses or resumes the interviewer’s speech. It doesn’t change how the AI handles interruptions or turn-taking, so if the interviewer wasn’t talking when the candidate clicked it, nothing visible happens. It can’t be turned off or hidden. Which Knowledge Base scope should hold facts the interviewer should say out loud? Put anything the AI should bring up on its own in the posting overview fields (job, company, interview process) with delivery set to Exact or Summarized. Interviewer Knowledge is used when a candidate asks a question — not for scripted intro content. See Knowledge Base. When should the interviewer use Knowledge Base vs say “the team will follow up”? The AI tries the posting overview first, then Interviewer Knowledge. If neither covers the question, it defers to the team. Keep Interviewer Knowledge concise so matches are reliable. Where do candidate questions appear in the dashboard? When candidate questions is enabled on the posting, questions the AI could not answer show in the posting Inbox (Beta) tab and the candidate’s Inbox tab. All other candidate questions appear only in the transcript. Why is the Activity tab empty? Activity lists HeyMilo outreach (invites, reminders, SMS) with email delivery status, interview milestones, and candidate link visits. It stays empty when HeyMilo has not contacted the candidate yet (for example your ATS sent the link) and they have not opened it. Why does the interviewer ask a follow-up and jump to the next question? That is not expected behavior. We have reduced how often it occurs, but it can still happen. Send support@heymilo.ai the interview ID if you need help reviewing a session. Can the interviewer ask only one question at a time? The AI is instructed to ask one question at a time. You can reinforce that with custom instructions and by limiting follow-ups in your posting setup. Why does the AI end the call early? Normally the interviewer runs through your questions, any closing guidance, then ends. Occasionally the model may end early (hallucination); this is uncommon (typically under about 4% of interviews). Candidates can usually resume on the same link; contact support with interview IDs if you see a pattern on one posting. Ending behavior is not fully deterministic — the model decides based on progress, follow-ups, closing rules, and cases where the candidate asks to stop. You cannot disable AI-initiated hang-up in settings today. Status and scores do not depend on who ended the call; they depend on saved session data and whether the interview met the completion threshold for processing. If the candidate closes the browser instead of clicking Leave, what changes? Status and webhooks follow the same rules either way — what matters is how many questions were answered. The candidate can resume on the same link. Can I finalize an interview stuck in progress from the dashboard? No. Refresh analysis re-runs analysis but will not mark complete an interview with too few answers. There is no manual finalize button. Contact support@heymilo.ai if you need a report_available webhook re-sent after review. How often do interviews get stuck or stay incomplete? There is no single platform-wide percentage. Processing delays are usually picked up by background jobs; device issues vary by candidate; model-related glitches (including odd hang-ups) are uncommon. Drop-off without finishing depends heavily on role, industry, and audience. Use Analytics → Funnel & Conversion for your workspace and send support interview IDs for one-off stuck sessions. Can I turn off the incomplete-interview reminder email? Yes. Turn off reminders in workspace or posting communication settings, or remove the reminder template from the email template group. HeyMilo sends at most two reminders, only to candidates who have not started. Can incomplete-interview emails use my verified sender? Yes, when the posting or template group uses a verified sender domain. Status page looks wrong on desktop — is that a known issue? Yes. Layout issues on the candidate status page above typical mobile widths are a known bug and are being addressed. Where do I set data retention for compliance? Go to Settings → Compliance → Retention. It covers request retention (grace period before deletion runs), archive retention (how long archived records are kept), and an optional Delete inactive candidates policy. Defaults are on the Compliance page. That’s separate from how long interview recordings are kept; for a specific recording retention period for a privacy notice, ask support@heymilo.ai. What happens to our data if we cancel or don’t renew? New screening stops when your subscription ends, but nothing already saved in your ATS is deleted. Retention in HeyMilo follows your contract and DPA — many customers have a window after termination (often around 60 days) to access and export data before it’s deleted or de-identified. Export what you need before your last day. Full details: Offboarding, Exports & Data Retention.

Troubleshooting

Why does my posting show something like $1.1k / $100 spend? Is my budget broken? Usually not. Spend is what you’ve used toward the budget cap you set, not all-time spend on the role. If the numbers look mismatched, check that you’re reading spent vs cap for the current budget. Hover for budget left and amount held for interviews in progress; red means the cap is reached. Change the cap with the pencil on Spend or in the interviewer Settings tab. See How to read Spend. Candidates say they can’t access the interview link. What should I check? In this order:
  1. Credits: Settings → Billing. If credits are used up, candidates may not be able to start. This is the most common cause.
  2. Deadline: Settings tab → Timeline & Completion (posting deadline or days to complete).
  3. Agent status: confirm the interviewer is published and not archived.
  4. Link: resend from the candidate profile or copy a fresh link. Try it yourself.
If those look fine, send support the link, interviewer name, candidate email, and a screenshot of what the candidate sees. See Troubleshooting. Why are candidates dropping off? My completion rate is low. Start in the interviewer’s Analytics tab → Funnel & Conversion → Drop-off Rate to see where people leave. Then check these common causes:
  • Length: shorter interviews generally get higher completion rates, so trimming is the first thing we recommend. As a guide, 5–7 voice questions, 3 SMS questions, and under 15 minutes total work well. Longer interviews can still work if the role calls for it.
  • Trust: candidates don’t recognize the sender. Verify Sender Domains and brand your links.
  • Timing: invites at low-engagement hours. Use SMS blackout windows; send reminders 2–3 days after the first invite.
  • Setup: confirm the agent is Active, the link is correct, and required stages aren’t blocking people with missing data.
  • Enforcement: on Form stages, confirm whether Enforce Criteria is on if dealbreakers should stop people.
  • Filters: make sure you’re looking at the right agent, date range, and candidate set.
See Dashboard & Analytics and Inviting Candidates. Why didn’t a candidate receive an SMS or email?
  • Contact info: SMS needs a valid mobile number with country code; email needs a valid address.
  • Channel setup: SMS needs an active number under Outreach → Phone Numbers. SMS blasts only go to candidates with prior SMS engagement and skip anyone messaged in the last hour. Unverified sender domains raise bounce risk.
  • Communications off: if Turn Off All Candidate Communications is on in Settings → Company Settings, all automated email and SMS stop.
To investigate, open the candidate profile → Contact History for email statuses (Delivered, Opened, Bounced, Dropped) and blast skip reasons. If a web interview won’t start, also check for a typo in a custom intro variable (for example {{candidate_nam}} instead of {{candidate_name}}). See Candidate Messaging and Troubleshooting. What happens if a phone or voice interview disconnects? When the candidate reconnects they’re usually prompted to pick up where they left off; they don’t normally restart. Retake settings apply only to interviews already marked complete, not mid-interview drops. If someone still can’t get back in, check the deadline and days to complete, confirm the agent is still published, and send support the candidate email and interviewer name if it persists. See Voice Interview Reliability. Scores seem off (too high or too low) Review your rubrics; they may be too strict or lenient. Read a few full transcripts next to their scores to calibrate. For workspace-wide tuning, see Adjusting Scoring. My ATS integration isn’t syncing Check that the connection is still active in Integrations and that credentials haven’t expired. Then open your provider’s ATS quickstart. Tracker only: Tracker allows one API token at a time. If someone generates a new token in Tracker, HeyMilo stops syncing until support updates the connection. Copy the existing token (don’t regenerate), send it through the secure link support provides, and do not disconnect Tracker in HeyMilo or you’ll lose job mappings. See Tracker — sync stopped. For other ATS tools, disconnecting and reconnecting is sometimes enough after credentials expire.

Developers & API

Short versions of the most common developer questions. Full detail, code samples, and more are in the API & Integration FAQ. How do I verify that a webhook came from HeyMilo? Webhooks created through the v2 or v4 endpoints are signed with HMAC-SHA256. The create response includes a signing_secret; each delivery carries an X-HeyMilo-Signature header. See Verifying Webhook Signatures. Can I retrieve or rotate a webhook’s signing secret? No. It’s returned once at creation. If you lose it, delete the webhook and create a new one. When does the report_available webhook fire? After interview_completed, once AI analysis finishes, usually seconds to a few minutes later. See Event lifecycle. Can I ingest candidates through the API? Yes. POST /api/v2/postings/{posting_id}/candidates, plus async and bulk variants. The in-app Ingestion Gateway (CSV and resume upload) is separate from the API. See API Overview. Can I set Reply-To on emails through the API or app? No. Sender Domains control From, not Reply-To. Replies go to support@heymilo.ai. See From address vs replies. Where are per-tag scores and knockouts in the API? Typed tag values are in web_interview.tag_results[]; knockouts are in structured_questions. See the API & Integration FAQ. Can I ingest a resume with the sync API? Pass metadata.resume_url or use the resume step — no file upload on ingest. URL requirements are in the API & Integration FAQ.

Still need help?

Email support@heymilo.ai or use the in-app chat. Include your workspace, interviewer name, and a screenshot when you can.